BunnyCDN-DE1-1078
tcp/443 tcp/80
BunnyCDN-DE1-1081
tcp/443 tcp/80
BunnyCDN-DE1-1333
tcp/443 tcp/80
BunnyCDN-DE1-752
tcp/443 tcp/80
BunnyCDN-DE1-756
tcp/443 tcp/80
BunnyCDN-DE1-863
tcp/443 tcp/80
nginx 1.22.1
tcp/443 tcp/80
Open service 51.159.238.59:443 路 origin.freesewing.dev
2026-01-11 16:22
HTTP/1.1 200 OK
Server: nginx/1.22.1
Date: Sun, 11 Jan 2026 16:22:57 GMT
Content-Type: text/html
Content-Length: 24237
Last-Modified: Thu, 02 Oct 2025 08:21:28 GMT
Connection: close
ETag: "68de3608-5ead"
Accept-Ranges: bytes
Page title: FreeSewing documentation for developers and contributors | FreeSewing
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.1">
<title data-rh="true">FreeSewing documentation for developers and contributors | FreeSewing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" name="twitter:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" property="og:url" content="https://freesewing.dev/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="FreeSewing documentation for developers and contributors | FreeSewing"><meta data-rh="true" name="description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><meta data-rh="true" property="og:description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://freesewing.dev/"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VBV9JOCO5C-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="search" type="application/opensearchdescription+xml" title="FreeSewing" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.17952fce.css">
<script src="/assets/js/runtime~main.6e309f84.js" defer="defer"></script>
<script src="/assets/js/main.fa8c4a3c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme-choice","system"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo
Open service 51.159.238.59:80 路 origin.freesewing.dev
2026-01-11 16:22
HTTP/1.1 200 OK
Server: nginx/1.22.1
Date: Sun, 11 Jan 2026 16:22:57 GMT
Content-Type: text/html
Content-Length: 815
Last-Modified: Sat, 22 Mar 2025 15:07:53 GMT
Connection: close
ETag: "67ded249-32f"
Accept-Ranges: bytes
Page title: FreeSewing
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FreeSewing</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<div class="wrapper">
<span></span>
<div class="msg">
<h1><span role="img">馃憢</span></h1>
<h2>This is the FreeSewing backend</h2>
<p>
For info about FreeSewing, try <a href="https://freesewing.org/">freesewing.org</a> instead.
</p>
<p>
For info about this backend, refer to <a href="https://freesewing.dev/reference/backend">the FreeSewing backend refefence documentation</a>.
</p>
<p>
For questions, join us at
<a href="https://discord.freesewing.org/">discord.freesewing.org</a>
</p>
</div>
<img src="/avatar.svg" />
</div>
</body>
</html>
Open service 2400:52e0:1e00::1078:1:443 路 freesewing.dev
2026-01-09 15:05
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 15:05:19 GMT
Content-Type: text/html
Content-Length: 24237
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1078
CDN-PullZone: 4628038
CDN-RequestCountryCode: CA
Cache-Control: public, max-age=2592000
Last-Modified: Thu, 02 Oct 2025 08:21:28 GMT
CDN-ProxyVer: 1.38
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 10/13/2025 13:18:43
CDN-EdgeStorageId: 1081
CDN-RequestId: 9c96a9da5dcbb50aea2eefbf926cd666
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: FreeSewing documentation for developers and contributors | FreeSewing
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.1">
<title data-rh="true">FreeSewing documentation for developers and contributors | FreeSewing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" name="twitter:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" property="og:url" content="https://freesewing.dev/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="FreeSewing documentation for developers and contributors | FreeSewing"><meta data-rh="true" name="description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><meta data-rh="true" property="og:description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://freesewing.dev/"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VBV9JOCO5C-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="search" type="application/opensearchdescription+xml" title="FreeSewing" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.17952fce.css">
<script src="/assets/js/runtime~main.6e309f84.js" defer="defer"></script>
<script src="/assets/js/main.fa8c4a3c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme-choice","system"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo
Open service 138.199.37.231:80 路 freesewing.dev
2026-01-09 15:05
HTTP/1.1 301 Moved Permanently Date: Fri, 09 Jan 2026 15:05:19 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-863 CDN-PullZone: 4628038 CDN-RequestCountryCode: US Location: https://freesewing.dev/ CDN-RequestId: 76567523175941985185ed863c315454 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1e00::1078:1:80 路 freesewing.dev
2026-01-09 15:05
HTTP/1.1 301 Moved Permanently Date: Fri, 09 Jan 2026 15:05:19 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1078 CDN-PullZone: 4628038 CDN-RequestCountryCode: DE Location: https://freesewing.dev/ CDN-RequestId: 147eec423d08950c62f0438ef7a7179f CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 138.199.37.231:443 路 freesewing.dev
2026-01-09 15:05
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 15:05:19 GMT
Content-Type: text/html
Content-Length: 24237
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-863
CDN-PullZone: 4628038
CDN-RequestCountryCode: GB
Cache-Control: public, max-age=2592000
Last-Modified: Thu, 02 Oct 2025 08:21:28 GMT
CDN-ProxyVer: 1.38
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 10/13/2025 13:18:43
CDN-EdgeStorageId: 1081
CDN-RequestId: 73468fc14ebc6e64bbd8f37bf153968f
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: FreeSewing documentation for developers and contributors | FreeSewing
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.1">
<title data-rh="true">FreeSewing documentation for developers and contributors | FreeSewing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" name="twitter:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" property="og:url" content="https://freesewing.dev/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="FreeSewing documentation for developers and contributors | FreeSewing"><meta data-rh="true" name="description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><meta data-rh="true" property="og:description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://freesewing.dev/"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VBV9JOCO5C-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="search" type="application/opensearchdescription+xml" title="FreeSewing" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.17952fce.css">
<script src="/assets/js/runtime~main.6e309f84.js" defer="defer"></script>
<script src="/assets/js/main.fa8c4a3c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme-choice","system"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo
Open service 89.187.169.47:80 路 cdn.freesewing.dev
2026-01-09 15:05
HTTP/1.1 301 Moved Permanently Date: Fri, 09 Jan 2026 15:05:13 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-756 CDN-PullZone: 4628038 CDN-RequestCountryCode: US Location: https://cdn.freesewing.dev/ CDN-RequestId: 96f745912cea772c020a4c3411f74a6b CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 89.187.169.47:443 路 cdn.freesewing.dev
2026-01-09 15:05
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 15:05:12 GMT
Content-Type: text/html
Content-Length: 24237
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-756
CDN-PullZone: 4628038
CDN-RequestCountryCode: US
Cache-Control: public, max-age=2592000
Last-Modified: Thu, 02 Oct 2025 08:21:28 GMT
CDN-ProxyVer: 1.38
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 10/13/2025 13:18:43
CDN-EdgeStorageId: 1081
CDN-RequestId: b6803d39d1b31af96befb93620075325
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: FreeSewing documentation for developers and contributors | FreeSewing
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.1">
<title data-rh="true">FreeSewing documentation for developers and contributors | FreeSewing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" name="twitter:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" property="og:url" content="https://freesewing.dev/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="FreeSewing documentation for developers and contributors | FreeSewing"><meta data-rh="true" name="description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><meta data-rh="true" property="og:description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://freesewing.dev/"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VBV9JOCO5C-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="search" type="application/opensearchdescription+xml" title="FreeSewing" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.17952fce.css">
<script src="/assets/js/runtime~main.6e309f84.js" defer="defer"></script>
<script src="/assets/js/main.fa8c4a3c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme-choice","system"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo
Open service 2400:52e0:1e00::752:1:80 路 cdn.freesewing.dev
2026-01-09 15:05
HTTP/1.1 301 Moved Permanently Date: Fri, 09 Jan 2026 15:05:12 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-752 CDN-PullZone: 4628038 CDN-RequestCountryCode: US Location: https://cdn.freesewing.dev/ CDN-RequestId: e02c49697a81981490583024904164c9 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1e00::752:1:443 路 cdn.freesewing.dev
2026-01-09 15:05
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 15:05:12 GMT
Content-Type: text/html
Content-Length: 24237
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-752
CDN-PullZone: 4628038
CDN-RequestCountryCode: US
Cache-Control: public, max-age=2592000
Last-Modified: Thu, 02 Oct 2025 08:21:28 GMT
CDN-ProxyVer: 1.38
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 10/13/2025 13:18:43
CDN-EdgeStorageId: 1081
CDN-RequestId: 87d6943ac3ad124a8bf06318300ceab7
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: FreeSewing documentation for developers and contributors | FreeSewing
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.1">
<title data-rh="true">FreeSewing documentation for developers and contributors | FreeSewing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" name="twitter:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" property="og:url" content="https://freesewing.dev/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="FreeSewing documentation for developers and contributors | FreeSewing"><meta data-rh="true" name="description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><meta data-rh="true" property="og:description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://freesewing.dev/"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VBV9JOCO5C-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="search" type="application/opensearchdescription+xml" title="FreeSewing" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.17952fce.css">
<script src="/assets/js/runtime~main.6e309f84.js" defer="defer"></script>
<script src="/assets/js/main.fa8c4a3c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme-choice","system"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo
Open service 51.159.238.59:443 路 coder.freesewing.dev
2025-12-30 10:03
HTTP/1.1 200 OK
Server: nginx/1.22.1
Date: Tue, 30 Dec 2025 10:03:35 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 814
Connection: close
X-Powered-By: Express
Access-Control-Allow-Origin: *
ETag: W/"32e-GGduRTa8Lmr/Gp7B4e9ACy5Ziz4"
Page title: FreeSewing
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FreeSewing</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<div class="wrapper">
<span></span>
<div class="msg">
<h1><span role="img">馃憢</span></h1>
<h2>This is the FreeSewing backend</h2>
<p>
For info about FreeSewing, try <a href="https://freesewing.org/">freesewing.org</a> instead.
</p>
<p>
For info about this backend, refer to <a href="https://freesewing.dev/reference/backend">the FreeSewing backend refefence documentation</a>.
</p>
<p>
For questions, join us at
<a href="https://discord.freesewing.org/">discord.freesewing.org</a>
</p>
</div>
<img src="/avatar.svg" />
</div>
</body>
</html>
Open service 51.159.238.59:80 路 coder.freesewing.dev
2025-12-30 10:03
HTTP/1.1 200 OK
Server: nginx/1.22.1
Date: Tue, 30 Dec 2025 10:03:35 GMT
Content-Type: text/html
Content-Length: 815
Last-Modified: Sat, 22 Mar 2025 15:07:53 GMT
Connection: close
ETag: "67ded249-32f"
Accept-Ranges: bytes
Page title: FreeSewing
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FreeSewing</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<div class="wrapper">
<span></span>
<div class="msg">
<h1><span role="img">馃憢</span></h1>
<h2>This is the FreeSewing backend</h2>
<p>
For info about FreeSewing, try <a href="https://freesewing.org/">freesewing.org</a> instead.
</p>
<p>
For info about this backend, refer to <a href="https://freesewing.dev/reference/backend">the FreeSewing backend refefence documentation</a>.
</p>
<p>
For questions, join us at
<a href="https://discord.freesewing.org/">discord.freesewing.org</a>
</p>
</div>
<img src="/avatar.svg" />
</div>
</body>
</html>
Open service 2400:52e0:1e00:2::1333:1:80 路 freesewing.dev
2025-12-22 01:02
HTTP/1.1 301 Moved Permanently Date: Mon, 22 Dec 2025 01:02:49 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1333 CDN-PullZone: 4628038 CDN-RequestCountryCode: US Location: https://freesewing.dev/ CDN-RequestId: 5ea622c82a5c5073f15f9e8357c8f717 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 169.150.247.38:80 路 freesewing.dev
2025-12-22 01:02
HTTP/1.1 301 Moved Permanently Date: Mon, 22 Dec 2025 01:02:49 GMT Content-Type: text/html Content-Length: 166 Connection: close Server: BunnyCDN-DE1-1081 CDN-PullZone: 4628038 CDN-RequestCountryCode: US Location: https://freesewing.dev/ CDN-RequestId: a100d1de3b66719706eeffa25de893f7 CDN-RequestTime: 0 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>openresty</center> </body> </html>
Open service 2400:52e0:1e00:2::1333:1:443 路 freesewing.dev
2025-12-22 01:02
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 01:02:48 GMT
Content-Type: text/html
Content-Length: 24237
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1333
CDN-PullZone: 4628038
CDN-RequestCountryCode: NL
Cache-Control: public, max-age=2592000
Last-Modified: Thu, 02 Oct 2025 08:21:28 GMT
CDN-ProxyVer: 1.38
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 10/13/2025 13:18:43
CDN-EdgeStorageId: 1081
CDN-RequestId: 84a19510283317ed7f2c1d46c64a7c54
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: FreeSewing documentation for developers and contributors | FreeSewing
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.1">
<title data-rh="true">FreeSewing documentation for developers and contributors | FreeSewing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" name="twitter:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" property="og:url" content="https://freesewing.dev/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="FreeSewing documentation for developers and contributors | FreeSewing"><meta data-rh="true" name="description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><meta data-rh="true" property="og:description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://freesewing.dev/"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VBV9JOCO5C-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="search" type="application/opensearchdescription+xml" title="FreeSewing" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.17952fce.css">
<script src="/assets/js/runtime~main.6e309f84.js" defer="defer"></script>
<script src="/assets/js/main.fa8c4a3c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme-choice","system"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo
Open service 169.150.247.38:443 路 freesewing.dev
2025-12-22 01:02
HTTP/1.1 200 OK
Date: Mon, 22 Dec 2025 01:02:48 GMT
Content-Type: text/html
Content-Length: 24237
Connection: close
Vary: Accept-Encoding
Server: BunnyCDN-DE1-1081
CDN-PullZone: 4628038
CDN-RequestCountryCode: NL
Cache-Control: public, max-age=2592000
Last-Modified: Thu, 02 Oct 2025 08:21:28 GMT
CDN-ProxyVer: 1.38
CDN-RequestPullSuccess: True
CDN-RequestPullCode: 206
CDN-CachedAt: 10/13/2025 13:18:43
CDN-EdgeStorageId: 1081
CDN-RequestId: 5ff976da5eff4d98c74772ab788ddb77
CDN-Cache: HIT
CDN-Status: 200
CDN-RequestTime: 0
Accept-Ranges: bytes
Page title: FreeSewing documentation for developers and contributors | FreeSewing
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.1">
<title data-rh="true">FreeSewing documentation for developers and contributors | FreeSewing</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" name="twitter:image" content="https://freesewing.dev/img/freesewing-social-card.png"><meta data-rh="true" property="og:url" content="https://freesewing.dev/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="FreeSewing documentation for developers and contributors | FreeSewing"><meta data-rh="true" name="description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><meta data-rh="true" property="og:description" content="FreeSewing is an open source Javascript library for parametric sewing patterns"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://freesewing.dev/"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://freesewing.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VBV9JOCO5C-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="search" type="application/opensearchdescription+xml" title="FreeSewing" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.17952fce.css">
<script src="/assets/js/runtime~main.6e309f84.js" defer="defer"></script>
<script src="/assets/js/main.fa8c4a3c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),document.documentElement.setAttribute("data-theme-choice","system"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/logo