im0o
|
7a764f5fe1
|
搭出前端骨架和入站列表
设计基调定为:层次靠底色和一像素描边而不是投影,一屏最多两层容器,间距给足。
tokens.css 顶部写了这三条规则,后面的组件都是它们的推论。
入站列表把两套写法合并成一张表:老式顶层端口字段(mixed-port 这些)和 listeners 数组。
只画 listeners 的话,一台只用 mixed-port 的机器打开会是空板,而那个端口正在跑——
这等于对用户撒谎。合并逻辑在 shared/inbounds.ts,带 10 个测试。
后端顺带能提供打包后的静态文件了,一个进程就能跑起来。
|
2026-08-10 04:10:17 +08:00 |
|
im0o
|
71b35d5a24
|
从内核源码提取入站类型的字段表
20 种类型、6 个公共字段、398 个专有字段,用来驱动界面表单。
类型清单取自 listener/parse.go 的 ParseListener switch 而不是文件名:
listener/inbound/ 下 24 个非测试文件里有 11 个只是被内嵌的选项组(TLS 伪装、多路复用这类),
不能单独当 type 写;hysteria2-realm 的类型名带中划线而文件名带下划线,靠文件名猜会错。
|
2026-08-10 03:14:56 +08:00 |
|
im0o
|
26bb0f3456
|
把分隔符里的字面 NUL 字节改成转义写法
源码里直接写 NUL 字节会让 git 把整个文件判定成二进制,此后再也看不到这个文件的 diff。
用 \u0000 转义,运行时的值不变。
|
2026-08-10 02:44:50 +08:00 |
|
im0o
|
f7db96fb0e
|
搭起项目骨架,验证配置文件往返
核心是确认「改配置而不弄乱文件」这件事成立:新增一路入站之后,其余 52 行逐字节不变。
搬进来的改写引擎用默认输出参数时会重排整个文件——行尾注释的对齐空格消失、流式数组被加上内边距——
连根本没改动的段落也一起波及。不修的话「改一处只动一处」这个承诺直接落空,所以关掉了它的自动排版,
并在写回之后补了一步逐行还原。
|
2026-08-10 02:43:04 +08:00 |
|