marco 3.2
tcp/443 tcp/80
Open service 240e:979:800:150::a1:80 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 301 Moved Permanently Server: marco/3.2 Date: Sun, 04 Jan 2026 23:50:42 GMT Content-Type: text/html Content-Length: 166 Connection: close Location: https://cdn.buslinedesigner.bobliu.tech/ Via: M.ctn-js-ynz-005 X-Request-Id: 8a17c0c6ad71dbde8b1d5dcc947622de Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>marco/3.2</center> </body> </html>
Open service 123.54.193.28:80 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 301 Moved Permanently Server: marco/3.2 Date: Sun, 04 Jan 2026 23:50:42 GMT Content-Type: text/html Content-Length: 166 Connection: close Location: https://cdn.buslinedesigner.bobliu.tech/ Via: M.ctn-ha-cgo-018 X-Request-Id: b9ab8996b546fe1d72e2761b840d6aee Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>marco/3.2</center> </body> </html>
Open service 240e:f7:4f00:250b::a1:80 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 301 Moved Permanently Server: marco/3.2 Date: Sun, 04 Jan 2026 23:50:42 GMT Content-Type: text/html Content-Length: 166 Connection: close Location: https://cdn.buslinedesigner.bobliu.tech/ Via: M.ctn-zj-jnh-228 X-Request-Id: 9a18a8204af9806b4a460190c8568ac5 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>marco/3.2</center> </body> </html>
Open service 240e:93c:1206:101::a1:80 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 301 Moved Permanently Server: marco/3.2 Date: Sun, 04 Jan 2026 23:50:42 GMT Content-Type: text/html Content-Length: 166 Connection: close Location: https://cdn.buslinedesigner.bobliu.tech/ Via: M.ctn-ha-cgo-018 X-Request-Id: 9c086ec8be8f7627a7c940f6da57bc49 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>marco/3.2</center> </body> </html>
Open service 218.92.216.55:80 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 301 Moved Permanently Server: marco/3.2 Date: Sun, 04 Jan 2026 23:50:42 GMT Content-Type: text/html Content-Length: 166 Connection: close Location: https://cdn.buslinedesigner.bobliu.tech/ Via: M.ctn-js-ynz-004 X-Request-Id: 3f1f5d110930ea811fa0455bfc8aa526 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>marco/3.2</center> </body> </html>
Open service 218.92.216.55:443 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 200 OK
Server: marco/3.2
Date: Sun, 04 Jan 2026 23:50:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
X-Source: C/200
X-Served-By: cache-nrt-rjtf7700026-NRT
Cache-Control: max-age=604800
ETag: "68eb2e6d-5e5b"
X-Timer: S1767478969.742299,VS0,VE187
X-Cache-Hits: 0
X-Proxy-Cache: MISS
X-Fastly-Request-Id: 1a6ee82b42892bae2687de9c232d3129e830b320
X-Shanks-Fake-Via: 1.1 varnish
Access-Control-Allow-Origin: *
Expires: Sat, 10 Jan 2026 22:22:48 GMT
Last-Modified: Sun, 12 Oct 2025 04:28:29 GMT
X-Github-Request-Id: 84C4:1DCEF1:9EC8872:A09FE74:695996B8
Age: 91674
X-Request-Id: 7f3fa6ff2e9059b21cc9aa751dc4f69e; e65eee5040134447e75a1f5a977b4cab
Via: S.mix-js-czx1-204, T.204.M, V.mix-js-czx1-206, T.6.H, M.ctn-js-ynz-004
Page title: Bus Line Designer
<!DOCTYPE html>
<html lang="zh" class="h-100">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Bus Line Designer,设计公交线路的小工具" />
<meta name="keywords" content="公交,公交线路,自制,设计" />
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
<meta name="baidu-site-verification" content="codeva-aa9SzesB6P" />
<title>Bus Line Designer</title>
<link rel="icon" href="assets/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="assets/bootstrap.min.css" />
<link rel="stylesheet" href="assets/style.css" />
<link rel="manifest" href="manifest.json" />
<script src="tools/jquery.min.js"></script>
<script src="tools/bootstrap.min.js"></script>
<script src="tools/vue.global.prod.js"></script>
<script src="tools/reactivity.global.prod.js"></script>
<script src="tools/crc32c.js"></script>
<script src="tools/deepclone.js"></script>
<script src="tools/utils.js"></script>
<script src="tools/clipboard.min.js"></script>
<script src="tools/jscolor.min.js"></script>
<script src="tools/html2canvas.min.js"></script>
<script src="tools/xlsx.full.min.js"></script>
<script src="https://webapi.amap.com/loader.js"></script>
<script src="tools/pako.min.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="exclamation-triangle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
<symbol id="check-circle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
</svg>
</head>
<body class="d-flex flex-column h-100" style="overflow-y:auto; overflow-x:hidden; height: 100%;">
<div id="app" class="d-flex flex-column h-100">
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="javascript: void(0)">Bus Line Designer</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-content">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-content">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript: void(0)" data-bs-toggle="dropdown">文件</a>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="javascript: void(0)" @click="newLine()">新建空白线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="downloadLine()">保存线路为文件</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" id="copyLine" :data-clipboard-text="JSON.stringify(lineFile)">保存线路至剪贴板</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="uploadLine()">从文件读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="pasteLine()">从剪贴板读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="loadLineFromReality()">读取现存线路</a></li>
<li><hr class="dropdown-divider" /></li>
<li><a class="dropdown-item" href="javascript: void(0)" :class="{ 'disabled': (!undoable || settings.general.enableUndoFunc.current != '1') }" v-text="settings.general.enableUndoFunc.curre
Open service 240e:979:800:150::a1:443 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 200 OK
Server: marco/3.2
Date: Sun, 04 Jan 2026 23:50:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
X-Source: C/200
X-Served-By: cache-nrt-rjtf7700026-NRT
Cache-Control: max-age=604800
ETag: "68eb2e6d-5e5b"
X-Timer: S1767478969.742299,VS0,VE187
X-Cache-Hits: 0
X-Proxy-Cache: MISS
X-Fastly-Request-Id: 1a6ee82b42892bae2687de9c232d3129e830b320
X-Shanks-Fake-Via: 1.1 varnish
Access-Control-Allow-Origin: *
Expires: Sat, 10 Jan 2026 22:22:48 GMT
Last-Modified: Sun, 12 Oct 2025 04:28:29 GMT
X-Github-Request-Id: 84C4:1DCEF1:9EC8872:A09FE74:695996B8
Age: 91674
X-Request-Id: 7f3fa6ff2e9059b21cc9aa751dc4f69e; ba22b0f65b13a9238f4dbab562226377
Via: S.mix-js-czx1-204, T.204.M, V.mix-js-czx1-206, T.6.H, M.ctn-js-ynz-004
Page title: Bus Line Designer
<!DOCTYPE html>
<html lang="zh" class="h-100">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Bus Line Designer,设计公交线路的小工具" />
<meta name="keywords" content="公交,公交线路,自制,设计" />
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
<meta name="baidu-site-verification" content="codeva-aa9SzesB6P" />
<title>Bus Line Designer</title>
<link rel="icon" href="assets/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="assets/bootstrap.min.css" />
<link rel="stylesheet" href="assets/style.css" />
<link rel="manifest" href="manifest.json" />
<script src="tools/jquery.min.js"></script>
<script src="tools/bootstrap.min.js"></script>
<script src="tools/vue.global.prod.js"></script>
<script src="tools/reactivity.global.prod.js"></script>
<script src="tools/crc32c.js"></script>
<script src="tools/deepclone.js"></script>
<script src="tools/utils.js"></script>
<script src="tools/clipboard.min.js"></script>
<script src="tools/jscolor.min.js"></script>
<script src="tools/html2canvas.min.js"></script>
<script src="tools/xlsx.full.min.js"></script>
<script src="https://webapi.amap.com/loader.js"></script>
<script src="tools/pako.min.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="exclamation-triangle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
<symbol id="check-circle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
</svg>
</head>
<body class="d-flex flex-column h-100" style="overflow-y:auto; overflow-x:hidden; height: 100%;">
<div id="app" class="d-flex flex-column h-100">
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="javascript: void(0)">Bus Line Designer</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-content">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-content">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript: void(0)" data-bs-toggle="dropdown">文件</a>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="javascript: void(0)" @click="newLine()">新建空白线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="downloadLine()">保存线路为文件</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" id="copyLine" :data-clipboard-text="JSON.stringify(lineFile)">保存线路至剪贴板</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="uploadLine()">从文件读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="pasteLine()">从剪贴板读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="loadLineFromReality()">读取现存线路</a></li>
<li><hr class="dropdown-divider" /></li>
<li><a class="dropdown-item" href="javascript: void(0)" :class="{ 'disabled': (!undoable || settings.general.enableUndoFunc.current != '1') }" v-text="settings.general.enableUndoFunc.curre
Open service 61.164.209.251:443 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 200 OK
Server: marco/3.2
Date: Sun, 04 Jan 2026 23:50:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
X-Source: C/200
X-Served-By: cache-sin-wsat1880069-SIN
Cache-Control: max-age=604800
ETag: "68eb2e6d-5e5b"
X-Timer: S1767179153.515589,VS0,VE275
X-Cache-Hits: 0
X-Proxy-Cache: MISS
X-Fastly-Request-Id: 064da1fe934771aebb764828a0918323115d24e0
X-Shanks-Fake-Via: 1.1 varnish
Access-Control-Allow-Origin: *
Expires: Wed, 07 Jan 2026 11:05:52 GMT
Last-Modified: Sun, 12 Oct 2025 04:28:29 GMT
X-Github-Request-Id: 9068:1769AE:35E7C86:373674E:69550390
Age: 391490
X-Request-Id: c34d7b7c4eef643f9766b3ca1fd0d5ed; e8f1c8811757fab4abb196ed11da9daa
Via: S.mix-js-czx1-204, T.204.M, V.mix-js-czx1-205, T.229.H, M.ctn-zj-jnh-227
Page title: Bus Line Designer
<!DOCTYPE html>
<html lang="zh" class="h-100">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Bus Line Designer,设计公交线路的小工具" />
<meta name="keywords" content="公交,公交线路,自制,设计" />
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
<meta name="baidu-site-verification" content="codeva-aa9SzesB6P" />
<title>Bus Line Designer</title>
<link rel="icon" href="assets/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="assets/bootstrap.min.css" />
<link rel="stylesheet" href="assets/style.css" />
<link rel="manifest" href="manifest.json" />
<script src="tools/jquery.min.js"></script>
<script src="tools/bootstrap.min.js"></script>
<script src="tools/vue.global.prod.js"></script>
<script src="tools/reactivity.global.prod.js"></script>
<script src="tools/crc32c.js"></script>
<script src="tools/deepclone.js"></script>
<script src="tools/utils.js"></script>
<script src="tools/clipboard.min.js"></script>
<script src="tools/jscolor.min.js"></script>
<script src="tools/html2canvas.min.js"></script>
<script src="tools/xlsx.full.min.js"></script>
<script src="https://webapi.amap.com/loader.js"></script>
<script src="tools/pako.min.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="exclamation-triangle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
<symbol id="check-circle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
</svg>
</head>
<body class="d-flex flex-column h-100" style="overflow-y:auto; overflow-x:hidden; height: 100%;">
<div id="app" class="d-flex flex-column h-100">
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="javascript: void(0)">Bus Line Designer</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-content">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-content">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript: void(0)" data-bs-toggle="dropdown">文件</a>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="javascript: void(0)" @click="newLine()">新建空白线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="downloadLine()">保存线路为文件</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" id="copyLine" :data-clipboard-text="JSON.stringify(lineFile)">保存线路至剪贴板</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="uploadLine()">从文件读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="pasteLine()">从剪贴板读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="loadLineFromReality()">读取现存线路</a></li>
<li><hr class="dropdown-divider" /></li>
<li><a class="dropdown-item" href="javascript: void(0)" :class="{ 'disabled': (!undoable || settings.general.enableUndoFunc.current != '1') }" v-text="settings.general.enableUndoFunc.curre
Open service 61.164.209.251:80 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 301 Moved Permanently Server: marco/3.2 Date: Sun, 04 Jan 2026 23:50:42 GMT Content-Type: text/html Content-Length: 166 Connection: close Location: https://cdn.buslinedesigner.bobliu.tech/ Via: M.ctn-zj-jnh-230 X-Request-Id: 54281dc9f7aa646ba706e51adf0984f1 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>marco/3.2</center> </body> </html>
Open service 240e:93c:1206:101::a1:443 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 200 OK
Server: marco/3.2
Date: Sun, 04 Jan 2026 23:50:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
X-Source: C/200
X-Served-By: cache-nrt-rjtf7700028-NRT
Cache-Control: max-age=604800
ETag: "68eb2e6d-5e5b"
X-Timer: S1766698418.339852,VS0,VE182
X-Cache-Hits: 0
X-Proxy-Cache: MISS
X-Shanks-Fake-Via: 1.1 varnish
Access-Control-Allow-Origin: *
Expires: Thu, 08 Jan 2026 10:49:22 GMT
X-Github-Request-Id: 9A6D:1485AF:335232D:33CCC15:694DADB1
X-Fastly-Request-Id: 20f02e66d1864f3b418ac5ab588751bd53ec25fd
Last-Modified: Sun, 12 Oct 2025 04:28:29 GMT
X-Request-Id: fb8b50235d6cb603ba3594ede5bc524b; cfe7283deaa5b0101ee5c3826c4474b9
Age: 306080
Via: T.166.H, V.mix-hz-fdi-172, T.19.H, M.ctn-ha-cgo-019
Page title: Bus Line Designer
<!DOCTYPE html>
<html lang="zh" class="h-100">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Bus Line Designer,设计公交线路的小工具" />
<meta name="keywords" content="公交,公交线路,自制,设计" />
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
<meta name="baidu-site-verification" content="codeva-aa9SzesB6P" />
<title>Bus Line Designer</title>
<link rel="icon" href="assets/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="assets/bootstrap.min.css" />
<link rel="stylesheet" href="assets/style.css" />
<link rel="manifest" href="manifest.json" />
<script src="tools/jquery.min.js"></script>
<script src="tools/bootstrap.min.js"></script>
<script src="tools/vue.global.prod.js"></script>
<script src="tools/reactivity.global.prod.js"></script>
<script src="tools/crc32c.js"></script>
<script src="tools/deepclone.js"></script>
<script src="tools/utils.js"></script>
<script src="tools/clipboard.min.js"></script>
<script src="tools/jscolor.min.js"></script>
<script src="tools/html2canvas.min.js"></script>
<script src="tools/xlsx.full.min.js"></script>
<script src="https://webapi.amap.com/loader.js"></script>
<script src="tools/pako.min.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="exclamation-triangle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
<symbol id="check-circle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
</svg>
</head>
<body class="d-flex flex-column h-100" style="overflow-y:auto; overflow-x:hidden; height: 100%;">
<div id="app" class="d-flex flex-column h-100">
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="javascript: void(0)">Bus Line Designer</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-content">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-content">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript: void(0)" data-bs-toggle="dropdown">文件</a>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="javascript: void(0)" @click="newLine()">新建空白线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="downloadLine()">保存线路为文件</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" id="copyLine" :data-clipboard-text="JSON.stringify(lineFile)">保存线路至剪贴板</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="uploadLine()">从文件读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="pasteLine()">从剪贴板读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="loadLineFromReality()">读取现存线路</a></li>
<li><hr class="dropdown-divider" /></li>
<li><a class="dropdown-item" href="javascript: void(0)" :class="{ 'disabled': (!undoable || settings.general.enableUndoFunc.current != '1') }" v-text="settings.general.enableUndoFunc.curre
Open service 123.54.193.28:443 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 200 OK
Server: marco/3.2
Date: Sun, 04 Jan 2026 23:50:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
X-Source: C/200
X-Served-By: cache-nrt-rjtf7700028-NRT
Cache-Control: max-age=604800
ETag: "68eb2e6d-5e5b"
X-Timer: S1766698418.339852,VS0,VE182
X-Cache-Hits: 0
X-Proxy-Cache: MISS
X-Shanks-Fake-Via: 1.1 varnish
Access-Control-Allow-Origin: *
Expires: Thu, 08 Jan 2026 10:49:22 GMT
X-Github-Request-Id: 9A6D:1485AF:335232D:33CCC15:694DADB1
X-Fastly-Request-Id: 20f02e66d1864f3b418ac5ab588751bd53ec25fd
Last-Modified: Sun, 12 Oct 2025 04:28:29 GMT
X-Request-Id: fb8b50235d6cb603ba3594ede5bc524b; 9a176189bb33269a80be6d98ddf21234
Age: 306080
Via: T.166.H, V.mix-hz-fdi-172, T.19.H, M.ctn-ha-cgo-018
Page title: Bus Line Designer
<!DOCTYPE html>
<html lang="zh" class="h-100">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Bus Line Designer,设计公交线路的小工具" />
<meta name="keywords" content="公交,公交线路,自制,设计" />
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
<meta name="baidu-site-verification" content="codeva-aa9SzesB6P" />
<title>Bus Line Designer</title>
<link rel="icon" href="assets/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="assets/bootstrap.min.css" />
<link rel="stylesheet" href="assets/style.css" />
<link rel="manifest" href="manifest.json" />
<script src="tools/jquery.min.js"></script>
<script src="tools/bootstrap.min.js"></script>
<script src="tools/vue.global.prod.js"></script>
<script src="tools/reactivity.global.prod.js"></script>
<script src="tools/crc32c.js"></script>
<script src="tools/deepclone.js"></script>
<script src="tools/utils.js"></script>
<script src="tools/clipboard.min.js"></script>
<script src="tools/jscolor.min.js"></script>
<script src="tools/html2canvas.min.js"></script>
<script src="tools/xlsx.full.min.js"></script>
<script src="https://webapi.amap.com/loader.js"></script>
<script src="tools/pako.min.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="exclamation-triangle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
<symbol id="check-circle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
</svg>
</head>
<body class="d-flex flex-column h-100" style="overflow-y:auto; overflow-x:hidden; height: 100%;">
<div id="app" class="d-flex flex-column h-100">
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="javascript: void(0)">Bus Line Designer</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-content">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-content">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript: void(0)" data-bs-toggle="dropdown">文件</a>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="javascript: void(0)" @click="newLine()">新建空白线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="downloadLine()">保存线路为文件</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" id="copyLine" :data-clipboard-text="JSON.stringify(lineFile)">保存线路至剪贴板</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="uploadLine()">从文件读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="pasteLine()">从剪贴板读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="loadLineFromReality()">读取现存线路</a></li>
<li><hr class="dropdown-divider" /></li>
<li><a class="dropdown-item" href="javascript: void(0)" :class="{ 'disabled': (!undoable || settings.general.enableUndoFunc.current != '1') }" v-text="settings.general.enableUndoFunc.curre
Open service 240e:f7:4f00:250b::a1:443 · cdn.buslinedesigner.bobliu.tech
2026-01-04 23:50
HTTP/1.1 200 OK
Server: marco/3.2
Date: Sun, 04 Jan 2026 23:50:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
X-Source: C/200
X-Served-By: cache-sin-wsat1880069-SIN
Cache-Control: max-age=604800
ETag: "68eb2e6d-5e5b"
X-Timer: S1767179153.515589,VS0,VE275
X-Cache-Hits: 0
X-Proxy-Cache: MISS
X-Fastly-Request-Id: 064da1fe934771aebb764828a0918323115d24e0
X-Shanks-Fake-Via: 1.1 varnish
Access-Control-Allow-Origin: *
Expires: Wed, 07 Jan 2026 11:05:52 GMT
Last-Modified: Sun, 12 Oct 2025 04:28:29 GMT
X-Github-Request-Id: 9068:1769AE:35E7C86:373674E:69550390
Age: 391490
X-Request-Id: c34d7b7c4eef643f9766b3ca1fd0d5ed; 65f5e6cefda5873da7e9df1a5bb2b5e5
Via: S.mix-js-czx1-204, T.204.M, V.mix-js-czx1-205, T.229.H, M.ctn-zj-jnh-227
Page title: Bus Line Designer
<!DOCTYPE html>
<html lang="zh" class="h-100">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="Bus Line Designer,设计公交线路的小工具" />
<meta name="keywords" content="公交,公交线路,自制,设计" />
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
<meta name="baidu-site-verification" content="codeva-aa9SzesB6P" />
<title>Bus Line Designer</title>
<link rel="icon" href="assets/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="assets/bootstrap.min.css" />
<link rel="stylesheet" href="assets/style.css" />
<link rel="manifest" href="manifest.json" />
<script src="tools/jquery.min.js"></script>
<script src="tools/bootstrap.min.js"></script>
<script src="tools/vue.global.prod.js"></script>
<script src="tools/reactivity.global.prod.js"></script>
<script src="tools/crc32c.js"></script>
<script src="tools/deepclone.js"></script>
<script src="tools/utils.js"></script>
<script src="tools/clipboard.min.js"></script>
<script src="tools/jscolor.min.js"></script>
<script src="tools/html2canvas.min.js"></script>
<script src="tools/xlsx.full.min.js"></script>
<script src="https://webapi.amap.com/loader.js"></script>
<script src="tools/pako.min.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="exclamation-triangle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
<symbol id="check-circle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
</svg>
</head>
<body class="d-flex flex-column h-100" style="overflow-y:auto; overflow-x:hidden; height: 100%;">
<div id="app" class="d-flex flex-column h-100">
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="javascript: void(0)">Bus Line Designer</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-content">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-content">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript: void(0)" data-bs-toggle="dropdown">文件</a>
<ul class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" href="javascript: void(0)" @click="newLine()">新建空白线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="downloadLine()">保存线路为文件</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" id="copyLine" :data-clipboard-text="JSON.stringify(lineFile)">保存线路至剪贴板</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="uploadLine()">从文件读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="pasteLine()">从剪贴板读取线路</a></li>
<li><a class="dropdown-item" href="javascript: void(0)" @click="loadLineFromReality()">读取现存线路</a></li>
<li><hr class="dropdown-divider" /></li>
<li><a class="dropdown-item" href="javascript: void(0)" :class="{ 'disabled': (!undoable || settings.general.enableUndoFunc.current != '1') }" v-text="settings.general.enableUndoFunc.curre