/Sub-Store

Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket!

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0


Sub-Store

Sub-Store

Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.

Build GitHub GitHub issues GitHub closed pull requests Lines of code Size sub-store-org%2FSub-Store | Trendshift "Buy Me A Coffee"

Core functionalities:

  1. Conversion among various formats.
  2. Subscription formatting.
  3. Collect multiple subscriptions in one URL.

The following descriptions of features may not be updated in real-time. Please refer to the actual available features for accurate information.

1. Subscription Conversion

Supported Input Formats

⚠️ Do not use Shadowrocket to export URI and then import it as input. It is not a standard URI.

  • URI(SS, SSR, VMess, VLESS, Trojan, Hysteria, Hysteria 2, TUIC v5, WireGuard)
  • Clash Proxies YAML
  • Clash Proxy JSON(single line)
  • QX (SS, SSR, VMess, Trojan, HTTP, SOCKS5, VLESS)
  • Loon (SS, SSR, VMess, Trojan, HTTP, SOCKS5, SOCKS5-TLS, WireGuard, VLESS, Hysteria 2)
  • Surge (SS, VMess, Trojan, HTTP, SOCKS5, SOCKS5-TLS, TUIC, Snell, Hysteria 2, SSH(Password authentication only), External Proxy Program(only for macOS), WireGuard(Surge to Surge))
  • Surfboard (SS, VMess, Trojan, HTTP, SOCKS5, SOCKS5-TLS, WireGuard(Surfboard to Surfboard))
  • Clash.Meta (SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard, Hysteria, Hysteria 2, TUIC)
  • Stash (SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard, Hysteria, TUIC, Juicity, SSH)
  • Clash (SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard)

Supported Target Platforms

  • Plain JSON
  • Stash
  • Clash.Meta(mihomo)
  • Clash
  • Surfboard
  • Surge
  • SurgeMac(Use mihomo to support protocols that are not supported by Surge itself)
  • Loon
  • Shadowrocket
  • QX
  • sing-box
  • V2Ray
  • V2Ray URI

2. Subscription Formatting

Filtering

  • Regex filter
  • Discard regex filter
  • Region filter
  • Type filter
  • Useless proxies filter
  • Script filter

Proxy Operations

  • Set property operator: set some proxy properties such as udp,tfo, skip-cert-verify etc.
  • Flag operator: add flags or remove flags for proxies.
  • Sort operator: sort proxies by name.
  • Regex sort operator: sort proxies by keywords (fallback to normal sort).
  • Regex rename operator: replace by regex in proxy names.
  • Regex delete operator: delete by regex in proxy names.
  • Script operator: modify proxy by script.
  • Resolve Domain Operator: resolve the domain of nodes to an IP address.

Development

Install pnpm

Go to backend directories, install node dependencies:

pnpm i
  1. In backend, run the backend server on http://localhost:3000

babel(old school)

pnpm start

or

esbuild(experimental)

SUB_STORE_BACKEND_API_PORT=3000 pnpm run --parallel "/^dev:.*/"

LICENSE

This project is under the GPL V3 LICENSE.

FOSSA Status

Star History

Star History Chart

Acknowledgements

  • Special thanks to @KOP-XIAO for his awesome resource-parser. Please give a star for his great work!
  • Special thanks to @Orz-3 and @58xinian for their awesome icons.