Clash订阅定制器

Clash订阅定制器/Clash Subscription Customizer

支持的功能

  • 自定义所有Clash配置项:

    port, socks-port, redir-port, tproxy-port, mixed-port, allow-lan, bind-address, mode, log-level, ipv6, external-controller, external-ui, secret, interface-name, routing-mark, hosts, profile, dns等

  • 支持远程配置,兼容subconverter远程配置中的ruleset, custom_proxy_group, enable_rule_generatoroverwrite_original_rules

    示例配置:

    [custom]
    
    ruleset=DIRECT,https://gist.githubusercontent.com/amchii/e30212140d249c978bedf3f3a7affca2/raw
    ; ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list
    ; ruleset=🎯 全球直连,[]GEOIP,LAN
    ; ruleset=🎯 全球直连,[]GEOIP,CN
    ; ruleset=🐟 漏网之鱼,[]FINAL
    
    ; custom_proxy_group=🚀 节点选择`select`[]DIRECT`.*
    ; custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择
    ; custom_proxy_group=🛑 全球拦截`select`[]REJECT`[]DIRECT
    ; custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]🎯 全球直连`.*
    
    enable_rule_generator=true
    overwrite_original_rules=false
    
    ; override original options
    port=7890
    log-level=info
    mode=rule
    

使用

通过pip安装

pip install -U sub-customizer
# 或者同时安装API依赖
pip install -U sub-customizer[api]

启动http服务

sub-customizer serve  # 默认127.0.0.1:57890
sub-customizer serve --host 0.0.0.0 --port 5789  # 自定义地址和端口

docker

dockerfile在docker目录下,内容如下:

FROM python:3.12-slim

RUN apt-get update
RUN pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple && \
    pip install -U sub-customizer[api]

WORKDIR /opt/sub-customizer

CMD ["sub-customizer", "serve", "--host", "0.0.0.0", "--port", "57890"]
# build镜像
docker build -t sub-customizer:latest -f Dockerfile .

# 运行
docker run --name sub-customizer -d -p 57890:57890 sub-customizer:latest

打开http://127.0.0.1:57890/customizer/sub_customizer 使用即可。

为什么不使用subconverter

subconverter提供了很多功能,主要包括订阅转换,自定义规则等等。但是对于我或者很多人来说并不需要那些,我所需要的仅仅是能够对多个机场订阅更新时自动应用同一套代理规则(如对oaifree和linuxdo使用直连),还有保留机场自带规则(大部分机场自带的规则已经够好),并且简单易配置
除了兼容subconverter远程配置中的ruleset, custom_proxy_group, enable_rule_generatoroverwrite_original_rules之外,其他项直接读取并覆盖原订阅配置文件。

49 个赞

前排围观支持一下

2 个赞

谢谢支持zf!

1 个赞

围观支持一下

1 个赞

支持,不知道什么用,但是感觉很厉害

1 个赞

不明觉厉,支持一下

1 个赞

自己在本地部署?

1 个赞

前排围观支持一下

1 个赞

支持下 :+1: :+1: :+1:

1 个赞

当然了,用别人部署的也可以,你不怕泄露订阅的话。

1 个赞

感谢你的分享 !

1 个赞

感谢你的分享 !

点赞

收藏,回头装一个试试

非常不错的项目

我来占个位置 :nerd_face:

感谢大佬分享

我想这个需求proxy-providers就可以做到

你说的proxy-providers是整合多个代理服务提供者的订阅吗?目前没这个需求,也还不支持。

期待佬友可以加上把不同的机场订阅和个人节点(比如vless、ss等)进行合并的功能!

谢谢分享