GithubHelp home page GithubHelp logo

loyalsoldier / clash-rules Goto Github PK

View Code? Open in Web Editor NEW
17.7K 99.0 1.6K 161.08 MB

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

License: GNU General Public License v3.0

clash geosite gfw routing gfwlist chinalist adblock anticensorship v2ray surge

clash-rules's Issues

steam下载受到影响

白名单模式和黑名单模式都试了,steam下载和商店等正常可访问地址都走了代理

telegram的IP

建议从 http://bgp.he.net 抓取IP,我自己整理的
payload:

  • '67.198.55.0/24'
  • '91.108.4.0/22'
  • '91.108.8.0/22'
  • '91.108.12.0/22'
  • '91.108.16.0/22'
  • '91.108.20.0/22'
  • '91.108.20.0/23'
  • '91.108.56.0/22'
  • '91.108.56.0/23'
  • '95.161.64.0/20'
  • '95.161.84.0/23'
  • '109.239.140.0/24'
  • '149.154.160.0/22'
  • '149.154.164.0/22'
  • '149.154.168.0/22'
  • '149.154.172.0/22'
  • '2001:67c:4e8::/48'
  • '2001:b28:f23c::/48'
  • '2001:b28:f23d::/48'
  • '2001:b28:f23f::/48'
  • '2001:b28:f242::/48'

reject

reject的规则使腾讯视频无法播放

jsdelivr.net 在 proxy 里是不是不太合适?

rules:
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,google,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

按推荐配置的话,jsdelivr.net会一直走代理。
还有,请问为什么使用GEOIP,而不是本项目中的cncidrlancidr,是有什么考虑吗,谢谢!

某些规则文件结尾有一大堆 `+.full` 条目,是否可以删掉?

多个域名型的规则集末尾都是这样,而且数量能有几百个

例如

  - '+.zzy.dnsmail.xyz'
  - '+.zzy.dnsname.xyz'
  - '+.zzy.healthcon.xyz'
  - '+.zzy.healthorg.xyz'
  - '+.zzy.healthsection.xyz'
  - '+.zzy.namedns.xyz'
  - '+.zzz.healthsection.xyz'
  - '+.zzz5595.com'
  - '+.full'
  - '+.full'
  - '+.full'
  - '+.full'
  - '+.full'
  - '+.full'
  - '+.full'
  - '+.full'
  - '+.full'

看着总让人摸不着头脑。

ocsp.apple.com

可以给这个ocsp.apple.com 加入到代理里面去不?

关于DIRECT列表

fonts.gstatic.com
fonts.googleapis.com
这两项国内访问速度异常慢,需要移出DIRECT列表

安卓11,clash使用规则发现GOOGLE PLAY商店下载应用一直处于等待中,全局代理能够正常下载。

Capture on 2021-07-25 11:11:06.252

11:11:08.766 Debug: [PKG] 172.31.255.253:35972 --> 108.177.125.188:5228 by 10213[com.google.uid.shared]
11:11:09.469 Info: [TCP] 172.31.255.253:35972 --> 108.177.125.188 match Match() using PROXY[trojan]
11:11:13.812 Debug: [PKG] 172.31.255.253:60084 --> connectivitycheck.gstatic.com:443 by 10212[com.android.vending]
11:11:14.286 Info: [TCP] 172.31.255.253:60084 --> connectivitycheck.gstatic.com match DomainSuffix(connectivitycheck.gstatic.com) using PROXY[trojan]
11:11:42.968 Debug: [PKG] 172.31.255.253:47742 --> diagmon-apigw.samsung.com.cn:443 by 1000[android.uid.system]
11:11:43.083 Info: [TCP] 172.31.255.253:47742 --> diagmon-apigw.samsung.com.cn match RuleSet(direct) using DIRECT
11:11:45.533 Debug: [PKG] 172.31.255.253:39552 --> in.appcenter.ms:443 by 10346[com.github.kr328.clash]
11:11:45.966 Info: [TCP] 172.31.255.253:39552 --> in.appcenter.ms match RuleSet(proxy) using PROXY[trojan]
11:11:50.808 Debug: [PKG] 172.31.255.253:51806 --> android.clients.google.com:443 by -1[]
11:11:51.417 Info: [UDP] 172.31.255.253:51806 --> android.clients.google.com match DomainKeyword(google) using PROXY[trojan]
11:11:52.260 Debug: [PKG] 172.31.255.253:53928 --> android.clients.google.com:443 by 10212[com.android.vending]
11:11:52.843 Info: [TCP] 172.31.255.253:53928 --> android.clients.google.com match DomainKeyword(google) using PROXY[trojan]
11:11:53.588 Debug: [PKG] 172.31.255.253:50922 --> services.googleapis.cn:443 by 10212[com.android.vending]
11:11:54.124 Info: [TCP] 172.31.255.253:50922 --> services.googleapis.cn match DomainKeyword(google) using PROXY[trojan]
11:11:54.760 Debug: [PKG] 172.31.255.253:37608 --> r7---sn-2x3eln7r.xn--ngstr-lra8j.com:443 by 10212[com.android.vending]
11:11:55.398 Info: [TCP] 172.31.255.253:37608 --> r7---sn-2x3eln7r.xn--ngstr-lra8j.com match RuleSet(proxy) using PROXY[trojan]
11:12:00.117 Debug: [PKG] 172.31.255.253:38331 --> services.googleapis.cn:443 by -1[]
11:12:00.369 Debug: [PKG] 172.31.255.253:37614 --> r7---sn-2x3eln7r.xn--ngstr-lra8j.com:443 by 10212[com.android.vending]
11:12:00.678 Info: [UDP] 172.31.255.253:38331 --> services.googleapis.cn match DomainKeyword(google) using PROXY[trojan]
11:12:00.886 Info: [TCP] 172.31.255.253:37614 --> r7---sn-2x3eln7r.xn--ngstr-lra8j.com match RuleSet(proxy) using PROXY[trojan]

