占位线路删了。它们指向 127.0.0.1:1080,从来没测通过,而 URLTest 只在你选的那条 「对测试地址是活的」时才认账(urltest.go:106-111)——所以点了立刻被切回去, 一个正常行为看起来像 bug。现在本地内核直接用真订阅,通过隧道拉。 订阅地址带访问令牌,不能进 git:dev/config.yaml 变成模板,dev:reset 从 .env 取值生成 dev/home/config.yaml。顺带确认内核认 base64 分享链接格式(provider.go:384-390 回退到 ConvertsV2Ray),所以 Sub-Store 的输出直接能用。 闪电从组标题挪到每张卡的左下角,也就是延迟显示的位置:测过显示毫秒数,没测过显示闪电, 两种都能点,点了测这一条。忙碌状态从「禁用整个界面」改成只有正在提交的那张卡显示虚线边框。
27 lines
1019 B
TypeScript
27 lines
1019 B
TypeScript
/**
|
|
* 从模板生成本地测试内核的配置。
|
|
*
|
|
* 模板 dev/config.yaml 进 git,生成的 dev/home/config.yaml 不进——因为订阅地址里
|
|
* 通常带访问令牌。所以模板里写占位符,这个脚本从 .env 取真值替换。
|
|
*
|
|
* 用法:bun run dev:reset
|
|
*/
|
|
import { mkdir, readFile, writeFile } from 'node:fs/promises'
|
|
|
|
const TEMPLATE = './dev/config.yaml'
|
|
const TARGET = './dev/home/config.yaml'
|
|
const PLACEHOLDER = '__SUBSCRIPTION_URL__'
|
|
|
|
const url = Bun.env.DEV_SUBSCRIPTION_URL
|
|
const template = await readFile(TEMPLATE, 'utf8')
|
|
|
|
if (template.includes(PLACEHOLDER) && !url) {
|
|
console.error(`模板里有 ${PLACEHOLDER},但 .env 里没有 DEV_SUBSCRIPTION_URL。`)
|
|
console.error('填一个能拉到线路的订阅地址;开发时通常是 SSH 隧道映射过来的 Sub-Store。')
|
|
process.exit(1)
|
|
}
|
|
|
|
await mkdir('./dev/home', { recursive: true })
|
|
await writeFile(TARGET, template.replaceAll(PLACEHOLDER, url ?? ''), 'utf8')
|
|
console.log(`${TARGET} 已从模板重新生成`)
|