https://github.com/sub-store-org/sub-store
Advanced Subscription Manager for QX, Loon, Surge, Stash, Egern and Shadowrocket!
https://github.com/sub-store-org/sub-store
clash http loon quantumultx shadowrocket shadowsocks shadowsocksr ssr stash surge4 trojan vmess
Last synced: 19 days ago
JSON representation
Advanced Subscription Manager for QX, Loon, Surge, Stash, Egern and Shadowrocket!
- Host: GitHub
- URL: https://github.com/sub-store-org/sub-store
- Owner: sub-store-org
- License: agpl-3.0
- Created: 2020-08-19T06:14:01.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-04-17T01:58:23.000Z (12 months ago)
- Last Synced: 2025-04-17T15:37:20.305Z (12 months ago)
- Topics: clash, http, loon, quantumultx, shadowrocket, shadowsocks, shadowsocksr, ssr, stash, surge4, trojan, vmess
- Language: JavaScript
- Homepage:
- Size: 7.42 MB
- Stars: 6,426
- Watchers: 87
- Forks: 712
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: support.nodeseek.com_page_promotion_id=8.png
Awesome Lists containing this project
README
Sub-Store
Advanced Subscription Manager for QX, Loon, Surge, Stash, Egern and Shadowrocket.
[](https://github.com/sub-store-org/Sub-Store/actions/workflows/main.yml)     
[](https://www.buymeacoffee.com/PengYM)
[π ζζ‘£/DOC](https://github.com/sub-store-org/Sub-Store/wiki)
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
[ζ¬ε°θηΉζδΉε/How To Write A Local Node](https://t.me/zhetengsha/824)
> β οΈ Do not use `Shadowrocket` or `NekoBox` to export URI and then import it as input. The URIs exported in this way may not be standard URIs. However, we have already supported some very common non-standard URIs (such as VMess, VLESS).
- [x] Proxy URI Scheme(`socks5`, `socks5+tls`, `http`, `https`(it's ok))
example: `socks5+tls://user:pass@ip:port#name`
- [x] URI(AnyTLS, SOCKS, SS, SSR, VMess, VLESS, Trojan, Hysteria, Hysteria 2, TUIC v5, WireGuard)
> Please note, HTTP(s) does not have a standard URI format, so it is not supported. Please use other formats.
- [x] Clash Proxies YAML
- [x] Clash Proxy JSON/JSON5/YAML(single line)
> [NaiveProxy](https://t.me/zhetengsha/4308)
- [x] QX (SS, SSR, VMess, Trojan, HTTP, SOCKS5, VLESS)
- [x] Loon (SS, SSR, VMess, Trojan, HTTP, SOCKS5, SOCKS5-TLS, WireGuard, VLESS, Hysteria 2, AnyTLS)
- [x] Surge (Direct, SS, VMess, Trojan, HTTP, SOCKS5, SOCKS5-TLS, AnyTLS, TrustTunnel, TUIC, Snell, Hysteria 2, SSH(Password authentication only), External Proxy Program(only for macOS), WireGuard(Surge to Surge))
- [x] mihomo(Clash.Meta) Compatible (Direct, SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard, Hysteria, Hysteria 2, TUIC, SSH, mieru, sudoku, AnyTLS, MASQUE)
Deprecated(The frontend doesn't show it, but the backend still supports it, with the query parameter `target=Clash`):
- [x] Clash (SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard)
### Supported Target Platforms
- [x] Plain JSON
- [x] Stash
- [x] Clash.Meta(mihomo)
- [x] Surfboard
- [x] Surge
- [x] SurgeMac(Use mihomo to support protocols that are not supported by Surge itself)
- [x] Loon
- [x] Egern
- [x] Shadowrocket
- [x] QX
- [x] sing-box
- [x] V2Ray
- [x] V2Ray URI
Deprecated:
- [x] Clash
## 2. Subscription Formatting
### Filtering
- [x] **Regex filter**
- [x] **Discard regex filter**
- [x] **Region filter**
- [x] **Type filter**
- [x] **Useless proxies filter**
- [x] **Script filter**
### Proxy Operations
- [x] **Set property operator**: set some proxy properties such as `udp`,`tfo`, `skip-cert-verify` etc.
- [x] **Flag operator**: add flags or remove flags for proxies.
- [x] **Sort operator**: sort proxies by name.
- [x] **Regex sort operator**: sort proxies by keywords (fallback to normal sort).
- [x] **Regex rename operator**: replace by regex in proxy names.
- [x] **Regex delete operator**: delete by regex in proxy names.
- [x] **Script operator**: modify proxy by script.
- [x] **Resolve Domain Operator**: resolve the domain of nodes to an IP address.
### Development
Install `pnpm`
Go to `backend` directories, install node dependencies:
```
pnpm i
```
```
SUB_STORE_BACKEND_API_PORT=3000 pnpm run --parallel "/^dev:.*/"
```
### Build
```
pnpm bundle:esbuild
```
## LICENSE
This project is under the GPL V3 LICENSE.
[](https://app.fossa.com/projects/git%2Bgithub.com%2FPeng-YM%2FSub-Store?ref=badge_large)
## Star History
[](https://star-history.com/#sub-store-org/sub-store&Date)
## Acknowledgements
- Special thanks to @KOP-XIAO for his awesome resource-parser. Please give a [star](https://github.com/KOP-XIAO/QuantumultX) for his great work!
- Special thanks to @Orz-3 and @58xinian for their awesome icons.
## Sponsors
[](https://yxvm.com)
[NodeSupport](https://github.com/NodeSeekDev/NodeSupport) sponsored this project.