部分APP规则需优化

比如抖音APP,开着clash就会不流畅,关了就流畅了。可能与它有国内国际版,且互相限制有关。
不知对于此类APP有什么合适的策略。

提供一种parser可以自动替换订阅的规则为自定义规则

首先在parser中,使用reg来匹配所有url,或者自定义url均可:

parsers: # array
  - reg: .*$
    file: "path/to/parser.js"

在parser.js中可以这样写:

module.exports.parse = async (raw, { axios, yaml, notify, console }, { name, url, interval, selected }) => {
    var obj = yaml.parse(raw)
    var first_name=obj['proxy-groups'][0]['name']

    var rules=["PROCESS-NAME,v2ray,DIRECT",
    "PROCESS-NAME,xray,DIRECT",
    "PROCESS-NAME,naive,DIRECT",
    "PROCESS-NAME,trojan,DIRECT",
    "PROCESS-NAME,trojan-go,DIRECT",
    "PROCESS-NAME,ss-local,DIRECT",
    "PROCESS-NAME,privoxy,DIRECT",
    "PROCESS-NAME,leaf,DIRECT",
    "PROCESS-NAME,v2ray.exe,DIRECT",
    "PROCESS-NAME,xray.exe,DIRECT",
    "PROCESS-NAME,naive.exe,DIRECT",
    "PROCESS-NAME,trojan.exe,DIRECT",
    "PROCESS-NAME,trojan-go.exe,DIRECT",
    "PROCESS-NAME,ss-local.exe,DIRECT",
    "PROCESS-NAME,privoxy.exe,DIRECT",
    "PROCESS-NAME,leaf.exe,DIRECT",
    "PROCESS-NAME,Surge,DIRECT",
    "PROCESS-NAME,Surge 2,DIRECT",
    "PROCESS-NAME,Surge 3,DIRECT",
    "PROCESS-NAME,Surge 4,DIRECT",
    "PROCESS-NAME,Surge%202,DIRECT",
    "PROCESS-NAME,Surge%203,DIRECT",
    "PROCESS-NAME,Surge%204,DIRECT",
    "PROCESS-NAME,Thunder,DIRECT",
    "PROCESS-NAME,DownloadService,DIRECT",
    "PROCESS-NAME,qBittorrent,DIRECT",
    "PROCESS-NAME,Transmission,DIRECT",
    "PROCESS-NAME,fdm,DIRECT",
    "PROCESS-NAME,aria2c,DIRECT",
    "PROCESS-NAME,Folx,DIRECT",
    "PROCESS-NAME,NetTransport,DIRECT",
    "PROCESS-NAME,uTorrent,DIRECT",
    "PROCESS-NAME,WebTorrent,DIRECT",
    "PROCESS-NAME,aria2c.exe,DIRECT",
    "PROCESS-NAME,BitComet.exe,DIRECT",
    "PROCESS-NAME,fdm.exe,DIRECT",
    "PROCESS-NAME,NetTransport.exe,DIRECT",
    "PROCESS-NAME,qbittorrent.exe,DIRECT",
    "PROCESS-NAME,Thunder.exe,DIRECT",
    "PROCESS-NAME,ThunderVIP.exe,DIRECT",
    "PROCESS-NAME,transmission-daemon.exe,DIRECT",
    "PROCESS-NAME,transmission-qt.exe,DIRECT",
    "PROCESS-NAME,uTorrent.exe,DIRECT",
    "PROCESS-NAME,WebTorrent.exe,DIRECT",
    "DOMAIN,clash.razord.top,DIRECT",
    "DOMAIN,yacd.haishan.me,DIRECT",
    "RULE-SET,private,DIRECT",
    "RULE-SET,direct,DIRECT",
    "RULE-SET,icloud,DIRECT",
    "RULE-SET,apple,DIRECT",
    "RULE-SET,google,DIRECT",
    "RULE-SET,reject,REJECT",
    "RULE-SET,proxy,"+first_name,
    "RULE-SET,telegramcidr,"+first_name,
    "MATCH,DIRECT"]
    
    obj['rules']=rules

    var str_obj=yaml.stringify(obj)
    
    var rule_providers=`rule-providers:
    reject:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt
      path: ./ruleset/reject.yaml
      interval: 86400
    icloud:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt
      path: ./ruleset/icloud.yaml
      interval: 86400
    apple:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt
      path: ./ruleset/apple.yaml
      interval: 86400
    google:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt
      path: ./ruleset/google.yaml
      interval: 86400
    proxy:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt
      path: ./ruleset/proxy.yaml
      interval: 86400
    direct:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt
      path: ./ruleset/direct.yaml
      interval: 86400
    private:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt
      path: ./ruleset/private.yaml
      interval: 86400
    gfw:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt
      path: ./ruleset/gfw.yaml
      interval: 86400
    greatfire:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt
      path: ./ruleset/greatfire.yaml
      interval: 86400
    tld-not-cn:
      type: http
      behavior: domain
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt
      path: ./ruleset/tld-not-cn.yaml
      interval: 86400
    telegramcidr:
      type: http
      behavior: ipcidr
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt
      path: ./ruleset/telegramcidr.yaml
      interval: 86400
    cncidr:
      type: http
      behavior: ipcidr
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt
      path: ./ruleset/cncidr.yaml
      interval: 86400
    lancidr:
      type: http
      behavior: ipcidr
      url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt
      path: ./ruleset/lancidr.yaml
      interval: 86400`
      str_obj+=rule_providers
    return str_obj
  }

