Convert Figma logo to code with AI

tindy2013 logosubconverter

Utility to convert between various subscription format

12,827
2,721
12,827
196

Top Related Projects

3,266

SSR 去广告ACL规则/SS完整GFWList规则/Clash规则碎片,Telegram频道订阅地址

🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 等基于 Clash Premium 内核的客户端。

4,027

Yet Another Clash Dashboard

Quick Overview

Subconverter is an open-source utility for converting between various proxy subscription formats. It supports a wide range of input and output formats, making it easier for users to manage and use different proxy services across various applications and platforms.

Pros

  • Supports numerous input and output formats, including Surge, Clash, Quantumult, and more
  • Highly customizable with extensive configuration options
  • Actively maintained with regular updates and improvements
  • Cross-platform compatibility (Windows, macOS, Linux)

Cons

  • Steep learning curve for new users due to complex configuration options
  • Documentation can be challenging to navigate, especially for non-Chinese speakers
  • May require additional setup and maintenance for self-hosted deployments
  • Performance can be affected when handling large numbers of proxies

Getting Started

  1. Download the latest release from the GitHub repository.
  2. Extract the files to a directory of your choice.
  3. Create a configuration file named pref.ini in the same directory as the executable.
  4. Run the executable to start the conversion service.

Basic usage example:

./subconverter -g

This command starts the subconverter with default settings. You can then access the web interface at http://localhost:25500 to perform conversions.

For more advanced usage, you can create a custom configuration file and use it like this:

./subconverter -c /path/to/your/custom_config.ini

Refer to the project's documentation for detailed information on configuration options and advanced usage.

Competitor Comparisons

3,266

SSR 去广告ACL规则/SS完整GFWList规则/Clash规则碎片,Telegram频道订阅地址

Pros of ACL4SSR

  • Extensive collection of pre-configured rules for various applications and services
  • Regular updates to keep rules current with changing network environments
  • Community-driven development with frequent contributions and improvements

Cons of ACL4SSR

  • Limited flexibility for custom rule creation compared to subconverter
  • May include unnecessary rules for some users, potentially impacting performance
  • Steeper learning curve for users unfamiliar with ACL syntax

Code Comparison

subconverter:

def convert(input_content, input_type, output_type):
    # Convert between different proxy subscription formats
    parsed_content = parse_input(input_content, input_type)
    return generate_output(parsed_content, output_type)

ACL4SSR:

# Example ACL rule
[Rule]
DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-KEYWORD,facebook,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

The subconverter project focuses on converting between different proxy subscription formats, while ACL4SSR primarily provides pre-configured ACL rules for various applications and services. subconverter offers more flexibility in terms of input and output formats, whereas ACL4SSR excels in providing ready-to-use rule sets for common scenarios.

🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 等基于 Clash Premium 内核的客户端。

Pros of clash-rules

  • Focused specifically on Clash configuration rules
  • Regularly updated with new rule sets and domains
  • Lightweight and easy to integrate into existing Clash setups

Cons of clash-rules

  • Limited to Clash rule generation only
  • Requires manual integration with other tools for full subscription conversion
  • Less flexible for non-Clash proxy clients

Code Comparison

clash-rules:

payload:
  - DOMAIN-SUFFIX,example.com
  - IP-CIDR,192.168.1.0/24
  - GEOIP,CN

subconverter:

[custom]
enable_rule_generator=true
overwrite_original_rules=true

clash_rule_base=base/clash.yaml

Summary

clash-rules is a specialized repository for maintaining up-to-date Clash rule sets, while subconverter is a more comprehensive tool for converting between various proxy subscription formats. clash-rules excels in providing ready-to-use rules for Clash users, but lacks the versatility of subconverter in handling multiple proxy protocols and configurations. subconverter offers greater flexibility and conversion capabilities, making it suitable for users working with diverse proxy setups beyond just Clash.

4,027

Yet Another Clash Dashboard

Pros of yacd

  • User-friendly web dashboard for Clash
  • Lightweight and easy to deploy
  • Modern, responsive UI design

Cons of yacd

  • Limited to Clash configuration visualization and control
  • Lacks advanced subscription conversion features
  • Requires a running Clash core to function

