Every commercial VPN client stores its server catalog as a JSON on the backend and lets the panel pick from a dropdown; this pulls that shape into the extension. - server-list.json: baked-in default the tarball ships with. Three Silent Mode slots (sm-1..sm-3), status "coming-soon" until the VLESS URLs land — the toggle stays disabled for any entry whose status is not "ready", so a placeholder cannot be selected by accident. - Gateway overlay: index.js fetches https://navigate.st/api/vpn/servers on activation (with a 6-hour TTL and a "refresh" button in the panel) and merges by id — remote wins, new remote entries append. Cached to per-addon storage so an offline boot still has the last-good catalog. - turnOn now accepts { serverId } or { vless }. Server id is resolved through the catalog inside the addon; the panel only sees a public view (label, flag, country, ready/coming-soon), never the raw URL. - Panel: dropdown of servers + a "Custom vless://" option that reveals the paste box. Selection persists per-machine, refresh button forces a re-fetch, disabled toggle explains why in the hint area. No behavioural change for anyone with a saved vless:// paste — that path is now "Custom" in the dropdown and still works identically.
11 lines
857 B
JSON
11 lines
857 B
JSON
{
|
|
"id": "vpn",
|
|
"name": "VPN",
|
|
"version": "0.1.2",
|
|
"description": "Route Theseus's traffic through a Silent Mode VPN endpoint. Runs sing-box locally, exits at one of our servers, and switches on with one click. Paste any vless:// URL to point it at your own endpoint instead.",
|
|
"author": "Silent Mode",
|
|
"icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDJMNCA1djdjMCA1IDMuNSA5LjIgOCAxMCA0LjUtLjggOC01IDgtMTBWNWwtOC0zeiIgZmlsbD0iIzBhYzE4ZSIvPjxwYXRoIGQ9Ik05IDEybDIgMiA0LTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=",
|
|
"main": "index.js",
|
|
"capabilities": ["sidebar-panel", "session-proxy"],
|
|
"updateURL": "https://navigate.st/bns/theseus.x/extensions/vpn/updates.json"
|
|
}
|