Files
Sub-Store/README.md

125 lines
4.7 KiB
Markdown
Raw Normal View History

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
[![Build](https://github.com/sub-store-org/Sub-Store/actions/workflows/main.yml/badge.svg)](https://github.com/sub-store-org/Sub-Store/actions/workflows/main.yml) ![GitHub](https://img.shields.io/github/license/sub-store-org/Sub-Store) ![GitHub issues](https://img.shields.io/github/issues/sub-store-org/Sub-Store) ![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed-raw/Peng-Ym/Sub-Store) ![Lines of code](https://img.shields.io/tokei/lines/github/sub-store-org/Sub-Store) ![Size](https://img.shields.io/github/languages/code-size/sub-store-org/Sub-Store)
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
[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/PengYM)
2020-08-21 18:12:29 +08:00
Core functionalities:
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.
2022-06-21 22:56:35 +08:00
## 1. Subscription Conversion
2020-08-19 14:37:25 +08:00
### Supported Input Formats
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))
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)
- [x] Clash Proxies YAML
- [x] Clash Proxy JSON(single line)
- [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))
- [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)
- [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
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
- [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
2020-08-19 14:13:42 +08:00
### Filtering
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
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
2023-10-30 01:44:18 +08:00
Install `pnpm`
Go to `backend` directories, install node dependencies:
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)
```
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
This project is under the GPL V3 LICENSE.
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FPeng-YM%2FSub-Store.svg?type=large)](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
[![Star History Chart](https://api.star-history.com/svg?repos=sub-store-org/sub-store&type=Date)](https://star-history.com/#sub-store-org/sub-store&Date)
2020-08-25 11:25:34 +08:00
## Acknowledgements
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!
- Special thanks to @Orz-3 and @58xinian for their awesome icons.