2020-12-17 14:52:41 +08:00
< div align = "center" >
< br >
2024-01-17 21:55:56 +08:00
< img width = "200" src = "https://raw.githubusercontent.com/cc63/ICON/main/Sub-Store.png" alt = "Sub-Store" >
2020-12-17 14:52:41 +08:00
< br >
< br >
< h2 align = "center" > Sub-Store< h2 >
< / div >
2020-08-31 19:19:59 +08:00
2020-12-17 14:52:41 +08:00
< p align = "center" color = " #6a737d " >
2024-11-20 14:28:05 +08:00
Advanced Subscription Manager for QX, Loon, Surge, Stash, Egern and Shadowrocket.
2020-12-17 14:52:41 +08:00
< / p >
2020-08-31 00:28:00 +08:00
2024-09-02 16:29:05 +08:00
[](https://github.com/sub-store-org/Sub-Store/actions/workflows/main.yml)     
2024-05-09 09:38:36 +08:00
< a href = "https://trendshift.io/repositories/4572" target = "_blank" > < img src = "https://trendshift.io/api/badge/repositories/4572" alt = "sub-store-org%2FSub-Store | Trendshift" style = "width: 250px; height: 55px;" width = "250" height = "55" / > < / a >
2022-06-21 22:56:35 +08:00
[](https://www.buymeacoffee.com/PengYM)
2024-09-02 16:29:05 +08:00
2020-08-21 18:12:29 +08:00
Core functionalities:
2022-05-02 11:07:38 +08:00
2020-08-19 14:13:42 +08:00
1. Conversion among various formats.
2. Subscription formatting.
2020-08-19 19:31:15 +08:00
3. Collect multiple subscriptions in one URL.
2023-08-28 13:10:48 +08:00
> The following descriptions of features may not be updated in real-time. Please refer to the actual available features for accurate information.
2024-09-02 16:29:05 +08:00
2022-06-21 22:56:35 +08:00
## 1. Subscription Conversion
2020-12-11 01:54:09 -08:00
2020-08-19 14:37:25 +08:00
### Supported Input Formats
2022-05-02 11:07:38 +08:00
2024-10-12 14:51:58 +08:00
> ⚠️ Do not use `Shadowrocket` to export URI and then import it as input. It is not a standard URI.
2025-01-21 12:02:49 +08:00
- [x] Proxy URI Scheme(`socks5` , `socks5+tls` , `http` , `https` (it's ok))
2024-12-16 21:06:46 +08:00
example: `socks5+tls://user:pass@ip:port#name`
2024-04-21 11:32:23 +08:00
- [x] URI(SS, SSR, VMess, VLESS, Trojan, Hysteria, Hysteria 2, TUIC v5, WireGuard)
2024-02-18 05:25:31 +08:00
- [x] Clash Proxies YAML
- [x] Clash Proxy JSON(single line)
2024-01-17 19:30:23 +08:00
- [x] QX (SS, SSR, VMess, Trojan, HTTP, SOCKS5, VLESS)
2024-04-21 12:36:11 +08:00
- [x] Loon (SS, SSR, VMess, Trojan, HTTP, SOCKS5, SOCKS5-TLS, WireGuard, VLESS, Hysteria 2)
2024-12-12 18:22:25 +08:00
- [x] Surge (Direct, 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))
2024-02-18 05:25:31 +08:00
- [x] Surfboard (SS, VMess, Trojan, HTTP, SOCKS5, SOCKS5-TLS, WireGuard(Surfboard to Surfboard))
2024-12-24 15:10:38 +08:00
- [x] Clash.Meta (Direct, SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard, Hysteria, Hysteria 2, TUIC, SSH, mieru)
2024-06-12 15:16:56 +08:00
- [x] Stash (SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard, Hysteria, TUIC, Juicity, SSH)
2023-12-27 00:24:06 +08:00
- [x] Clash (SS, SSR, VMess, Trojan, HTTP, SOCKS5, Snell, VLESS, WireGuard)
2020-08-19 14:13:42 +08:00
2020-08-19 14:37:25 +08:00
### Supported Target Platforms
2022-05-02 11:07:38 +08:00
2024-01-17 19:55:22 +08:00
- [x] Plain JSON
2023-08-28 13:10:48 +08:00
- [x] Stash
2024-01-17 19:55:22 +08:00
- [x] Clash.Meta(mihomo)
2023-08-28 13:10:48 +08:00
- [x] Clash
2024-01-17 19:55:22 +08:00
- [x] Surfboard
- [x] Surge
2024-09-04 10:49:52 +08:00
- [x] SurgeMac(Use mihomo to support protocols that are not supported by Surge itself)
2024-01-17 19:55:22 +08:00
- [x] Loon
2024-11-20 14:28:05 +08:00
- [x] Egern
2023-12-27 00:24:06 +08:00
- [x] Shadowrocket
2024-01-17 19:55:22 +08:00
- [x] QX
2024-01-16 20:52:46 +08:00
- [x] sing-box
2023-08-28 13:10:48 +08:00
- [x] V2Ray
- [x] V2Ray URI
2020-08-19 14:13:42 +08:00
## 2. Subscription Formatting
2022-05-02 11:07:38 +08:00
2020-08-19 14:13:42 +08:00
### Filtering
2022-05-02 11:07:38 +08:00
2020-08-19 14:13:42 +08:00
- [x] **Regex filter**
- [x] **Discard regex filter**
- [x] **Region filter**
- [x] **Type filter**
- [x] **Useless proxies filter**
- [x] **Script filter**
### Proxy Operations
2022-05-02 11:07:38 +08:00
2020-08-19 14:13:42 +08:00
- [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.
2021-01-21 10:53:48 +08:00
- [x] **Regex sort operator** : sort proxies by keywords (fallback to normal sort).
2020-08-19 14:13:42 +08:00
- [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.
2023-08-28 13:10:48 +08:00
- [x] **Resolve Domain Operator** : resolve the domain of nodes to an IP address.
2020-08-19 14:13:42 +08:00
2020-09-06 20:57:21 +08:00
### Development
2022-05-02 11:07:38 +08:00
2023-10-30 01:44:18 +08:00
Install `pnpm`
Go to `backend` directories, install node dependencies:
2022-05-02 11:07:38 +08:00
2020-09-06 20:57:21 +08:00
```
2024-02-03 21:30:27 +08:00
pnpm i
2020-09-06 20:57:21 +08:00
```
1. In `backend` , run the backend server on http://localhost:3000
2024-02-03 21:30:27 +08:00
babel(old school)
2020-09-06 20:57:21 +08:00
```
2023-10-30 01:44:18 +08:00
pnpm start
2020-09-06 20:57:21 +08:00
```
2024-02-03 21:30:27 +08:00
or
esbuild(experimental)
```
2024-09-02 16:29:05 +08:00
SUB_STORE_BACKEND_API_PORT=3000 pnpm run --parallel "/^dev:.*/"
2024-02-03 21:30:27 +08:00
```
2020-08-19 19:30:30 +08:00
## LICENSE
2020-08-25 11:25:34 +08:00
2022-05-02 11:07:38 +08:00
This project is under the GPL V3 LICENSE.
2020-12-11 01:54:09 -08:00
[](https://app.fossa.com/projects/git%2Bgithub.com%2FPeng-YM%2FSub-Store?ref=badge_large)
2023-08-31 16:41:50 +08:00
## Star History
[](https://star-history.com/#sub -store-org/sub-store& Date)
2020-08-25 11:25:34 +08:00
## Acknowledgements
2022-05-02 11:07:38 +08:00
2020-12-12 11:54:56 +08:00
- Special thanks to @KOP -XIAO for his awesome resource-parser. Please give a [star ](https://github.com/KOP-XIAO/QuantumultX ) for his great work!
2023-08-24 00:46:24 +09:00
- Special thanks to @Orz -3 and @58xinian for their awesome icons.