The Custom box validated for a vless:// prefix and rejected anything else, so a provider's subscription URL — the thing most people are handed — got "paste a vless:// URL first" with no hint that the Subscription card two sections down was what it wanted. Now an http(s):// paste in that box is detected and routed to the subscription importer, the placeholder says both are accepted, and the dropdown option reads "Custom — vless:// or subscription URL". Also renames the three bundled entries' status from "coming-soon" to "awaiting-key-issuer". The exits exist and are running xray; what is missing is a way to hand a client credentials without shipping a shared secret. DESIGN.md now records why that list stays empty, since this is the second time the shortcut looked attractive: a vless:// URL is the credential, so writing one into the tarball (immutable, mirrored) or onto a public Sia object (mutable but world-readable) are the same category of mistake. Per-session minting is the fix, because then no shared credential exists to leak. Parser verified against plain-text, standard-base64 and url-safe unpadded-base64 subscription bodies; an HTML error page correctly yields zero entries instead of a JSON parse crash.
11 lines
857 B
JSON
11 lines
857 B
JSON
{
|
|
"id": "vpn",
|
|
"name": "VPN",
|
|
"version": "0.1.4",
|
|
"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"
|
|
}
|