Web UI¶
subconverter-ng ships with a lightweight visual web UI, bundled into the binary via go:embed — no extra service or frontend build step required.
Opening it¶
Once the service is running, visit the root path in your browser:
(The port depends on --listen / SUBNG_LISTEN, default 25500.)
Using it¶
- Subscription link: paste your provider's subscription URL into the text box, one per line; multiple lines are automatically joined with
|. - External config (optional): enter the URL of an INI rules config (subconverter / ACL4SSR compatible).
- target: choose the output format from the dropdown —
clash(Clash.Meta / mihomo),singbox,surge,shadowrocket,quanx,loon,v2ray/mixed. - Options: tick
sort nodes,dedup nodes,force UDP,TCP Fast Open,skip cert verify,filter incompatible nodes,append type to name,Tailscale DIRECT,allow emojias needed. These map to the URL parameterssort/dedup/udp/tfo/scv/fdn/append_type/tailscale/emoji. - Upstream proxy (optional): e.g.
socks5://127.0.0.1:1080, applied to this request only, overriding the global config. - Click Generate subscription link and the full
/sub?...link appears below. - Click Copy and paste the link into your Clash / mihomo client's "Config URL"; or click Open / Preview to view the converted result directly in a new tab.
Notes¶
- The generated link is based on the current host (
window.location.origin), so it works whether deployed locally or on a server. - The page is fully self-contained: inline CSS / JS with no external CDN dependency, well suited to restricted networks such as mainland China.
- Dark mode is supported (follows the system
prefers-color-scheme), and the layout is mobile-responsive. - Form caching: the subscription link, target and options are automatically saved to the browser's
localStorageand restored on refresh or next visit, so you never have to re-enter them. The data stays in your local browser only and is never uploaded; switching browsers or clearing browsing data resets it. - The link's parameters mean the same as in URL Parameters.