Sub-Store README

The project's README from github.com/sub-store-org/Sub-Store. As one markdown file: README.md.

Sub-Store

Sub-Store

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

Build GitHub GitHub issues GitHub closed pull requests Size
sub-store-org%2FSub-Store | Trendshift Buy Me A Coffee 联系推广

MaruCode MaruCode 是一家偶尔做做慈善的小破站 API,自营号池,不搞充值营销套路,主要提供 Codex、Claude Code、GPT Image-2 等主流模型,支持 WebSocket 协议,明码标价(Codex 0.3x, CC 1.5x),透明汇率(1:1),新用户注册 送 2 刀 💰 生图工作台 🖼

📚 文档/DOC

sub.store Domain Safety Notice

Statement

⚠️ sub.store is only the domain used by module-script rewrite MitM rules. It is not a public domain owned by us.

Risk

If a request does not go through the rewrite, the data will be sent to the public sub.store service.

You can map sub.store to 127.0.0.1 or another local address to prevent accidental access to the public sub.store. However, ordinary users may still send requests to the public sub.store after switching or toggling configuration modules.

  1. It could, in theory, redirect users to a fake frontend. This is only a possibility and does not imply that the owner of sub.store would do this. Note: The official frontend is https://sub-store.vercel.app.
  2. It could receive user data from sub.store.

This creates a data leakage risk.

Plan

After listening to suggestions from the group, we will not switch to a new domain for now. Choosing a new domain is also awkward: it needs to be related, short, and unlikely to be registered by someone else, at least in the short term.

This notice is published only as an announcement. No changes will be made for now.

Example:

[Host]
sub.store = 127.0.0.1

CORS Allowlist

Sub-Store also supports a configurable browser CORS allowlist for the backend API. This does not change the module rewrite domain, but it limits which browser origins can read API responses through CORS.

Core functionalities:

  1. Conversion among various formats.
  2. Subscription formatting.
  3. Collect multiple subscriptions in one URL.
  4. Host and modify subscriptions/files

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

⚠️ 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).

Deprecated(The frontend doesn't show it, but the backend still supports it, with the query parameter target=Clash):

Supported Target Platforms

Deprecated:

2. Subscription Formatting

Filtering

Proxy Operations

Development

Install pnpm

Go to backend directories, install node dependencies:

pnpm i
SUB_STORE_BACKEND_API_PORT=3000 pnpm esbuild:dev

or this one if you're using Termux

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

Build

pnpm bundle:esbuild

LICENSE

This project is under the AGPL-3.0 LICENSE.

FOSSA Status

Star History

Star History

Acknowledgements

Sponsors

image

NodeSupport sponsored this project.

致谢

感谢赞助商 ForZTN 对项目服务器的支持,感谢。

Sub-Store (sub-store-org/Sub-Store)

Searching Database…

10.7K ·GitHub
Что это такое?Sub-Store — продвинутый менеджер подписок для прокси-приложений вроде Quantumult X, Loon, Surge, Stash, Egern и Shadowrocket: он конвертирует подписки между форматами и управляет вашими списками узлов.
Это приложение на телефоне или то, что я размещаю сам?Он работает как модули-скрипты внутри вашего прокси-приложения через правила перезаписи MitM, либо как самостоятельно размещаемый бэкенд на Node.js с отдельным веб-интерфейсом.
Как его запустить?Для самостоятельной сборки в README сказано: установите pnpm, перейдите в каталоги backend и установите node-зависимости — для Termux на Android есть ещё и альтернативная команда установки.
Домену sub.store можно доверять? Я видел большое предупреждение о нём.sub.store — это лишь домен, используемый в правилах перезаписи MitM для модулей-скриптов, и команде он не принадлежит. Запрос в обход правила перезаписи попадает на публичный сервис, что грозит утечкой данных — привязка sub.store к 127.0.0.1 это предотвращает.
Могут ли другие сайты прочитать мои данные подписки через браузер?Это можно закрыть с помощью CORS-белого списка: в Node- и серверных развёртываниях задаётся SUBSTORECORSALLOWEDORIGINS, в модулях для прокси-приложений — аргумент модуля cors, а источники сверяются точно по схеме, хосту и порту.
Какие форматы прокси он умеет читать на входе?URI-схемы для SS, SSR, VMess, VLESS, Trojan, Hysteria, Hysteria 2, TUIC v5, WireGuard, AnyTLS и SOCKS, а также YAML-конфиги Clash и конфиги QX, Loon, Surge и mihomo. Обычные прокси-URI HTTP(S) не поддерживаются, поскольку у них нет стандартного формата, а URI, экспортированные из Shadowrocket или NekoBox, могут быть нестандартными (распространённые вроде VMess и VLESS всё же принимаются).
В какие приложения он может конвертировать мою подписку?Обычный JSON, Stash, Clash.Meta (mihomo), Surfboard, Surge, SurgeMac, Loon, Egern, Shadowrocket, Quantumult X, sing-box и V2Ray; старый формат Clash по-прежнему работает через параметр запроса target=Clash.
Можно ли объединить несколько подписок в одну ссылку?Да — сбор нескольких подписок в единую ссылку одна из ключевых возможностей Sub-Store, наряду с конвертацией форматов и размещением собственных файлов подписок.
Может он почистить или переименовать узлы в моей подписке?Да. Есть фильтры по регулярным выражениям, региону, типу и скриптам, а также фильтр бесполезных прокси, плюс операторы, чтобы переименовывать, сортировать или удалять узлы по регулярным выражениям, добавлять и убирать флаги стран, задавать свойства вроде udp или skip-cert-verify и определять IP-адреса доменов узлов.
Size
15.9 MB
Stars
10.7K
Age
6y
Commits · 90 Days