How cmliu/workervless2sub works
WorkerVless2sub is a Cloudflare Worker that builds VMess/VLESS/Trojan subscriptions from configured node details and preferred Cloudflare routes. The main workflow accepts a quick or custom subscription request, gathers eligible address sources, assembles nodes, and returns a client format; the Worker also serves a subscription-generation page. The README documents Clash/Sing-box conversion, dynamic UUIDs, and Telegram notifications. The source excerpt is partial, so links for unsampled routing and conversion details are based only on README documentation.
Main entry points: _worker.js Worker handler · socks5Data SOCKS5 data · addressesapi.txt Address feeds · addressesipv6api.txt IPv6 feeds
Components 19
Request and UI
- Worker handler
_worker.js - Generator page
_worker.js - Subscription options
_worker.js
Route sources
- Static routes
_worker.js - Address feeds
addressesapi.txt - IPv6 feeds
addressesipv6api.txt - Speed-test routes
addressescsv.csv - SOCKS5 data
socks5Data
Subscription generation
- Feed collection
_worker.js - CSV filtering
_worker.js - Node assembly
_worker.js - Dynamic UUIDs
_worker.js - Protocol output
_worker.js - Subscription response
_worker.js
External services
- Subscription converter
- IP geolocation
- Telegram bot
- Configured remote feeds
Other components
- Subscriber
Connections 20
- Subscriber → Worker handler: requests subscription
- Subscriber → Generator page: opens generator
- Generator page → Worker handler: submits options
- Worker handler → Subscription options: reads parameters
- Worker handler → Feed collection: collects routes
- Feed collection → Static routes: uses configured entries
- Feed collection → Configured remote feeds: fetches feeds
- Configured remote feeds → Address feeds: may serve
- Configured remote feeds → IPv6 feeds: may serve
- Configured remote feeds → Speed-test routes: may serve
- Feed collection → CSV filtering: passes CSV rows
- CSV filtering → Node assembly: returns eligible routes
- Worker handler → Node assembly: assembles requested nodes
- Worker handler → Dynamic UUIDs: derives UUIDs
- Worker handler → Protocol output: formats subscription
- Protocol output → Subscription response: produces response
- Worker handler → Subscription converter: requests conversion
- Worker handler → IP geolocation: looks up IP details
- Worker handler → Telegram bot: sends notifications
- SOCKS5 data → Node assembly: input role unclear