大家可以按照自己的需要修改

direct.txt cn 问题

你好,如果我不使用国内的 dns 解析,域名里面有 cn 结尾的话,会有问题,可以去掉么?

  • '+.cn'
    这个

作者可以试试下 juejin.cn 用 1.1.1.1 8.8.8.8 解析,出现的解析 ip 非国内,这样,clashx 还是会直接连接解析出来的美国 ip,这样,juejin.cn 就不能访问了,还有 www.sian.com.cn 的,也是一样的

proxy列表包含asus.com

这条规则会导致华硕或梅林固件路由器管理页:router.asuas.com无法加载,理论上也会导致华硕的ddns绕路。

✨ 激赏 | Donation ✨

通过比特币激励我创作|Buy me a coffee by BTC:

  • 比特币(BTC)bech32 地址:bc1qfe4nxcanet4w4ph8pf6qqyf263y68vw26nv9j9
  • 比特币(BTC)地址:3PRyneb1D7jFFBakAaJiCRSsxsXAtMr7LN

加入规则集后没有效果,可以指点一下吗

Rules 是空的
image
image

配置文件是这样的:

mixed-port: 7890
allow-lan: false
external-controller: 127.0.0.1:9090
secret: ''
mode: rule

proxies:
  - name: "bwg_ss"
    type: ss
    server: xxxxxxxxxxxxxxxxxxx
    port: 21920
    cipher: chacha20
    password: xxxxxxxxxxxxxxxxxxx

  - name: "bwg_vmess"
    type: vmess
    server: xxxxxxxxxxxxxxxxxxx
    port: 443
    uuid: xxxxxxxxxxxxxxxxxxx
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-path: /hello

proxy-groups:
  - name: Proxy
    type: select
    proxies:
      - bwg_ss
      - bwg_vmess


rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  icloud:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
    path: ./ruleset/icloud.yaml
    interval: 86400

  apple:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
    path: ./ruleset/apple.yaml
    interval: 86400

  google:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
    path: ./ruleset/google.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

  private:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400

  gfw:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
    path: ./ruleset/gfw.yaml
    interval: 86400

  greatfire:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
    path: ./ruleset/greatfire.yaml
    interval: 86400

  tld-not-cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
    path: ./ruleset/tld-not-cn.yaml
    interval: 86400

  telegramcidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
    path: ./ruleset/telegramcidr.yaml
    interval: 86400

  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400

  lancidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
    path: ./ruleset/lancidr.yaml
    interval: 86400

rules:
  - PROCESS-NAME,v2ray,DIRECT
  - PROCESS-NAME,xray,DIRECT
  - PROCESS-NAME,naive,DIRECT
  - PROCESS-NAME,trojan,DIRECT
  - PROCESS-NAME,trojan-go,DIRECT
  - PROCESS-NAME,ss-local,DIRECT
  - PROCESS-NAME,privoxy,DIRECT
  - PROCESS-NAME,leaf,DIRECT
  - PROCESS-NAME,v2ray.exe,DIRECT
  - PROCESS-NAME,xray.exe,DIRECT
  - PROCESS-NAME,naive.exe,DIRECT
  - PROCESS-NAME,trojan.exe,DIRECT
  - PROCESS-NAME,trojan-go.exe,DIRECT
  - PROCESS-NAME,ss-local.exe,DIRECT
  - PROCESS-NAME,privoxy.exe,DIRECT
  - PROCESS-NAME,leaf.exe,DIRECT
  - PROCESS-NAME,Surge,DIRECT
  - PROCESS-NAME,Surge 2,DIRECT
  - PROCESS-NAME,Surge 3,DIRECT
  - PROCESS-NAME,Surge 4,DIRECT
  - PROCESS-NAME,Surge%202,DIRECT
  - PROCESS-NAME,Surge%203,DIRECT
  - PROCESS-NAME,Surge%204,DIRECT
  - PROCESS-NAME,Thunder,DIRECT
  - PROCESS-NAME,DownloadService,DIRECT
  - PROCESS-NAME,qBittorrent,DIRECT
  - PROCESS-NAME,Transmission,DIRECT
  - PROCESS-NAME,fdm,DIRECT
  - PROCESS-NAME,aria2c,DIRECT
  - PROCESS-NAME,Folx,DIRECT
  - PROCESS-NAME,NetTransport,DIRECT
  - PROCESS-NAME,uTorrent,DIRECT
  - PROCESS-NAME,WebTorrent,DIRECT
  - PROCESS-NAME,aria2c.exe,DIRECT
  - PROCESS-NAME,BitComet.exe,DIRECT
  - PROCESS-NAME,fdm.exe,DIRECT
  - PROCESS-NAME,NetTransport.exe,DIRECT
  - PROCESS-NAME,qbittorrent.exe,DIRECT
  - PROCESS-NAME,Thunder.exe,DIRECT
  - PROCESS-NAME,ThunderVIP.exe,DIRECT
  - PROCESS-NAME,transmission-daemon.exe,DIRECT
  - PROCESS-NAME,transmission-qt.exe,DIRECT
  - PROCESS-NAME,uTorrent.exe,DIRECT
  - PROCESS-NAME,WebTorrent.exe,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,google,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

在ClashX中使用Proxy Provider搭配本规则的参考资料

https://donnadie.top/manage-clashx-custom-config/

教程不是我写的,今天在研究本项目不影响自动更新节点下被重新覆盖的解决办法参考了这份资料,对我有所帮助,希望也能给大家带来个参考

主要是这一段和教程给的参考设置有些不同

**该项目提供了每天更新的较为完善的配置文件,且不同部分的规则都分文件管理,非常清晰

项目说明中已经提供了 rule-providers 的配置方法,这里指出几个注意事项:

该规则集使用了三个策略组:DIRECT 、 REJECT 、 PROXY 。前面两个是clash内核自带的策略组,第三个则需要自己在 proxy-groups 中添加。也就是说 proxy groups 字段中至少应该具备如下配置:**

proxy-groups:
  - name: PROXY
    type: select
    use:
      - foo
      - bar
    proxies:
      - DIRECT

如要将普通带规则的Clash订阅转换成Proxy Provider形式

参考了此项目提供的工具

https://github.com/qier222/proxy-provider-converter

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.