Code comparison

yacd (React component):

function App() {
  return (
    <div className="app">
      <Header />
      <SideBar />
      <Content />
    </div>
  );
}

subconverter (C++ configuration parsing):

void Config::loadConfiguration(const std::string &path)
{
    INIReader reader(path);
    if (reader.ParseError() < 0)
        throw std::runtime_error("Failed to load configuration file.");
}

Summary

yacd is a web dashboard for Clash, offering a user-friendly interface for managing Clash configurations. It's lightweight and easy to deploy but limited to Clash-specific functionality.

subconverter, on the other hand, is a powerful tool for converting between various proxy subscription formats. It offers more advanced features for subscription management and conversion but lacks a built-in user interface.

While yacd focuses on providing a sleek UI for Clash users, subconverter is more versatile in handling different proxy protocols and subscription formats. The choice between the two depends on specific use cases and requirements.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

subconverter

Utility to convert between various proxy subscription formats.

Build Status GitHub tag (latest SemVer) GitHub release GitHub license

Docker README

中文文档

Supported Types

TypeAs SourceAs TargetTarget Name
Clash✓✓clash
ClashR✓✓clashr
Quantumult✓✓quan
Quantumult X✓✓quanx
Loon✓✓loon
SS (SIP002)✓✓ss
SS Android✓✓sssub
SSD✓✓ssd
SSR✓✓ssr
Surfboard✓✓surfboard
Surge 2✓✓surge&ver=2
Surge 3✓✓surge&ver=3
Surge 4✓✓surge&ver=4
V2Ray✓✓v2ray
Telegram-liked HTTP/Socks 5 links✓×Only as source

Notice:

  1. Shadowrocket users should use ss, ssr or v2ray as target.

  2. You can add &remark= to Telegram-liked HTTP/Socks 5 links to set a remark for this node. For example:


Quick Usage

Using default groups and rulesets configuration directly, without changing any settings

Access Interface

http://127.0.0.1:25500/sub?target=%TARGET%&url=%URL%&config=%CONFIG%

Description

ArgumentRequiredExampleDescription
targetYesclashTarget subscription type. Acquire from Target Name in Supported Types.
urlYeshttps%3A%2F%2Fwww.xxx.comSubscription to convert. Supports URLs and file paths. Process with URLEncode first.
configNohttps%3A%2F%2Fwww.xxx.comExternal configuration file path. Supports URLs and file paths. Process with URLEncode first. More examples can be found in this repository.

If you need to merge two or more subscription, you should join them with '|' before the URLEncode process.

Example:

You have 2 subscriptions and you want to merge them and generate a Clash subscription:
1. https://dler.cloud/subscribe/ABCDE?clash=vmess
2. https://rich.cloud/subscribe/ABCDE?clash=vmess

First use '|' to separate 2 subscriptions:
https://dler.cloud/subscribe/ABCDE?clash=vmess|https://rich.cloud/subscribe/ABCDE?clash=vmess

Then process it with URLEncode to get %URL%:
https%3A%2F%2Fdler.cloud%2Fsubscribe%2FABCDE%3Fclash%3Dvmess%7Chttps%3A%2F%2Frich.cloud%2Fsubscribe%2FABCDE%3Fclash%3Dvmess

Then fill %TARGET% and %URL% in Access Interface with actual values:
http://127.0.0.1:25500/sub?target=clash&url=https%3A%2F%2Fdler.cloud%2Fsubscribe%2FABCDE%3Fclash%3Dvmess%7Chttps%3A%2F%2Frich.cloud%2Fsubscribe%2FABCDE%3Fclash%3Dvmess

Finally subscribe this link in Clash and you are done!

Advanced Usage

Please refer to 中文文档.

Auto Upload

Upload Gist automatically

Add a Personal Access Token into gistconf.ini in the root directory, then add &upload=true to the local subscription link, then when you access this link, the program will automatically update the content to Gist repository.

Example:

[common]
;uncomment the following line and enter your token to enable upload function
token = xxxxxxxxxxxxxxxxxxxxxxxx(Your Personal Access Token)