Skip to content

🎃🍒👻 自定义Clash代理规则的方案 (代理匹配速度明显提升)

Notifications You must be signed in to change notification settings

lin199811/clash-rules-lite

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Readme Stats

Clash Rules Lite

🍒 自定义代理规则,精简匹配规则 (代理匹配速度明显提升)。

https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/rules.txt

代理规则列表

Tips: 有200M以上宽带,且有多设备同时使用代理需求,可以考虑上能刷固件的路由器,或者软路由,刷OpenWrt使用OpenClash插件,使用体验也会不错~ (一般使用买便宜的就够了)

工具介绍

  • Clash 默认的GFW代理规则内容太多,使用过程中明显感觉到有延迟
  • 本工具的想法是代理规则一边用一边添加,毕竟我们访问的网站应该很有限
  • 该工具的目的是删除不必要的代理规则,方便用户自定义代理的内容
  • 代理规则放在github仓库中方便多设备同步,只需编辑rules.txt即可
  • 当用户更新规则后,使用Github Actions自动将规则缓存到免费CDN上
  • 用户在 github 上更新规则后,在 clash 的 providers 上点击刷新即可拉取更新

使用方法

  1. fork 本仓库:Fork zhanyeye/clash-rules-lite
  2. 启动 GitHub Action,并手动触发 Generate Rules for Clash 工作流,若执行成功,则Github端配置已完成
a. 设置完成后可通过访问 https://cdn.jsdelivr.net/gh/{GITHUB-USERNAME}/clash-rules-lite@release/rules.txt 来验证
b. {GITHUB-USERNAME} 需替换成自己的GitHub用户名
  1. 鼠标右击订阅的配置文件选中“复制”,将复制的文件命名为local(因为更新订阅链接时会覆盖你的修改)
  1. 在你复制的 local 配置中,修改配置如下,注意 proxies, proxy-groups{YOUR-GITHUB-USERNAME} 修改为你的配置(加粗的部分)
 
mixed-port: 7890
allow-lan: true
bind-address: '*'
mode: rule
log-level: silent
external-controller: '127.0.0.1:9090'
proxies:
    - { name: '1-香港', type: *, server: **, port: *, cipher: **, password: **, udp: true }
    - { name: '2-香港', type: *, server: **, port: *, cipher: **, password: **, udp: true }
proxy-groups:
    - { name: 'PROXY', type: select, proxies: ['1-香港', '2-香港'] }
rules:
  - DOMAIN-KEYWORD,github,PROXY
  - DOMAIN-KEYWORD,google,PROXY
  - RULE-SET,pac,PROXY
rule-providers:
  pac:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/{YOUR-GITHUB-USERNAME}/clash-rules-lite@release/rules.txt"
    path: ./rules/pac.yaml
    interval: 86400
script:
  code: |
    def main(ctx, metadata):
        keywords = ["google", "github"]
        for key in keywords:
            if key in metadata["host"]:
                return "PROXY"
        if ctx.rule_providers["pac"].match(metadata):
            return "PROXY"
        else:
            return "DIRECT"

  1. 运行修改后的 local 配置,再切换成 RuleScript 模式

自定义代理规则

修改仓库中rules.txt,修改完后会自动更新并邮件提醒(有可能没有邮件提醒),然后在 Clash 上刷新 providers

造轮子实现奇怪的需求

  • 使用python脚本解析订阅链接,自动生成改配置文件,需要你在 Python 代码中设置好你的订阅链接,代码见:generate_config_quickly.py
  • 注意该解析脚本是基于本人的订阅链接编写的,不一定适合所有机场,你可以自己修改代码,比较容易

About

🎃🍒👻 自定义Clash代理规则的方案 (代理匹配速度明显提升)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%