| 类型 | 值 | 动作 | 说明 | 启用 | |
|---|---|---|---|---|---|
| ≡ | 域名后缀 | git.51yanmei.com | 直连 | CI 编译源 | |
| ≡ | 域名后缀 | aliyun.com | 直连 | maven 镜像 | |
| ≡ | 域名后缀 | github.com | 走隧道 | — | |
| ≡ | GeoSite | category-ads | 拒绝 | 广告/追踪 | |
| ≡ | IP-CIDR | 35.190.0.0/16 | 走隧道 | — |
diff --git a/docs/configurable-proxy-prototype.html b/docs/configurable-proxy-prototype.html index a8b24e7..6ddbf48 100644 --- a/docs/configurable-proxy-prototype.html +++ b/docs/configurable-proxy-prototype.html @@ -81,12 +81,46 @@ th,td{border:1px solid var(--border);padding:7px 10px;text-align:left;vertical-align:top} th{background:var(--panel2);color:var(--accent2);font-weight:600} td code{white-space:nowrap} + + /* desktop window */ + .win{border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 14px 44px rgba(0,0,0,.45);background:var(--bg);max-width:1000px} + .titlebar{height:38px;background:var(--panel2);display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--border)} + .dots{display:flex;gap:8px} .dots i{width:12px;height:12px;border-radius:50%;background:#3a3f4b;display:block} + .dots i:nth-child(1){background:#e0655a}.dots i:nth-child(2){background:#e0b84f}.dots i:nth-child(3){background:#5ec27a} + .wt{flex:1;text-align:center;font-size:13px;color:var(--fg2);font-weight:600;margin-left:-40px} + .winbody{display:flex;height:560px} + .sidebar{width:172px;background:var(--panel);border-right:1px solid var(--border);padding:12px 8px;flex:0 0 auto} + .si{padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--fg2);margin-bottom:2px} + .si.on{background:var(--accent);color:#1a1206;font-weight:600} + .content{flex:1;min-width:0;padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column} + .chead{display:flex;align-items:center;gap:16px;margin-bottom:14px} + .ctitle{font-size:18px;font-weight:700} + .modeseg{display:flex;background:var(--panel2);border-radius:9px;padding:3px;margin-left:auto} + .modeseg span{font-size:12.5px;padding:6px 14px;border-radius:7px;color:var(--fg2);font-weight:600} + .modeseg span.on{background:var(--accent);color:#1a1206} + .binline{display:flex;gap:18px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:11px 14px;margin-bottom:14px;font-size:13px;color:var(--fg2)} + .binline label{display:flex;align-items:center;gap:7px} + .tg{width:34px;height:20px;border-radius:14px;background:var(--accent);position:relative;display:inline-block} + .tg.off{background:var(--panel2)} .tg::after{content:"";position:absolute;top:2px;left:16px;width:16px;height:16px;border-radius:50%;background:#fff}.tg.off::after{left:2px} + .ruletable{border-collapse:collapse;width:100%;font-size:13px;display:table;margin:0} + .ruletable th{background:var(--panel2);color:var(--accent2);font-weight:600;padding:8px 10px;text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;border:1px solid var(--border)} + .ruletable td{padding:9px 10px;border:1px solid var(--border);vertical-align:middle} + .ruletable tr:hover td{background:rgba(95,176,201,.05)} + .ruletable .g{color:var(--fg2);cursor:grab;opacity:.55} + .ruletable .v{font-family:var(--mono);font-size:12.5px} + .ty{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--panel2);color:var(--fg2);font-family:var(--mono)} + .tablefoot{display:flex;align-items:center;gap:16px;margin-top:12px;font-size:13px;color:var(--accent);flex-wrap:wrap} + .tablefoot .fin{margin-left:auto;color:var(--fg2)} + .preview{width:250px;flex:0 0 auto;border-left:1px solid var(--border);background:var(--panel);padding:14px} + .pvh{font-size:11.5px;color:var(--fg2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px} + .preview pre{font-size:11px;line-height:1.5;padding:11px;margin:0} + @media (max-width:820px){.preview{display:none}}
Task 3 设计稿 · 让用户像 Shadowrocket 那样自定义"哪些流量直连 / 走隧道 / 拒绝"。以下是移动端三块核心界面的视觉原型(mockup,非真实数据)。配套规则模型与实现见 配置说明文档 →
+Task 3 设计稿 · 让用户像 Shadowrocket 那样自定义"哪些流量直连 / 走隧道 / 拒绝"。下含移动端三屏 + 桌面端(macOS/Windows)设置窗口的视觉原型(mockup,非真实数据),两端共用同一套服务端路由档案。配套规则模型与实现见 配置说明文档 →
桌面有更大空间:左侧栏 + 规则表格(可内联编辑/拖动排序)+ 右侧实时预览生成的 sing-box 规则。同一套档案模型,与移动端共用服务端。
+| 类型 | 值 | 动作 | 说明 | 启用 | |
|---|---|---|---|---|---|
| ≡ | 域名后缀 | git.51yanmei.com | 直连 | CI 编译源 | |
| ≡ | 域名后缀 | aliyun.com | 直连 | maven 镜像 | |
| ≡ | 域名后缀 | github.com | 走隧道 | — | |
| ≡ | GeoSite | category-ads | 拒绝 | 广告/追踪 | |
| ≡ | IP-CIDR | 35.190.0.0/16 | 走隧道 | — |
[
+ {"action":"hijack-dns",
+ "port":[53]},
+ {"ip_cidr":["10.0.0.0/8",
+ "192.168.0.0/16",...],
+ "outbound":"direct"},
+ {"domain_suffix":
+ ["git.51yanmei.com",
+ "aliyun.com"],
+ "outbound":"direct"},
+ {"domain_suffix":
+ ["github.com"],
+ "outbound":"auto"},
+ {"rule_set":["geosite-ads"],
+ "outbound":"block"},
+ {"rule_set":
+ ["geoip-cn","geosite-cn"],
+ "outbound":"direct"}
+]
+final: "auto"
+ 桌面端与移动端共用同一份服务端路由档案——在任一端改,另一端下次连接生效(per-user 同步)。桌面多了内联表格编辑与实时预览,适合高级用户。
+