Top Related Projects
Utility to convert between various subscription format
SSR 去广告ACL规则/SS完整GFWList规则/Clash规则碎片,Telegram频道订阅地址
搜集、整理、维护 Surge / Quantumult (X) / Shadowrocket / Surfboard / clash (Premium) 实用规则。
🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 等基于 Clash Premium 内核的客户端。
Quick Overview
CareyWang/sub-web is a web-based subscription conversion tool for various proxy protocols. It provides a user-friendly interface for converting and combining different subscription formats, making it easier for users to manage and utilize multiple proxy services.
Pros
- Easy-to-use web interface for subscription conversion
- Supports multiple proxy protocols and subscription formats
- Customizable output options for tailored results
- Open-source project with potential for community contributions
Cons
- Requires self-hosting or reliance on public instances
- May have limitations in handling certain subscription formats
- Potential security concerns when processing sensitive subscription data
- Limited documentation for advanced usage and customization
Getting Started
To set up and run sub-web locally:
-
Clone the repository:
git clone https://github.com/CareyWang/sub-web.git -
Navigate to the project directory:
cd sub-web -
Install dependencies:
npm install -
Start the development server:
npm run serve -
Access the web interface at
http://localhost:8080
For production deployment, build the project using:
npm run build
Then serve the contents of the dist directory using a web server of your choice.
Competitor Comparisons
Utility to convert between various subscription format
Pros of subconverter
- More comprehensive conversion capabilities, supporting a wider range of proxy protocols
- Backend-focused, offering greater flexibility for integration into various systems
- Actively maintained with frequent updates and improvements
Cons of subconverter
- Requires more technical knowledge to set up and configure
- Lacks a built-in user interface, making it less accessible for non-technical users
- May require additional resources to run as a backend service
Code Comparison
sub-web (Vue.js frontend):
export default {
data() {
return {
sourceSubUrl: '',
targetSubUrl: '',
customBackend: ''
}
},
// ...
}
subconverter (C++ backend):
int main(int argc, char *argv[]) {
init();
if(argc > 1 && strcmp(argv[1], "-cfw") == 0)
cfw_child_process();
else
start_web_server();
return 0;
}
sub-web focuses on providing a user-friendly interface for subscription conversion, while subconverter offers a powerful backend engine for handling complex conversion tasks. sub-web is more suitable for end-users who prefer a graphical interface, whereas subconverter is better for developers and advanced users who need more control and integration options.
SSR 去广告ACL规则/SS完整GFWList规则/Clash规则碎片,Telegram频道订阅地址
Pros of ACL4SSR
- More comprehensive rule sets for content filtering and ad blocking
- Regularly updated with community contributions
- Includes pre-configured lists for popular services and regions
Cons of ACL4SSR
- Primarily focused on rule sets, lacking a user-friendly interface
- May require more technical knowledge to implement and customize
- Limited documentation in English
Code Comparison
sub-web:
export function getShortId(id) {
return id.split('-')[0]
}
ACL4SSR:
[custom]
;不要随意改变关键字,否则会导致出错
;acl4SSR规则
;设置规则标志位
ruleset=🎯 全球直连,rules/ACL4SSR/Clash/LocalAreaNetwork.list
The code snippets highlight the different focus areas of the two projects. sub-web emphasizes frontend functionality, while ACL4SSR concentrates on rule configurations for network filtering.
sub-web provides a more user-friendly interface for subscription management, while ACL4SSR offers extensive rule sets for content filtering and ad blocking. ACL4SSR may require more technical expertise to implement, but it provides more comprehensive and regularly updated rules for various services and regions.
搜集、整理、维护 Surge / Quantumult (X) / Shadowrocket / Surfboard / clash (Premium) 实用规则。
Pros of SS-Rule-Snippet
- Provides a comprehensive set of rules for various proxy tools and platforms
- Regularly updated with new rules and optimizations
- Offers detailed documentation and usage instructions
Cons of SS-Rule-Snippet
- Requires manual configuration and integration with proxy tools
- May have a steeper learning curve for beginners
- Limited customization options without modifying the rule files directly
Code Comparison
SS-Rule-Snippet (Surge configuration example):
[Rule]
DOMAIN-SUFFIX,googleapis.com,Proxy
DOMAIN-SUFFIX,instagram.com,Proxy
DOMAIN-SUFFIX,cdninstagram.com,Proxy
DOMAIN-SUFFIX,fbcdn.net,Proxy
DOMAIN-SUFFIX,facebook.com,Proxy
sub-web (Vue.js component example):
<template>
<div class="subscription-card">
<el-card>
<div slot="header" class="clearfix">
<span>{{ name }}</span>
</div>
<div class="text item">
{{ url }}
</div>
</el-card>
</div>
</template>
While SS-Rule-Snippet focuses on providing pre-configured rule sets, sub-web offers a web-based interface for managing and converting proxy subscriptions. SS-Rule-Snippet is more suitable for users who prefer direct rule management, while sub-web caters to those who want a user-friendly GUI for subscription handling.
🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 等基于 Clash Premium 内核的客户端。
Pros of clash-rules
- Focuses specifically on providing rule sets for Clash, making it more specialized
- Regularly updated with the latest domain lists and IP ranges
- Offers a variety of rule sets for different purposes (e.g., ads, streaming, gaming)
Cons of clash-rules
- Limited to rule sets only, doesn't provide a user interface or subscription conversion
- Requires more technical knowledge to implement and use effectively
- May need additional tools or scripts to integrate with Clash clients
Code comparison
sub-web:
export function getClashType() {
return localStorage.getItem('clash_type') || 'clash';
}
clash-rules:
payload:
- DOMAIN-SUFFIX,googleapis.cn
- DOMAIN-SUFFIX,googleapis.com
- DOMAIN-SUFFIX,google.cn
Summary
sub-web is a web-based tool for converting and managing proxy subscriptions, offering a user-friendly interface. clash-rules, on the other hand, focuses solely on providing up-to-date rule sets for Clash. While sub-web offers more versatility in subscription management, clash-rules excels in maintaining specific, curated rule sets for various purposes. The choice between the two depends on whether you need a comprehensive subscription management tool or specialized rule sets for Clash.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
sub-web
åºäº Vue.js 2.6 ä¸ tindy2013/subconverter å端å®ç°ç订é é ç½®èªå¨çæ Web çé¢ãæä¾äºç®æ´ç¾è§çå端çé¢ï¼æ¯æå¤ç§ä»£ç客æ·ç«¯é ç½®çæã
â¨ ç¹æ§
- ð¨ åºäº Vue 2.6 + Element UI çç°ä»£åçé¢
- ð¦ æ¨¡ååæ¶æï¼æäºç»´æ¤åæ©å±
- ð³ Docker ä¸é®é¨ç½²
- ð 髿§è½æå»ºï¼æ¯æ Gzip å缩
- ð± ååºå¼è®¾è®¡ï¼æ¯æç§»å¨ç«¯
- â¡ æ¯æèªå®ä¹è½¬æ¢åæ°
- ð 宿¶é ç½®é¢è§åçæ
ð å¿«éå¼å§
ä½¿ç¨ Dockerï¼æ¨èï¼
ä¸é®é¨ç½²ï¼æ éé ç½®ï¼
docker run -d \
-p 58080:80 \
--restart always \
--name subweb \
careywong/subweb:latest
è®¿é® http://localhost:58080/ å³å¯ä½¿ç¨ã
æ¬å°å¼å
# å
é项ç®
git clone https://github.com/CareyWang/sub-web.git
cd sub-web
# å®è£
ä¾èµ
yarn install
# å¯å¨å¼åæå¡å¨
yarn dev
è®¿é® http://localhost:5173/ æ¥çåºç¨ã
ð¦ ç¯å¢è¦æ±
- Node.js: 22.x
- Yarn: 1.22+
- Docker: 20.10+ ï¼å¯éï¼ç¨äºå®¹å¨åé¨ç½²ï¼
éªè¯å®è£
# æ£æ¥ Node.js çæ¬
node -v
# åºè¾åº: v22.x.x
# æ£æ¥ Yarn çæ¬
yarn -v
# åºè¾åº: 1.22.x
ð ï¸ å®è£
ä½¿ç¨ Yarnï¼æ¨èï¼
# å
é项ç®
git clone https://github.com/CareyWang/sub-web.git
cd sub-web
# å®è£
ä¾èµ
yarn install
ç¯å¢é ç½®
å建 .env æä»¶é
ç½®å端æå¡ï¼å¯éï¼å¦éèªå®ä¹å端å°åï¼ï¼
# Subconverter å端å°å
VITE_SUBCONVERTER_DEFAULT_BACKEND=https://api.wcc.best
# 项ç®ä¸ç¤¾åºé¾æ¥
VITE_PROJECT=https://github.com/CareyWang/sub-web
VITE_BOT_LINK=https://t.me/subconverter_discuss
# å¯éï¼è¿ç¨é
ç½®ä¸è¯´æææ¡£
VITE_SUBCONVERTER_REMOTE_CONFIG=
VITE_SUBCONVERTER_DOC_ADVANCED=
# å¯éï¼åç«¯çæ¬æ è¯
VITE_BACKEND_RELEASE=
# å¯éï¼ç龿¥ä¸é
ç½®ä¸ä¼ æå¡
VITE_MYURLS_API=
VITE_CONFIG_UPLOAD_API=
# å¯éï¼å¼å¯æ¬å°åå¨ä¸ç¼å TTLï¼ç§ï¼
VITE_USE_STORAGE=true
VITE_CACHE_TTL=86400
妿é¨ç½²å¨åè·¯å¾ï¼å¦ /sub-web/ï¼ï¼éè¿ BASE_URL æå®è·¯ç±åºç¡è·¯å¾ã
ð 使ç¨
å¼åç¯å¢
# å¯å¨å¼åæå¡å¨
yarn dev
è®¿é® http://localhost:5173/ æ¥çåºç¨ã
ç产æå»º
# æå»ºçäº§çæ¬
yarn build
æå»ºå®æåï¼dist ç®å½å
嫿æç产æä»¶ã
ð³ Docker é¨ç½²
æ¬å°æå»º
å¦éä¿®æ¹ä»£ç å¹¶èªå®ä¹æå»ºï¼
# æå»ºéå
docker build -t subweb-local:latest .
# è¿è¡å®¹å¨
docker run -d \
-p 58080:80 \
--restart always \
--name subweb \
subweb-local:latest
Docker Compose é¨ç½²
ä½¿ç¨ Docker Compose ä¸é®é¨ç½²å®æ´æå¡æ ï¼å å« MyUrls ç龿¥æå¡ï¼ï¼
# è¿å
¥ services ç®å½
cd services
# ç¼è¾ .env æä»¶ï¼ä¿®æ¹ç«¯å£åååé
ç½®
# é»è®¤é
ç½®ï¼SUBWEB_PORT=58080, MYURLS_PORT=8002
vim .env
# å¯å¨æææå¡
docker-compose up -d
ð é¨ç½²
Nginx é 置示ä¾
é ç½® Nginx ä½ä¸ºåå代çåéææä»¶æå¡å¨ï¼
server {
listen 80;
server_name your-domain.com;
# HTTPS éå®åï¼å¯éï¼
# return 301 https://$server_name$request_uri;
root /var/www/sub-web/dist;
index index.html index.htm;
# SPA è·¯ç±æ¯æ
location / {
try_files $uri $uri/ /index.html;
}
# Gzip å缩
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types
text/plain
text/css
text/javascript
application/json
application/javascript
application/x-javascript
application/xml
text/xml;
gzip_vary on;
# éæèµæºç¼å
location ~* \.(css|js|png|jpg|jpeg|gif|gz|svg|mp4|ogg|ogv|webm|htc|xml|woff|woff2|ttf|eot)$ {
access_log off;
add_header Cache-Control "public,max-age=86400";
add_header Vary Accept-Encoding;
}
}
# HTTPS é
置示ä¾ï¼å¯éï¼
server {
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate /path/to/your/cert.pem;
ssl_certificate_key /path/to/your/key.pem;
# SSL å®å
¨é
ç½®
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
root /var/www/sub-web/dist;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
}
ð ç¸å ³é¡¹ç®
- tindy2013/subconverter - 强大ç订é 转æ¢å端
- CareyWang/MyUrls - ç龿¥æå¡ï¼å¯ä¸ sub-web é å使ç¨
ð¤ è´¡ç®æå
æä»¬æ¬¢è¿ææå½¢å¼çè´¡ç®ï¼
è´¡ç®æ¹å¼
- Fork æ¬ä»åº
- åå»ºç¹æ§åæ¯ (
git checkout -b feature/AmazingFeature) - æäº¤æ´æ¹ (
git commit -m 'Add some AmazingFeature') - æ¨éå°åæ¯ (
git push origin feature/AmazingFeature) - å建 Pull Request
å¼åæå
- éµå¾ª ESLint 代ç è§è
- æ´æ°ç¸å ³ææ¡£
- ç¡®ä¿ææ CI æ£æ¥éè¿
é®é¢åé¦
妿æ¨éå°ä»»ä½é®é¢æææ¹è¿å»ºè®®ï¼è¯·ï¼
- æ¥ç Issues æ¯å¦å·²æç±»ä¼¼é®é¢
- å建æ°ç Issue å¹¶æä¾è¯¦ç»ä¿¡æ¯
- 使ç¨åéçæ ç¾æ è®°é®é¢ç±»å
ð 许å¯è¯
æ¬é¡¹ç®éç¨ MIT 许å¯è¯ - æ¥ç LICENSE æä»¶äºè§£è¯¦æ ã
Copyright © 2020-2025 CareyWong
ð è´è°¢
æè°¢ææä¸ºè¿ä¸ªé¡¹ç®ååºè´¡ç®çå¼åè åç¨æ·ï¼
ç¹å«æè°¢ï¼
- tindy2013/subconverter - æä¾å¼ºå¤§ç转æ¢å端
- Vue.js å Element UI å¢é - ä¼ç§çåç«¯æ¡æ¶åç»ä»¶åº
ð 项ç®ç»è®¡
Top Related Projects
Utility to convert between various subscription format
SSR 去广告ACL规则/SS完整GFWList规则/Clash规则碎片,Telegram频道订阅地址
搜集、整理、维护 Surge / Quantumult (X) / Shadowrocket / Surfboard / clash (Premium) 实用规则。
🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 等基于 Clash Premium 内核的客户端。
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot