Clash - A rule-based tunnel in Go.

Clash
Clash

A rule-based tunnel in Go.

Github Actions

Features

  • Local HTTP/HTTPS/SOCKS server with authentication support
  • VMess, Shadowsocks, Trojan, Snell protocol support for remote connections
  • Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP.
  • Rules based off domains, GEOIP, IP CIDR or ports to forward packets to different nodes
  • Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node based off latency
  • Remote providers, allowing users to get node lists remotely instead of hardcoding in config
  • Netfilter TCP redirecting. Deploy Clash on your Internet gateway with iptables.
  • Comprehensive HTTP RESTful API controller

Premium Features

Getting Started

Documentations are now moved to GitHub Wiki.

Premium Release

Release

Credits

License

This software is released under the GPL-3.0 license.

FOSSA Status

TODO

  • Complementing the necessary rule operators
  • Redir proxy
  • UDP support
  • Connection manager
Comments
  • [Bug] Clash 的 SSR 实现方式会造成断流极其严重

    [Bug] Clash 的 SSR 实现方式会造成断流极其严重


    Clash config

    config.yaml
    port: 7893
    # SOCKS5 代理端口
    socks-port: 7891
    # Linux 和 macOS 的 redir 代理端口
    redir-port: 7892
    # 允许局域网的连接
    allow-lan: true
    bind-address: "*"
    
    # 规则模式:Rule(规则) / Global(全局代理)/ Direct(全局直连)
    ipv6: false
    mode: rule
    
    # 设置日志输出级别 (默认级别:silent,即不输出任何内容,以避免因日志内容过大而导致程序内存溢出)。
    # 5 个级别:silent / info / warning / error / debug。级别越高日志输出量越大,越倾向于调试,若需要请自行开启。
    log-level: silent
    # Clash 的 RESTful API
    external-controller: 0.0.0.0:9090
    
    # RESTful API 的口令
    secret: "123456"
    
    # 您可以将静态网页资源(如 clash-dashboard)放置在一个目录中,clash 将会服务于 `RESTful API/ui`
    # 参数应填写配置目录的相对路径或绝对路径。
    # external-ui: folder
    
    
    external-ui: "/usr/share/openclash/dashboard"
    dns:
      enable: true
      ipv6: false
      enhanced-mode: fake-ip
      fake-ip-range: 198.18.0.1/16
      listen: 127.0.0.1:7874
      fake-ip-filter:
    ##Custom fake-ip-filter##
      - '*.lan'
      - 'time.windows.com'
      - 'time.nist.gov'
      - 'time.apple.com'
      - 'time.asia.apple.com'
      - '*.ntp.org.cn'
      - '*.openwrt.pool.ntp.org'
      - 'time1.cloud.tencent.com'
      - 'time.ustc.edu.cn'
      - 'pool.ntp.org'
      - 'ntp.ubuntu.com'
      - 'ntp.aliyun.com'
      - 'ntp1.aliyun.com'
      - 'ntp2.aliyun.com'
      - 'ntp3.aliyun.com'
      - 'ntp4.aliyun.com'
      - 'ntp5.aliyun.com'
      - 'ntp6.aliyun.com'
      - 'ntp7.aliyun.com'
      - 'time1.aliyun.com'
      - 'time2.aliyun.com'
      - 'time3.aliyun.com'
      - 'time4.aliyun.com'
      - 'time5.aliyun.com'
      - 'time6.aliyun.com'
      - 'time7.aliyun.com'
      - '*.time.edu.cn'
      - 'time1.apple.com'
      - 'time2.apple.com'
      - 'time3.apple.com'
      - 'time4.apple.com'
      - 'time5.apple.com'
      - 'time6.apple.com'
      - 'time7.apple.com'
      - 'time1.google.com'
      - 'time2.google.com'
      - 'time3.google.com'
      - 'time4.google.com'
      - 'music.163.com'
      - '*.music.163.com'
      - '*.126.net'
      - 'musicapi.taihe.com'
      - 'music.taihe.com'
      - 'songsearch.kugou.com'
      - 'trackercdn.kugou.com'
      - '*.kuwo.cn'
      - 'api-jooxtt.sanook.com'
      - 'api.joox.com'
      - 'joox.com'
      - 'y.qq.com'
      - '*.y.qq.com'
      - 'streamoc.music.tc.qq.com'
      - 'mobileoc.music.tc.qq.com'
      - 'isure.stream.qqmusic.qq.com'
      - 'dl.stream.qqmusic.qq.com'
      - 'aqqmusic.tc.qq.com'
      - 'amobile.music.tc.qq.com'
      - '*.xiami.com'
      - '*.music.migu.cn'
      - 'music.migu.cn'
      - '*.msftconnecttest.com'
      - '*.msftncsi.com'
      - 'localhost.ptlogin2.qq.com'
      - '*.*.*.srv.nintendo.net'
      - '*.*.stun.playstation.net'
      - 'xbox.*.*.microsoft.com'
      - '*.*.xboxlive.com'
      - 'proxy.golang.org'
    ##Custom fake-ip-filter END##
      nameserver:
      - 114.114.114.114
      - 119.29.29.29
      fallback:
      - https://cloudflare-dns.com/dns-query
      - https://dns.google/dns-query
      - https://1.1.1.1/dns-query
      - tls://8.8.8.8:853
      fallback-filter:
        geoip: true
        ipcidr:
          - 0.0.0.0/8
          - 10.0.0.0/8
          - 100.64.0.0/10
          - 127.0.0.0/8
          - 169.254.0.0/16
          - 172.16.0.0/12
          - 192.0.0.0/24
          - 192.0.2.0/24
          - 192.88.99.0/24
          - 192.168.0.0/16
          - 198.18.0.0/15
          - 198.51.100.0/24
          - 203.0.113.0/24
          - 224.0.0.0/4
          - 240.0.0.0/4
          - 255.255.255.255/32
    #===================== OpenClash-General-Settings =====================#
    proxies:
    
    proxy-groups:
    -
      name: CYLINK
      type: select
      proxies:
    
    -
      name: Domestic
      type: select
      proxies:
        - DIRECT
        - CYLINK
    -
      name: Global
      type: select
      proxies:
        - CYLINK
        - DIRECT
    -
      name: Others
      type: select
      proxies:
        - CYLINK
        - DIRECT
    
    
    # 规则
    rules:
    ##Custom Rules##
    ##- DOMAIN-SUFFIX,google.com,Proxy 匹配域名后缀(交由Proxy代理服务器组)
    ##- DOMAIN-KEYWORD,google,Proxy 匹配域名关键字(交由Proxy代理服务器组)
    ##- DOMAIN,google.com,Proxy 匹配域名(交由Proxy代理服务器组)
    ##- DOMAIN-SUFFIX,ad.com,REJECT 匹配域名后缀(拒绝)
    ##- IP-CIDR,127.0.0.0/8,DIRECT 匹配数据目标IP(直连)
    ##- SRC-IP-CIDR,192.168.1.201/32,DIRECT 匹配数据发起IP(直连)
    ##- DST-PORT,80,DIRECT 匹配数据目标端口(直连)
    ##- SRC-PORT,7777,DIRECT 匹配数据源端口(直连)
    
    - DOMAIN,gdmf.apple.com,DIRECT
    - DOMAIN,xp.apple.com,DIRECT
    - DOMAIN-SUFFIX,teams.microsoft.com,Global
    
    ##排序在上的规则优先生效,如添加(去除规则前的#号):
    ##IP段:192.168.1.2-192.168.1.200 直连
    ##- SRC-IP-CIDR,192.168.1.2/31,DIRECT
    ##- SRC-IP-CIDR,192.168.1.4/30,DIRECT
    ##- SRC-IP-CIDR,192.168.1.8/29,DIRECT
    ##- SRC-IP-CIDR,192.168.1.16/28,DIRECT
    ##- SRC-IP-CIDR,192.168.1.32/27,DIRECT
    ##- SRC-IP-CIDR,192.168.1.64/26,DIRECT
    ##- SRC-IP-CIDR,192.168.1.128/26,DIRECT
    ##- SRC-IP-CIDR,192.168.1.192/29,DIRECT
    ##- SRC-IP-CIDR,192.168.1.200/32,DIRECT
    
    ##IP段:192.168.1.202-192.168.1.255 直连
    ##- SRC-IP-CIDR,192.168.1.202/31,DIRECT
    ##- SRC-IP-CIDR,192.168.1.204/30,DIRECT
    ##- SRC-IP-CIDR,192.168.1.208/28,DIRECT
    ##- SRC-IP-CIDR,192.168.1.224/27,DIRECT
    
    ##此时IP为192.168.1.1和192.168.1.201的客户端流量走代理(策略),其余客户端不走代理
    ##因为Fake-IP模式下,IP地址为192.168.1.1的路由器自身流量可走代理(策略),所以需要排除
    ##在线IP段转CIDR地址:http://ip2cidr.com
    ##Custom Rules End##
    # (Global_TV)
    # > ABC
    - DOMAIN-SUFFIX,edgedatg.com,Global
    - DOMAIN-SUFFIX,go.com,Global
    
    # > AbemaTV
    - DOMAIN,linear-abematv.akamaized.net,Global
    - DOMAIN-SUFFIX,abema.io,Global
    - DOMAIN-SUFFIX,abema.tv,Global
    - DOMAIN-SUFFIX,akamaized.net,Global
    - DOMAIN-SUFFIX,ameba.jp,Global
    - DOMAIN-SUFFIX,hayabusa.io,Global
    
    # > Amazon Prime Video
    - DOMAIN-SUFFIX,aiv-cdn.net,Global
    - DOMAIN-SUFFIX,amazonaws.com,Global
    - DOMAIN-SUFFIX,amazonvideo.com,Global
    - DOMAIN-SUFFIX,llnwd.net,Global
    
    # > Bahamut
    - DOMAIN-SUFFIX,bahamut.com.tw,Global
    - DOMAIN-SUFFIX,gamer.com.tw,Global
    - DOMAIN-SUFFIX,hinet.net,Global
    
    # > BBC
    - DOMAIN-KEYWORD,bbcfmt,Global
    - DOMAIN-KEYWORD,co.uk,Global
    - DOMAIN-KEYWORD,uk-live,Global
    - DOMAIN-SUFFIX,bbc.co,Global
    - DOMAIN-SUFFIX,bbc.co.uk,Global
    - DOMAIN-SUFFIX,bbc.com,Global
    - DOMAIN-SUFFIX,bbci.co,Global
    - DOMAIN-SUFFIX,bbci.co.uk,Global
    
    # > CHOCO TV
    - DOMAIN-SUFFIX,chocotv.com.tw,Global
    
    # > Epicgames
    - DOMAIN-KEYWORD,epicgames,Global
    - DOMAIN-SUFFIX,helpshift.com,Global
    
    # > Fox+
    - DOMAIN-KEYWORD,foxplus,Global
    - DOMAIN-SUFFIX,config.fox.com,Global
    - DOMAIN-SUFFIX,emome.net,Global
    - DOMAIN-SUFFIX,fox.com,Global
    - DOMAIN-SUFFIX,foxdcg.com,Global
    - DOMAIN-SUFFIX,foxnow.com,Global
    - DOMAIN-SUFFIX,foxplus.com,Global
    - DOMAIN-SUFFIX,foxplay.com,Global
    - DOMAIN-SUFFIX,ipinfo.io,Global
    - DOMAIN-SUFFIX,mstage.io,Global
    - DOMAIN-SUFFIX,now.com,Global
    - DOMAIN-SUFFIX,theplatform.com,Global
    - DOMAIN-SUFFIX,urlload.net,Global
    
    # > HBO && HBO Go
    - DOMAIN-SUFFIX,execute-api.ap-southeast-1.amazonaws.com,Global
    - DOMAIN-SUFFIX,hbo.com,Global
    - DOMAIN-SUFFIX,hboasia.com,Global
    - DOMAIN-SUFFIX,hbogo.com,Global
    - DOMAIN-SUFFIX,hbogoasia.hk,Global
    
    # > Hulu
    - DOMAIN-SUFFIX,happyon.jp,Global
    - DOMAIN-SUFFIX,hulu.com,Global
    - DOMAIN-SUFFIX,huluim.com,Global
    - DOMAIN-SUFFIX,hulustream.com,Global
    
    # > Imkan
    - DOMAIN-SUFFIX,imkan.tv,Global
    
    # > JOOX
    - DOMAIN-SUFFIX,joox.com,Global
    
    # > MytvSUPER
    - DOMAIN-KEYWORD,nowtv100,Global
    - DOMAIN-KEYWORD,rthklive,Global
    - DOMAIN-SUFFIX,mytvsuper.com,Global
    - DOMAIN-SUFFIX,tvb.com,Global
    
    # > Netflix
    - DOMAIN-SUFFIX,netflix.com,Global
    - DOMAIN-SUFFIX,netflix.net,Global
    - DOMAIN-SUFFIX,nflxext.com,Global
    - DOMAIN-SUFFIX,nflximg.com,Global
    - DOMAIN-SUFFIX,nflximg.net,Global
    - DOMAIN-SUFFIX,nflxso.net,Global
    - DOMAIN-SUFFIX,nflxvideo.net,Global
    
    # > Pandora
    - DOMAIN-SUFFIX,pandora.com,Global
    
    # > Sky GO
    - DOMAIN-SUFFIX,sky.com,Global
    - DOMAIN-SUFFIX,skygo.co.nz,Global
    
    # > Spotify
    - DOMAIN-KEYWORD,spotify,Global
    - DOMAIN-SUFFIX,scdn.co,Global
    - DOMAIN-SUFFIX,spoti.fi,Global
    
    # > viuTV
    - DOMAIN-SUFFIX,viu.tv,Global
    
    # > Youtube
    - DOMAIN-KEYWORD,youtube,Global
    - DOMAIN-SUFFIX,googlevideo.com,Global
    - DOMAIN-SUFFIX,gvt2.com,Global
    - DOMAIN-SUFFIX,youtu.be,Global
    
    # (Asian_TV)
    # > Bilibili
    - DOMAIN-KEYWORD,bilibili,Domestic
    - DOMAIN-SUFFIX,acg.tv,Domestic
    - DOMAIN-SUFFIX,acgvideo.com,Domestic
    - DOMAIN-SUFFIX,b23.tv,Domestic
    - DOMAIN-SUFFIX,biliapi.com,Domestic
    - DOMAIN-SUFFIX,biliapi.net,Domestic
    - DOMAIN-SUFFIX,bilibili.com,Domestic
    - DOMAIN-SUFFIX,biligame.com,Domestic
    - DOMAIN-SUFFIX,biligame.net,Domestic
    - DOMAIN-SUFFIX,hdslb.com,Domestic
    - DOMAIN-SUFFIX,im9.com,Domestic
    
    # > IQIYI
    - DOMAIN-KEYWORD,qiyi,Domestic
    - DOMAIN-SUFFIX,qy.net,Domestic
    
    # > letv
    - DOMAIN-SUFFIX,api.mob.app.letv.com,Domestic
    
    # > NeteaseMusic
    - DOMAIN-SUFFIX,163yun.com,Domestic
    - DOMAIN-SUFFIX,music.126.net,Domestic
    - DOMAIN-SUFFIX,music.163.com,Domestic
    
    # > Tencent Video
    - DOMAIN-SUFFIX,vv.video.qq.com,Domestic
    
    # China Area Network
    # > Microsoft
    - DOMAIN-SUFFIX,microsoft.com,Domestic
    - DOMAIN-SUFFIX,windows.net,Domestic
    - DOMAIN-SUFFIX,sfx.ms,Domestic
    - DOMAIN-SUFFIX,sharepoint.com,Domestic
    - DOMAIN-KEYWORD,officecdn,Domestic
    # > Blizzard
    - DOMAIN-SUFFIX,blizzard.com,Domestic
    - DOMAIN-SUFFIX,battle.net,Domestic
    - DOMAIN,blzddist1-a.akamaihd.net,Domestic
    # > Steam
    - DOMAIN-SUFFIX,steampowered.com,Domestic
    - DOMAIN-SUFFIX,steam-chat.com,Domestic
    - DOMAIN-KEYWORD,steamcdn,Domestic
    - DOMAIN-KEYWORD,steamstore,Domestic
    - DOMAIN-KEYWORD,steamuserimages,Domestic
    - DOMAIN-KEYWORD,steambroadcast,Domestic
    # > Tencent
    #USER-AGENT,MicroMessenger%20Client,Domestic
    #USER-AGENT,WeChat*,Domestic
    - DOMAIN-SUFFIX,qq.com,Domestic
    - DOMAIN-SUFFIX,qpic.cn,Domestic
    - DOMAIN-SUFFIX,tencent.com,Domestic
    # > Alibaba
    - DOMAIN-SUFFIX,alibaba.com,Domestic
    - DOMAIN-SUFFIX,alicdn.com,Domestic
    - DOMAIN-SUFFIX,amap.com,Domestic
    - DOMAIN-SUFFIX,dingtalk.com,Domestic
    - DOMAIN-SUFFIX,taobao.com,Domestic
    - DOMAIN-SUFFIX,tmall.com,Domestic
    - DOMAIN-SUFFIX,ykimg.com,Domestic
    - DOMAIN-SUFFIX,youku.com,Domestic
    - DOMAIN-SUFFIX,xiami.com,Domestic
    - DOMAIN-SUFFIX,xiami.net,Domestic
    # > NetEase
    - DOMAIN-SUFFIX,163.com,Domestic
    - DOMAIN-SUFFIX,126.net,Domestic
    - DOMAIN-SUFFIX,163yun.com,Domestic
    # > Sohu
    - DOMAIN-SUFFIX,sohu.com.cn,Domestic
    - DOMAIN-SUFFIX,itc.cn,Domestic
    - DOMAIN-SUFFIX,sohu.com,Domestic
    - DOMAIN-SUFFIX,v-56.com,Domestic
    # > Sina
    - DOMAIN-SUFFIX,weibo.com,Domestic
    - DOMAIN-SUFFIX,weibo.cn,Domestic
    # > JD
    - DOMAIN-SUFFIX,jd.com,Domestic
    - DOMAIN-SUFFIX,jd.hk,Domestic
    - DOMAIN-SUFFIX,360buyimg.com,Domestic
    # > MI
    - DOMAIN-SUFFIX,duokan.com,Domestic
    - DOMAIN-SUFFIX,mi-img.com,Domestic
    - DOMAIN-SUFFIX,mifile.cn,Domestic
    - DOMAIN-SUFFIX,xiaomi.com,Domestic
    # > bilibili
    - DOMAIN-SUFFIX,acgvideo.com,Domestic
    - DOMAIN-SUFFIX,bilibili.com,Domestic
    - DOMAIN-SUFFIX,hdslb.com,Domestic
    # > iQiyi
    - DOMAIN-SUFFIX,iqiyi.com,Domestic
    - DOMAIN-SUFFIX,iqiyipic.com,Domestic
    - DOMAIN-SUFFIX,71.am.com,Domestic
    # > HunanTV
    - DOMAIN-SUFFIX,hitv.com,Domestic
    - DOMAIN-SUFFIX,mgtv.com,Domestic
    # > Meitu
    - DOMAIN-SUFFIX,meitu.com,Domestic
    - DOMAIN-SUFFIX,meitudata.com,Domestic
    - DOMAIN-SUFFIX,meipai.com,Domestic
    # > YYeTs
    - DOMAIN-SUFFIX,zmzapi.com,Domestic
    - DOMAIN-SUFFIX,zimuzu.tv,Domestic
    - DOMAIN-SUFFIX,zmzfile.com,Domestic
    - DOMAIN-SUFFIX,zmzapi.net,Domestic
    # > 蛋蛋赞
    - DOMAIN-SUFFIX,baduziyuan.com,Domestic
    - DOMAIN-SUFFIX,com-hs-hkdy.com,Domestic
    - DOMAIN-SUFFIX,czybjz.com,Domestic
    - DOMAIN-SUFFIX,dandanzan.com,Domestic
    - DOMAIN-SUFFIX,fjhps.com,Domestic
    - DOMAIN-SUFFIX,kuyunbo.club,Domestic
    # > Baidu
    - DOMAIN-SUFFIX,baidu.com,Domestic
    - DOMAIN-SUFFIX,baidubcr.com,Domestic
    - DOMAIN-SUFFIX,bdstatic.com,Domestic
    # > ChinaNet
    - DOMAIN-SUFFIX,189.cn,Domestic
    - DOMAIN-SUFFIX,21cn.com,Domestic
    # > ByteDance
    - DOMAIN-SUFFIX,bytecdn.cn,Domestic
    - DOMAIN-SUFFIX,pstatp.com,Domestic
    - DOMAIN-SUFFIX,snssdk.com,Domestic
    - DOMAIN-SUFFIX,toutiao.com,Domestic
    # > Content Delivery Network
    # > Akamai
    - DOMAIN-SUFFIX,akadns.net,Domestic
    # - DOMAIN-SUFFIX,akamai.net,Domestic
    # - DOMAIN-SUFFIX,akamaiedge.net,Domestic
    # - DOMAIN-SUFFIX,akamaihd.net,Domestic
    # - DOMAIN-SUFFIX,akamaistream.net,Domestic
    # - DOMAIN-SUFFIX,akamaized.net,Domestic
    # > ChinaNetCenter
    - DOMAIN-SUFFIX,chinanetcenter.com,Domestic
    - DOMAIN-SUFFIX,wangsu.com,Domestic
    # > IP Query
    - DOMAIN-SUFFIX,ipip.net,Domestic
    - DOMAIN-SUFFIX,ip.cn,Domestic
    - DOMAIN-SUFFIX,ip.la,Domestic
    - DOMAIN-SUFFIX,ip-cdn.com,Domestic
    - DOMAIN-SUFFIX,ipv6-test.com,Domestic
    - DOMAIN-SUFFIX,test-ipv6.com,Domestic
    - DOMAIN-SUFFIX,whatismyip.com,Domestic
    - DOMAIN,ip.bjango.com,Domestic
    # > Other
    - DOMAIN-SUFFIX,40017.cn,Domestic
    - DOMAIN-SUFFIX,broadcasthe.net,Domestic
    - DOMAIN-SUFFIX,cailianpress.com,Domestic
    - DOMAIN-SUFFIX,chdbits.co,Domestic
    - DOMAIN-SUFFIX,chushou.tv,Domestic
    - DOMAIN-SUFFIX,cmbchina.com,Domestic
    - DOMAIN-SUFFIX,cmbimg.com,Domestic
    - DOMAIN-SUFFIX,cmct.tv,Domestic
    - DOMAIN-SUFFIX,cmvideo.cn,Domestic
    - DOMAIN-SUFFIX,cnlang.org,Domestic
    - DOMAIN-SUFFIX,doubanio.com,Domestic
    - DOMAIN-SUFFIX,douyu.com,Domestic
    - DOMAIN-SUFFIX,douyucdn.cn,Domestic
    - DOMAIN-SUFFIX,dxycdn.com,Domestic
    - DOMAIN-SUFFIX,hicloud.com,Domestic
    - DOMAIN-SUFFIX,hdchina.org,Domestic
    - DOMAIN-SUFFIX,hdcmct.org,Domestic
    - DOMAIN-SUFFIX,ithome.com,Domestic
    - DOMAIN-SUFFIX,kkmh.com,Domestic
    - DOMAIN-SUFFIX,ksosoft.com,Domestic
    - DOMAIN-SUFFIX,maoyun.tv,Domestic
    - DOMAIN-SUFFIX,meituan.net,Domestic
    - DOMAIN-SUFFIX,mobike.com,Domestic
    - DOMAIN-SUFFIX,mubu.com,Domestic
    - DOMAIN-SUFFIX,myzaker.com,Domestic
    - DOMAIN-SUFFIX,ourbits.club,Domestic
    - DOMAIN-SUFFIX,passthepopcorn.me,Domestic
    - DOMAIN-SUFFIX,paypal.com,Domestic
    - DOMAIN-SUFFIX,paypalobjects.com,Domestic
    - DOMAIN-SUFFIX,privatehd.to,Domestic
    - DOMAIN-SUFFIX,redacted.ch,Domestic
    - DOMAIN-SUFFIX,ruguoapp.com,Domestic
    - DOMAIN-SUFFIX,smzdm.com,Domestic
    - DOMAIN-SUFFIX,sogou.com,Domestic
    - DOMAIN-SUFFIX,teamviewer.com,Domestic
    - DOMAIN-SUFFIX,totheglory.im,Domestic
    - DOMAIN-SUFFIX,tp.m-team.cc,Domestic
    - DOMAIN-SUFFIX,udacity.com,Domestic
    - DOMAIN-SUFFIX,xmcdn.com,Domestic
    - DOMAIN-SUFFIX,yangkeduo.com,Domestic
    - DOMAIN-SUFFIX,zhihu.com,Domestic
    - DOMAIN-SUFFIX,zhimg.com,Domestic
    #USER-AGENT,NeteaseMusic*,Domestic
    #USER-AGENT,%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90*,Domestic
    
    # (DNS Cache Pollution Protection)
    # > Google
    - DOMAIN-SUFFIX,appspot.com,Global
    - DOMAIN-SUFFIX,blogger.com,Global
    - DOMAIN-SUFFIX,getoutline.org,Global
    - DOMAIN-SUFFIX,gvt0.com,Global
    - DOMAIN-SUFFIX,gvt1.com,Global
    - DOMAIN-SUFFIX,gvt3.com,Global
    - DOMAIN-SUFFIX,xn--ngstr-lra8j.com,Global
    - DOMAIN-KEYWORD,google,Global
    - DOMAIN-KEYWORD,blogspot,Global
    # > Facebook
    - DOMAIN-SUFFIX,cdninstagram.com,Global
    - DOMAIN-SUFFIX,fb.com,Global
    - DOMAIN-SUFFIX,fb.me,Global
    - DOMAIN-SUFFIX,fbaddins.com,Global
    - DOMAIN-SUFFIX,fbcdn.net,Global
    - DOMAIN-SUFFIX,fbsbx.com,Global
    - DOMAIN-SUFFIX,fbworkmail.com,Global
    - DOMAIN-SUFFIX,instagram.com,Global
    - DOMAIN-SUFFIX,m.me,Global
    - DOMAIN-SUFFIX,messenger.com,Global
    - DOMAIN-SUFFIX,oculus.com,Global
    - DOMAIN-SUFFIX,oculuscdn.com,Global
    - DOMAIN-SUFFIX,rocksdb.org,Global
    - DOMAIN-SUFFIX,whatsapp.com,Global
    - DOMAIN-SUFFIX,whatsapp.net,Global
    - DOMAIN-KEYWORD,facebook,Global
    # > Twitter
    - DOMAIN-SUFFIX,pscp.tv,Global
    - DOMAIN-SUFFIX,periscope.tv,Global
    - DOMAIN-SUFFIX,t.co,Global
    - DOMAIN-SUFFIX,twimg.co,Global
    - DOMAIN-SUFFIX,twimg.com,Global
    - DOMAIN-SUFFIX,twitpic.com,Global
    - DOMAIN-SUFFIX,vine.co,Global
    - DOMAIN-KEYWORD,twitter,Global
    # > Telegram
    - DOMAIN-SUFFIX,t.me,Global
    - DOMAIN-SUFFIX,tdesktop.com,Global
    - DOMAIN-SUFFIX,telegra.ph,Global
    - DOMAIN-SUFFIX,telegram.me,Global
    - DOMAIN-SUFFIX,telegram.org,Global
    # > Line
    - DOMAIN-SUFFIX,line.me,Global
    - DOMAIN-SUFFIX,line-apps.com,Global
    - DOMAIN-SUFFIX,line-scdn.net,Global
    - DOMAIN-SUFFIX,naver.jp,Global
    # > Other
    - DOMAIN-SUFFIX,4shared.com,Global
    - DOMAIN-SUFFIX,881903.com,Global
    - DOMAIN-SUFFIX,abc.net.au,Global
    - DOMAIN-SUFFIX,abebooks.com,Global
    - DOMAIN-SUFFIX,amazon.co.jp,Global
    - DOMAIN-SUFFIX,apigee.com,Global
    - DOMAIN-SUFFIX,apk-dl.com,Global
    - DOMAIN-SUFFIX,apkmirror.com,Global
    - DOMAIN-SUFFIX,apkmonk.com,Global
    - DOMAIN-SUFFIX,apkpure.com,Global
    - DOMAIN-SUFFIX,aptoide.com,Global
    - DOMAIN-SUFFIX,archive.is,Global
    - DOMAIN-SUFFIX,archive.org,Global
    - DOMAIN-SUFFIX,arte.tv,Global
    - DOMAIN-SUFFIX,ask.com,Global
    - DOMAIN-SUFFIX,avgle.com,Global
    - DOMAIN-SUFFIX,badoo.com,Global
    - DOMAIN-SUFFIX,bandwagonhost.com,Global
    - DOMAIN-SUFFIX,bbc.com,Global
    - DOMAIN-SUFFIX,behance.net,Global
    - DOMAIN-SUFFIX,bibox.com,Global
    - DOMAIN-SUFFIX,biggo.com.tw,Global
    - DOMAIN-SUFFIX,binance.com,Global
    - DOMAIN-SUFFIX,bitcointalk.org,Global
    - DOMAIN-SUFFIX,bitfinex.com,Global
    - DOMAIN-SUFFIX,bitmex.com,Global
    - DOMAIN-SUFFIX,bit-z.com,Global
    - DOMAIN-SUFFIX,bloglovin.com,Global
    - DOMAIN-SUFFIX,bloomberg.cn,Global
    - DOMAIN-SUFFIX,bloomberg.com,Global
    - DOMAIN-SUFFIX,book.com.tw,Global
    - DOMAIN-SUFFIX,booklive.jp,Global
    - DOMAIN-SUFFIX,books.com.tw,Global
    - DOMAIN-SUFFIX,box.com,Global
    - DOMAIN-SUFFIX,brookings.edu,Global
    - DOMAIN-SUFFIX,businessinsider.com,Global
    - DOMAIN-SUFFIX,bwh1.net,Global
    - DOMAIN-SUFFIX,castbox.fm,Global
    - DOMAIN-SUFFIX,cbc.ca,Global
    - DOMAIN-SUFFIX,cdw.com,Global
    - DOMAIN-SUFFIX,change.org,Global
    - DOMAIN-SUFFIX,ck101.com,Global
    - DOMAIN-SUFFIX,clarionproject.org,Global
    - DOMAIN-SUFFIX,clyp.it,Global
    - DOMAIN-SUFFIX,cna.com.tw,Global
    - DOMAIN-SUFFIX,comparitech.com,Global
    - DOMAIN-SUFFIX,conoha.jp,Global
    - DOMAIN-SUFFIX,crucial.com,Global
    - DOMAIN-SUFFIX,cts.com.tw,Global
    - DOMAIN-SUFFIX,cw.com.tw,Global
    - DOMAIN-SUFFIX,cyberctm.com,Global
    - DOMAIN-SUFFIX,dailymotion.com,Global
    - DOMAIN-SUFFIX,dailyview.tw,Global
    - DOMAIN-SUFFIX,daum.net,Global
    - DOMAIN-SUFFIX,daumcdn.net,Global
    - DOMAIN-SUFFIX,dcard.tw,Global
    - DOMAIN-SUFFIX,deepdiscount.com,Global
    - DOMAIN-SUFFIX,deezer.com,Global
    - DOMAIN-SUFFIX,depositphotos.com,Global
    - DOMAIN-SUFFIX,disconnect.me,Global
    - DOMAIN-SUFFIX,discordapp.com,Global
    - DOMAIN-SUFFIX,discordapp.net,Global
    - DOMAIN-SUFFIX,disqus.com,Global
    - DOMAIN-SUFFIX,dns2go.com,Global
    - DOMAIN-SUFFIX,dropbox.com,Global
    - DOMAIN-SUFFIX,dropboxusercontent.com,Global
    - DOMAIN-SUFFIX,duckduckgo.com,Global
    - DOMAIN-SUFFIX,dw.com,Global
    - DOMAIN-SUFFIX,dynu.com,Global
    - DOMAIN-SUFFIX,earthcam.com,Global
    - DOMAIN-SUFFIX,ebookservice.tw,Global
    - DOMAIN-SUFFIX,economist.com,Global
    - DOMAIN-SUFFIX,edgecastcdn.net,Global
    - DOMAIN-SUFFIX,edu,Global
    - DOMAIN-SUFFIX,elpais.com,Global
    - DOMAIN-SUFFIX,enanyang.my,Global
    - DOMAIN-SUFFIX,euronews.com,Global
    - DOMAIN-SUFFIX,feedly.com,Global
    - DOMAIN-SUFFIX,files.wordpress.com,Global
    - DOMAIN-SUFFIX,flickr.com,Global
    - DOMAIN-SUFFIX,flitto.com,Global
    - DOMAIN-SUFFIX,foreignpolicy.com,Global
    - DOMAIN-SUFFIX,friday.tw,Global
    - DOMAIN-SUFFIX,gate.io,Global
    - DOMAIN-SUFFIX,getlantern.org,Global
    - DOMAIN-SUFFIX,getsync.com,Global
    - DOMAIN-SUFFIX,globalvoices.org,Global
    - DOMAIN-SUFFIX,goo.ne.jp,Global
    - DOMAIN-SUFFIX,goodreads.com,Global
    - DOMAIN-SUFFIX,gov.tw,Global
    - DOMAIN-SUFFIX,gumroad.com,Global
    - DOMAIN-SUFFIX,hbg.com,Global
    - DOMAIN-SUFFIX,hightail.com,Global
    - DOMAIN-SUFFIX,hk01.com,Global
    - DOMAIN-SUFFIX,hkbf.org,Global
    - DOMAIN-SUFFIX,hkbookcity.com,Global
    - DOMAIN-SUFFIX,hkej.com,Global
    - DOMAIN-SUFFIX,hket.com,Global
    - DOMAIN-SUFFIX,hkgolden.com,Global
    - DOMAIN-SUFFIX,hootsuite.com,Global
    - DOMAIN-SUFFIX,hudson.org,Global
    - DOMAIN-SUFFIX,huobi.pro,Global
    - DOMAIN-SUFFIX,initiummall.com,Global
    - DOMAIN-SUFFIX,ipfs.io,Global
    - DOMAIN-SUFFIX,issuu.com,Global
    - DOMAIN-SUFFIX,japantimes.co.jp,Global
    - DOMAIN-SUFFIX,jiji.com,Global
    - DOMAIN-SUFFIX,jinx.com,Global
    - DOMAIN-SUFFIX,jkforum.net,Global
    - DOMAIN-SUFFIX,joinmastodon.org,Global
    - DOMAIN-SUFFIX,kakao.com,Global
    - DOMAIN-SUFFIX,lihkg.com,Global
    - DOMAIN-SUFFIX,live.com,Global
    - DOMAIN-SUFFIX,mail.ru,Global
    - DOMAIN-SUFFIX,matters.news,Global
    - DOMAIN-SUFFIX,medium.com,Global
    - DOMAIN-SUFFIX,mega.nz,Global
    - DOMAIN-SUFFIX,mil,Global
    - DOMAIN-SUFFIX,mobile01.com,Global
    - DOMAIN-SUFFIX,naver.com,Global
    - DOMAIN-SUFFIX,nikkei.com,Global
    - DOMAIN-SUFFIX,nofile.io,Global
    - DOMAIN-SUFFIX,now.com,Global
    - DOMAIN-SUFFIX,nyt.com,Global
    - DOMAIN-SUFFIX,nytchina.com,Global
    - DOMAIN-SUFFIX,nytcn.me,Global
    - DOMAIN-SUFFIX,nytco.com,Global
    - DOMAIN-SUFFIX,nytimes.com,Global
    - DOMAIN-SUFFIX,nytimg.com,Global
    - DOMAIN-SUFFIX,nytlog.com,Global
    - DOMAIN-SUFFIX,nytstyle.com,Global
    - DOMAIN-SUFFIX,ok.ru,Global
    - DOMAIN-SUFFIX,okex.com,Global
    - DOMAIN-SUFFIX,pcloud.com,Global
    - DOMAIN-SUFFIX,pinimg.com,Global
    - DOMAIN-SUFFIX,pixiv.net,Global
    - DOMAIN-SUFFIX,pornhub.com,Global
    - DOMAIN-SUFFIX,pureapk.com,Global
    - DOMAIN-SUFFIX,quora.com,Global
    - DOMAIN-SUFFIX,quoracdn.net,Global
    - DOMAIN-SUFFIX,rakuten.co.jp,Global
    - DOMAIN-SUFFIX,reddit.com,Global
    - DOMAIN-SUFFIX,redditmedia.com,Global
    - DOMAIN-SUFFIX,resilio.com,Global
    - DOMAIN-SUFFIX,reuters.com,Global
    - DOMAIN-SUFFIX,scmp.com,Global
    - DOMAIN-SUFFIX,scribd.com,Global
    - DOMAIN-SUFFIX,seatguru.com,Global
    - DOMAIN-SUFFIX,shadowsocks.org,Global
    - DOMAIN-SUFFIX,slideshare.net,Global
    - DOMAIN-SUFFIX,soundcloud.com,Global
    - DOMAIN-SUFFIX,startpage.com,Global
    - DOMAIN-SUFFIX,steamcommunity.com,Global
    - DOMAIN-SUFFIX,steemit.com,Global
    - DOMAIN-SUFFIX,t66y.com,Global
    - DOMAIN-SUFFIX,teco-hk.org,Global
    - DOMAIN-SUFFIX,teco-mo.org,Global
    - DOMAIN-SUFFIX,teddysun.com,Global
    - DOMAIN-SUFFIX,theinitium.com,Global
    - DOMAIN-SUFFIX,tineye.com,Global
    - DOMAIN-SUFFIX,torproject.org,Global
    - DOMAIN-SUFFIX,tumblr.com,Global
    - DOMAIN-SUFFIX,turbobit.net,Global
    - DOMAIN-SUFFIX,twitch.tv,Global
    - DOMAIN-SUFFIX,udn.com,Global
    - DOMAIN-SUFFIX,unseen.is,Global
    - DOMAIN-SUFFIX,upmedia.mg,Global
    - DOMAIN-SUFFIX,uptodown.com,Global
    - DOMAIN-SUFFIX,ustream.tv,Global
    - DOMAIN-SUFFIX,uwants.com,Global
    - DOMAIN-SUFFIX,v2ray.com,Global
    - DOMAIN-SUFFIX,viber.com,Global
    - DOMAIN-SUFFIX,videopress.com,Global
    - DOMAIN-SUFFIX,vimeo.com,Global
    - DOMAIN-SUFFIX,voxer.com,Global
    - DOMAIN-SUFFIX,vzw.com,Global
    - DOMAIN-SUFFIX,w3schools.com,Global
    - DOMAIN-SUFFIX,wattpad.com,Global
    - DOMAIN-SUFFIX,whoer.net,Global
    - DOMAIN-SUFFIX,wikimapia.org,Global
    - DOMAIN-SUFFIX,wikipedia.org,Global
    - DOMAIN-SUFFIX,wire.com,Global
    - DOMAIN-SUFFIX,worldcat.org,Global
    - DOMAIN-SUFFIX,wsj.com,Global
    - DOMAIN-SUFFIX,wsj.net,Global
    - DOMAIN-SUFFIX,xboxlive.com,Global
    - DOMAIN-SUFFIX,xvideos.com,Global
    - DOMAIN-SUFFIX,yahoo.com,Global
    - DOMAIN-SUFFIX,yesasia.com,Global
    - DOMAIN-SUFFIX,yes-news.com,Global
    - DOMAIN-SUFFIX,yomiuri.co.jp,Global
    - DOMAIN-SUFFIX,you-get.org,Global
    - DOMAIN-SUFFIX,zb.com,Global
    - DOMAIN-SUFFIX,zello.com,Global
    - DOMAIN-SUFFIX,zeronet.io,Global
    - DOMAIN,cdn-images.mailchimp.com,Global
    - DOMAIN,id.heroku.com,Global
    - DOMAIN-KEYWORD,github,Global
    - DOMAIN-KEYWORD,jav,Global
    - DOMAIN-KEYWORD,pinterest,Global
    - DOMAIN-KEYWORD,porn,Global
    - DOMAIN-KEYWORD,wikileaks,Global
    
    # (Region-Restricted Access Denied)
    - DOMAIN-SUFFIX,apartmentratings.com,Global
    - DOMAIN-SUFFIX,apartments.com,Global
    - DOMAIN-SUFFIX,bankmobilevibe.com,Global
    - DOMAIN-SUFFIX,bing.com,Global
    - DOMAIN-SUFFIX,booktopia.com.au,Global
    - DOMAIN-SUFFIX,centauro.com.br,Global
    - DOMAIN-SUFFIX,clearsurance.com,Global
    - DOMAIN-SUFFIX,costco.com,Global
    - DOMAIN-SUFFIX,crackle.com,Global
    - DOMAIN-SUFFIX,depositphotos.cn,Global
    - DOMAIN-SUFFIX,dish.com,Global
    - DOMAIN-SUFFIX,dmm.co.jp,Global
    - DOMAIN-SUFFIX,dmm.com,Global
    - DOMAIN-SUFFIX,dnvod.tv,Global
    - DOMAIN-SUFFIX,esurance.com,Global
    - DOMAIN-SUFFIX,extmatrix.com,Global
    - DOMAIN-SUFFIX,fastpic.ru,Global
    - DOMAIN-SUFFIX,flipboard.com,Global
    - DOMAIN-SUFFIX,fnac.be,Global
    - DOMAIN-SUFFIX,fnac.com,Global
    - DOMAIN-SUFFIX,funkyimg.com,Global
    - DOMAIN-SUFFIX,fxnetworks.com,Global
    - DOMAIN-SUFFIX,gettyimages.com,Global
    - DOMAIN-SUFFIX,jcpenney.com,Global
    - DOMAIN-SUFFIX,kknews.cc,Global
    - DOMAIN-SUFFIX,nationwide.com,Global
    - DOMAIN-SUFFIX,nbc.com,Global
    - DOMAIN-SUFFIX,nordstrom.com,Global
    - DOMAIN-SUFFIX,nordstromimage.com,Global
    - DOMAIN-SUFFIX,nordstromrack.com,Global
    - DOMAIN-SUFFIX,read01.com,Global
    - DOMAIN-SUFFIX,superpages.com,Global
    - DOMAIN-SUFFIX,target.com,Global
    - DOMAIN-SUFFIX,thinkgeek.com,Global
    - DOMAIN-SUFFIX,tracfone.com,Global
    - DOMAIN-SUFFIX,uploader.jp,Global
    - DOMAIN-SUFFIX,vevo.com,Global
    - DOMAIN-SUFFIX,viu.tv,Global
    - DOMAIN-SUFFIX,vk.com,Global
    - DOMAIN-SUFFIX,vsco.co,Global
    - DOMAIN-SUFFIX,xfinity.com,Global
    - DOMAIN-SUFFIX,zattoo.com,Global
    - DOMAIN,abc.com,Global
    - DOMAIN,abc.go.com,Global
    - DOMAIN,abc.net.au,Global
    - DOMAIN,wego.here.com,Global
    #USER-AGENT,Roam*,Global
    
    # (The Most Popular Sites)
    # > Apple
    # > Apple URL Shortener
    - DOMAIN-SUFFIX,appsto.re,Global
    # > TestFlight
    - DOMAIN,beta.itunes.apple.com,Global
    # > iBooks Store download
    - DOMAIN,books.itunes.apple.com,Global
    # > iTunes Store Moveis Trailers
    - DOMAIN,hls.itunes.apple.com,Global
    # App Store Preview
    - DOMAIN,itunes.apple.com,Global
    # > Spotlight
    - DOMAIN,api-glb-sea.smoot.apple.com,Global
    # > Dictionary
    - DOMAIN,lookup-api.apple.com,Global
    #PROCESS-NAME,LookupViewService,Global
    # > Google
    - DOMAIN-SUFFIX,abc.xyz,Global
    - DOMAIN-SUFFIX,android.com,Global
    - DOMAIN-SUFFIX,androidify.com,Global
    - DOMAIN-SUFFIX,dialogflow.com,Global
    - DOMAIN-SUFFIX,autodraw.com,Global
    - DOMAIN-SUFFIX,capitalg.com,Global
    - DOMAIN-SUFFIX,certificate-transparency.org,Global
    - DOMAIN-SUFFIX,chrome.com,Global
    - DOMAIN-SUFFIX,chromeexperiments.com,Global
    - DOMAIN-SUFFIX,chromestatus.com,Global
    - DOMAIN-SUFFIX,chromium.org,Global
    - DOMAIN-SUFFIX,creativelab5.com,Global
    - DOMAIN-SUFFIX,debug.com,Global
    - DOMAIN-SUFFIX,deepmind.com,Global
    - DOMAIN-SUFFIX,firebaseio.com,Global
    - DOMAIN-SUFFIX,getmdl.io,Global
    - DOMAIN-SUFFIX,ggpht.com,Global
    - DOMAIN-SUFFIX,gmail.com,Global
    - DOMAIN-SUFFIX,gmodules.com,Global
    - DOMAIN-SUFFIX,godoc.org,Global
    - DOMAIN-SUFFIX,golang.org,Global
    - DOMAIN-SUFFIX,gstatic.com,Global
    - DOMAIN-SUFFIX,gv.com,Global
    - DOMAIN-SUFFIX,gwtproject.org,Global
    - DOMAIN-SUFFIX,itasoftware.com,Global
    - DOMAIN-SUFFIX,madewithcode.com,Global
    - DOMAIN-SUFFIX,material.io,Global
    - DOMAIN-SUFFIX,polymer-project.org,Global
    - DOMAIN-SUFFIX,admin.recaptcha.net,Global
    - DOMAIN-SUFFIX,recaptcha.net,Global
    - DOMAIN-SUFFIX,shattered.io,Global
    - DOMAIN-SUFFIX,synergyse.com,Global
    - DOMAIN-SUFFIX,tensorflow.org,Global
    - DOMAIN-SUFFIX,tiltbrush.com,Global
    - DOMAIN-SUFFIX,waveprotocol.org,Global
    - DOMAIN-SUFFIX,waymo.com,Global
    - DOMAIN-SUFFIX,webmproject.org,Global
    - DOMAIN-SUFFIX,webrtc.org,Global
    - DOMAIN-SUFFIX,whatbrowser.org,Global
    - DOMAIN-SUFFIX,widevine.com,Global
    - DOMAIN-SUFFIX,x.company,Global
    - DOMAIN-SUFFIX,youtu.be,Global
    - DOMAIN-SUFFIX,yt.be,Global
    - DOMAIN-SUFFIX,ytimg.com,Global
    # > Steam
    - DOMAIN,media.steampowered.com,Global
    - DOMAIN,store.steampowered.com,Global
    # > Other
    - DOMAIN-SUFFIX,0rz.tw,Global
    - DOMAIN-SUFFIX,4bluestones.biz,Global
    - DOMAIN-SUFFIX,9bis.net,Global
    - DOMAIN-SUFFIX,allconnected.co,Global
    - DOMAIN-SUFFIX,amazonaws.com,Global
    - DOMAIN-SUFFIX,aol.com,Global
    - DOMAIN-SUFFIX,bcc.com.tw,Global
    - DOMAIN-SUFFIX,bit.ly,Global
    - DOMAIN-SUFFIX,bitshare.com,Global
    - DOMAIN-SUFFIX,blog.jp,Global
    - DOMAIN-SUFFIX,blogimg.jp,Global
    - DOMAIN-SUFFIX,blogtd.org,Global
    - DOMAIN-SUFFIX,broadcast.co.nz,Global
    - DOMAIN-SUFFIX,camfrog.com,Global
    - DOMAIN-SUFFIX,cfos.de,Global
    - DOMAIN-SUFFIX,citypopulation.de,Global
    - DOMAIN-SUFFIX,cloudfront.net,Global
    - DOMAIN-SUFFIX,ctitv.com.tw,Global
    - DOMAIN-SUFFIX,cuhk.edu.hk,Global
    - DOMAIN-SUFFIX,cusu.hk,Global
    - DOMAIN-SUFFIX,discuss.com.hk,Global
    - DOMAIN-SUFFIX,dropboxapi.com,Global
    - DOMAIN-SUFFIX,edditstatic.com,Global
    - DOMAIN-SUFFIX,flickriver.com,Global
    - DOMAIN-SUFFIX,focustaiwan.tw,Global
    - DOMAIN-SUFFIX,free.fr,Global
    - DOMAIN-SUFFIX,ftchinese.com,Global
    - DOMAIN-SUFFIX,gigacircle.com,Global
    - DOMAIN-SUFFIX,gov,Global
    - DOMAIN-SUFFIX,hk-pub.com,Global
    - DOMAIN-SUFFIX,hosting.co.uk,Global
    - DOMAIN-SUFFIX,hwcdn.net,Global
    - DOMAIN-SUFFIX,jtvnw.net,Global
    - DOMAIN-SUFFIX,linksalpha.com,Global
    - DOMAIN-SUFFIX,manyvids.com,Global
    - DOMAIN-SUFFIX,myactimes.com,Global
    - DOMAIN-SUFFIX,newsblur.com,Global
    - DOMAIN-SUFFIX,now.im,Global
    - DOMAIN-SUFFIX,redditlist.com,Global
    - DOMAIN-SUFFIX,signal.org,Global
    - DOMAIN-SUFFIX,sparknotes.com,Global
    - DOMAIN-SUFFIX,streetvoice.com,Global
    - DOMAIN-SUFFIX,ttvnw.net,Global
    - DOMAIN-SUFFIX,tv.com,Global
    - DOMAIN-SUFFIX,twitchcdn.net,Global
    - DOMAIN-SUFFIX,typepad.com,Global
    - DOMAIN-SUFFIX,udnbkk.com,Global
    - DOMAIN-SUFFIX,whispersystems.org,Global
    - DOMAIN-SUFFIX,wikia.com,Global
    - DOMAIN-SUFFIX,wn.com,Global
    - DOMAIN-SUFFIX,wolframalpha.com,Global
    - DOMAIN-SUFFIX,x-art.com,Global
    - DOMAIN-SUFFIX,yimg.com,Global
    
    - DOMAIN-KEYWORD,dlercloud,Global
    - DOMAIN-SUFFIX,dler.cloud,Global
    
    # Local Area Network
    - DOMAIN-KEYWORD,announce,DIRECT
    - DOMAIN-SUFFIX,smtp,DIRECT
    - DOMAIN-SUFFIX,local,DIRECT
    - IP-CIDR,192.168.0.0/16,DIRECT
    - IP-CIDR,10.0.0.0/8,DIRECT
    - IP-CIDR,172.16.0.0/12,DIRECT
    - IP-CIDR,127.0.0.0/8,DIRECT
    - IP-CIDR,100.64.0.0/10,DIRECT
    
    # > IQIYI
    - IP-CIDR,101.227.0.0/16,Domestic
    - IP-CIDR,101.224.0.0/13,Domestic
    - IP-CIDR,119.176.0.0/12,Domestic
    
    # > Youku
    - IP-CIDR,106.11.0.0/16,Domestic
    
    # > Telegram
    - IP-CIDR,67.198.55.0/24,Global
    - IP-CIDR,91.108.4.0/22,Global
    - IP-CIDR,91.108.8.0/22,Global
    - IP-CIDR,91.108.12.0/22,Global
    - IP-CIDR,91.108.16.0/22,Global
    - IP-CIDR,91.108.56.0/22,Global
    - IP-CIDR,109.239.140.0/24,Global
    - IP-CIDR,149.154.160.0/20,Global
    - IP-CIDR,205.172.60.0/22,Global
    
    # (Extra IP-CIRD)
    # > Google
    - IP-CIDR,35.190.247.0/24,Global
    - IP-CIDR,64.233.160.0/19,Global
    - IP-CIDR,66.102.0.0/20,Global
    - IP-CIDR,66.249.80.0/20,Global
    - IP-CIDR,72.14.192.0/18,Global
    - IP-CIDR,74.125.0.0/16,Global
    - IP-CIDR,108.177.8.0/21,Global
    - IP-CIDR,172.217.0.0/16,Global
    - IP-CIDR,173.194.0.0/16,Global
    - IP-CIDR,209.85.128.0/17,Global
    - IP-CIDR,216.58.192.0/19,Global
    - IP-CIDR,216.239.32.0/19,Global
    # > Facebook
    - IP-CIDR,31.13.24.0/21,Global
    - IP-CIDR,31.13.64.0/18,Global
    - IP-CIDR,45.64.40.0/22,Global
    - IP-CIDR,66.220.144.0/20,Global
    - IP-CIDR,69.63.176.0/20,Global
    - IP-CIDR,69.171.224.0/19,Global
    - IP-CIDR,74.119.76.0/22,Global
    - IP-CIDR,103.4.96.0/22,Global
    - IP-CIDR,129.134.0.0/17,Global
    - IP-CIDR,157.240.0.0/17,Global
    - IP-CIDR,173.252.64.0/19,Global
    - IP-CIDR,173.252.96.0/19,Global
    - IP-CIDR,179.60.192.0/22,Global
    - IP-CIDR,185.60.216.0/22,Global
    - IP-CIDR,204.15.20.0/22,Global
    # > Twitter
    - IP-CIDR,69.195.160.0/19,Global
    - IP-CIDR,104.244.42.0/21,Global
    - IP-CIDR,192.133.76.0/22,Global
    - IP-CIDR,199.16.156.0/22,Global
    - IP-CIDR,199.59.148.0/22,Global
    - IP-CIDR,199.96.56.0/21,Global
    - IP-CIDR,202.160.128.0/22,Global
    - IP-CIDR,209.237.192.0/19,Global
    
    # GeoIP China
    - IP-CIDR,198.18.0.1/16,REJECT,no-resolve
    - GEOIP,CN,Domestic
    
    ##Custom Rules 2##
    ##- DOMAIN-SUFFIX,google.com,Proxy 匹配域名后缀(交由Proxy代理服务器组)
    ##- DOMAIN-KEYWORD,google,Proxy 匹配域名关键字(交由Proxy代理服务器组)
    ##- DOMAIN,google.com,Proxy 匹配域名(交由Proxy代理服务器组)
    ##- DOMAIN-SUFFIX,ad.com,REJECT 匹配域名后缀(拒绝)
    ##- IP-CIDR,127.0.0.0/8,DIRECT 匹配数据目标IP(直连)
    ##- SRC-IP-CIDR,192.168.1.201/32,DIRECT 匹配数据发起IP(直连)
    ##- DST-PORT,80,DIRECT 匹配数据目标端口(直连)
    ##- SRC-PORT,7777,DIRECT 匹配数据源端口(直连)
    ##Custom Rules 2 End##
    - MATCH,Others
    
    

    Clash log

    time="2020-09-29T02:48:09Z" level=info msg="Start initial compatible provider CYLINK"
    time="2020-09-29T02:48:09Z" level=info msg="Start initial compatible provider Domestic"
    time="2020-09-29T02:48:09Z" level=info msg="Start initial compatible provider Others"
    time="2020-09-29T02:48:09Z" level=info msg="Start initial compatible provider Global"
    2020-09-29 10:48:06 OpenClash Start Successful
    time="2020-09-29T03:09:18Z" level=info msg="DNS server listening at: 127.0.0.1:7874"
    2020-09-29 11:09:16 OpenClash Start Successful
    time="2020-09-29T03:09:53Z" level=info msg="[TCP] 192.168.0.177:52276 --> 140.82.113.3 match Match() using Others[中继 美国 B4 [1x | GD-Linode]]"
    time="2020-09-29T03:11:41Z" level=info msg="[TCP] 192.168.0.177:52278 --> 140.82.113.3 match Match() using Others[中继 美国 B4 [1x | GD-Linode]]"
    

    环境 Environment

    • 操作系统 (the OS that the Clash core is running on) OpenWRT
    • 网路环境或拓扑 (network conditions/topology) OpenWRT主路由

    说明 Description

    Clash 的 SSR 实现方式会造成断流极其严重

    重现问题的具体布骤 Steps to Reproduce

    1. [First Step] 在Clash上使用一个SSR节点
    2. [Second Step] 找一个比较大的GitHub仓库(比如OpenClash)并 fork
    3. [Third Step] 使用ssh方式进行git clone

    我预期会发生……?

    ❯ git clone [email protected]:R3pl4c3r/OpenClash.git
    正克隆到 'OpenClash'...
    remote: Enumerating objects: 8100, done.
    remote: Total 8100 (delta 0), reused 0 (delta 0), pack-reused 8100
    接收对象中: 100% (8100/8100), 48.65 MiB | 5.93 MiB/s, 完成.
    处理 delta 中: 100% (3250/3250), 完成.
    

    实际上发生了什么?

    ❯ git clone [email protected]:R3pl4c3r/OpenClash.git
    正克隆到 'OpenClash'...
    remote: Enumerating objects: 8100, done.
    Connection to github.com closed by remote host.MiB/s    
    fatal: 远端意外挂断了
    fatal: 过早的文件结束符(EOF)
    fatal: index-pack 失败
    

    可能的解决方案 Possible Solution

    更多信息 More Information

  • [Bug] clash 内核 panic : panic: runtime error: invalid memory address or nil pointer dereference

    [Bug] clash 内核 panic : panic: runtime error: invalid memory address or nil pointer dereference

    感谢你向 Clash Core 提交 issue! 在提交之前,请确认:

    • [X] 我已经在 Issue Tracker 中找过我要提出的问题
    • [X] 这是 Clash 核心的问题,并非我所使用的 Clash 衍生版本(如 Openclash、Koolclash 等)的特定问题
    • [ ] 我已经使用 Clash core 的 dev 分支版本测试过,问题依旧存在
    • [ ] 如果你可以自己 debug 并解决的话,提交 PR 吧!

    请注意,如果你并没有遵照这个 issue template 填写内容,我们将直接关闭这个 issue。

    我都确认过了,我要继续提交。


    请附上任何可以帮助我们解决这个问题的信息,如果我们收到的信息不足,我们将对这个 issue 加上 Needs more information 标记并在收到更多资讯之前关闭 issue。

    clash core config

    
    port: 1080
    socks-port: 7891
    redir-port: 7892
    mode: Rule
    log-level: info
    external-controller: 0.0.0.0:9090
    secret: "123456"
    allow-lan: true
    bind-address: "*"
    
    hosts:
    ##Custom HOSTS##
    #  experimental hosts, support wildcard (e.g. *.clash.dev Even *.foo.*.example.com)
    #  static domain has a higher priority than wildcard domain (foo.example.com > *.example.com)
    #  NOTE: hosts don't work with `fake-ip`
    
    #  '*.clash.dev': 127.0.0.1
    #  'alpha.clash.dev': '::1'
    ##Custom HOSTS END##
    dns:
      enable: true
      ipv6: false
      listen: 0.0.0.0:2083
      enhanced-mode: redir-host
      # fake-ip-range: 198.18.0.1/16
      # fake-ip-filter:
      #   - "*.lan"
      #   - "*.local"
    
      nameserver:
      - 223.5.5.5
      - 114.114.114.114
      - 119.28.28.28
      fallback:
      - tls://1.0.0.1:853
      - tls://8.8.4.4:853
    
    
      fallback-filter:
        geoip: true
        ipcidr:
          - 240.0.0.0/4
    
    
    Proxy:
      ...
    
    Proxy Group:
    ...
    
    Rule:
    ...
    
    

    Clash log

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x126e4]
    
    goroutine 126162 [running]:
    strings.HasSuffix(...)
    	/opt/hostedtoolcache/go/1.13.8/x64/src/strings/strings.go:454
    strings.TrimSuffix(...)
    	/opt/hostedtoolcache/go/1.13.8/x64/src/strings/strings.go:916
    github.com/miekg/dns.IsFqdn(0x0, 0x11, 0x499a69)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/defaults.go:270 +0x10c
    github.com/miekg/dns.packDomainName(0x0, 0x11, 0x4000400500, 0xf5, 0xf5, 0xc, 0x0, 0x0, 0x100, 0x3e62a0, ...)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/msg.go:215 +0x34
    github.com/miekg/dns.(*Question).pack(0x40008fbd00, 0x4000400500, 0xf5, 0xf5, 0xc, 0x0, 0x0, 0x48c000, 0xc, 0x0, ...)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/msg.go:1082 +0x6c
    github.com/miekg/dns.(*Msg).packBufferWithCompressionMap(0x4000b81680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000442d00, 0x0, 0x8, ...)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/msg.go:800 +0x280
    github.com/miekg/dns.(*Msg).PackBuffer(0x4000b81680, 0x0, 0x0, 0x0, 0x4001010e18, 0x4000d40140, 0x18, 0x4000d400e0, 0x4001010e08)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/msg.go:734 +0x64
    github.com/miekg/dns.(*Msg).Pack(...)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/msg.go:722
    github.com/miekg/dns.(*response).WriteMsg(0x4000d6bce0, 0x4000b81680, 0x1, 0x40011d5b00)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/server.go:671 +0x48
    github.com/Dreamacro/clash/dns.withResolver.func1(0x550180, 0x4000d6bce0, 0x4000d24240)
    	/home/runner/work/clash/clash/dns/middleware.go:61 +0x18c
    github.com/Dreamacro/clash/dns.(*Server).ServeDNS(0x40001e3bf0, 0x550180, 0x4000d6bce0, 0x4000d24240)
    	/home/runner/work/clash/clash/dns/server.go:27 +0x70
    github.com/miekg/dns.(*Server).serveDNS(0x400027a000, 0x4000810200, 0x22, 0x200, 0x4000d6bce0)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/server.go:609 +0x25c
    github.com/miekg/dns.(*Server).serveUDPPacket(0x400027a000, 0x40001a5a34, 0x4000810200, 0x22, 0x200, 0x40000a41b8, 0x4000442ce0)
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/server.go:549 +0xa8
    created by github.com/miekg/dns.(*Server).serveUDP
    	/home/runner/go/pkg/mod/github.com/miekg/[email protected]/server.go:479 +0x200
    

    环境 Environment

    • Clash Core 的操作系统 (the OS that the Clash core is running on) Linux OpenWrt 4.18.7-aml-s9xxx #1 SMP PREEMPT Fri Jan 11 13:04:33 CST 2019 aarch64 GNU/Linux
    • 使用者的操作系统 (the OS running on the client) macOS 10.15.3
    • iptables,如果适用 (if applicable)
    root@OpenWrt:~# iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere             /* !fw3 */
    input_rule  all  --  anywhere             anywhere             /* !fw3: Custom input rule chain */
    ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
    syn_flood  tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,ACK/SYN /* !fw3 */
    zone_lan_input  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    forwarding_rule  all  --  anywhere             anywhere             /* !fw3: Custom forwarding rule chain */
    ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
    zone_lan_forward  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere             /* !fw3 */
    output_rule  all  --  anywhere             anywhere             /* !fw3: Custom output rule chain */
    ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
    zone_lan_output  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain MINIUPNPD (1 references)
    target     prot opt source               destination
    
    Chain forwarding_lan_rule (1 references)
    target     prot opt source               destination
    
    Chain forwarding_rule (1 references)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere
    ACCEPT     all  --  anywhere             anywhere
    
    Chain forwarding_vpn_rule (1 references)
    target     prot opt source               destination
    
    Chain forwarding_wan_rule (1 references)
    target     prot opt source               destination
    
    Chain input_lan_rule (1 references)
    target     prot opt source               destination
    
    Chain input_rule (1 references)
    target     prot opt source               destination
    
    Chain input_vpn_rule (1 references)
    target     prot opt source               destination
    
    Chain input_wan_rule (1 references)
    target     prot opt source               destination
    
    Chain output_lan_rule (1 references)
    target     prot opt source               destination
    
    Chain output_rule (1 references)
    target     prot opt source               destination
    
    Chain output_vpn_rule (1 references)
    target     prot opt source               destination
    
    Chain output_wan_rule (1 references)
    target     prot opt source               destination
    
    Chain reject (0 references)
    target     prot opt source               destination
    REJECT     tcp  --  anywhere             anywhere             /* !fw3 */ reject-with tcp-reset
    REJECT     all  --  anywhere             anywhere             /* !fw3 */ reject-with icmp-port-unreachable
    
    Chain syn_flood (1 references)
    target     prot opt source               destination
    RETURN     tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50 /* !fw3 */
    DROP       all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_lan_dest_ACCEPT (6 references)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_lan_dest_DROP (1 references)
    target     prot opt source               destination
    DROP       all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_lan_forward (1 references)
    target     prot opt source               destination
    MINIUPNPD  all  --  anywhere             anywhere
    forwarding_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan forwarding rule chain */
    zone_wan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone lan to wan forwarding policy */
    ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
    zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_lan_input (1 references)
    target     prot opt source               destination
    input_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan input rule chain */
    ACCEPT     igmp --  anywhere             anywhere             /* !fw3: ubus:igmpproxy[instance1] rule 3 */
    ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
    zone_lan_src_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_lan_output (1 references)
    target     prot opt source               destination
    output_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan output rule chain */
    zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_lan_src_ACCEPT (1 references)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere             ctstate NEW,UNTRACKED /* !fw3 */
    
    Chain zone_vpn_dest_ACCEPT (2 references)
    target     prot opt source               destination
    
    Chain zone_vpn_forward (0 references)
    target     prot opt source               destination
    forwarding_vpn_rule  all  --  anywhere             anywhere             /* !fw3: Custom vpn forwarding rule chain */
    zone_wan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone vpn to wan forwarding policy */
    zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone vpn to lan forwarding policy */
    ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
    zone_vpn_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_vpn_input (0 references)
    target     prot opt source               destination
    input_vpn_rule  all  --  anywhere             anywhere             /* !fw3: Custom vpn input rule chain */
    ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
    zone_vpn_src_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_vpn_output (0 references)
    target     prot opt source               destination
    output_vpn_rule  all  --  anywhere             anywhere             /* !fw3: Custom vpn output rule chain */
    zone_vpn_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_vpn_src_ACCEPT (1 references)
    target     prot opt source               destination
    
    Chain zone_wan_dest_ACCEPT (3 references)
    target     prot opt source               destination
    
    Chain zone_wan_dest_REJECT (1 references)
    target     prot opt source               destination
    
    Chain zone_wan_forward (0 references)
    target     prot opt source               destination
    forwarding_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan forwarding rule chain */
    zone_lan_dest_DROP  udp  --  anywhere             239.255.255.250      /* !fw3: ubus:igmpproxy[instance1] rule 1 */
    zone_lan_dest_ACCEPT  udp  --  anywhere             base-address.mcast.net/4  /* !fw3: ubus:igmpproxy[instance1] rule 2 */
    zone_lan_dest_ACCEPT  esp  --  anywhere             anywhere             /* !fw3: Allow-IPSec-ESP */
    zone_lan_dest_ACCEPT  udp  --  anywhere             anywhere             udp dpt:isakmp /* !fw3: Allow-ISAKMP */
    ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
    zone_wan_dest_REJECT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_wan_input (0 references)
    target     prot opt source               destination
    input_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan input rule chain */
    ACCEPT     igmp --  anywhere             anywhere             /* !fw3: ubus:igmpproxy[instance1] rule 0 */
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc /* !fw3: Allow-DHCP-Renew */
    ACCEPT     icmp --  anywhere             anywhere             icmp echo-request /* !fw3: Allow-Ping */
    ACCEPT     igmp --  anywhere             anywhere             /* !fw3: Allow-IGMP */
    DROP       tcp  --  anywhere             anywhere             tcp dpt:8118 /* !fw3: adblock */
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:1688 /* !fw3: kms */
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:openvpn /* !fw3: openvpn */
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:openvpn /* !fw3: openvpn */
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:1723 /* !fw3: pptp */
    ACCEPT     gre  --  anywhere             anywhere             /* !fw3: gre */
    ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
    zone_wan_src_REJECT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_wan_output (0 references)
    target     prot opt source               destination
    output_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan output rule chain */
    zone_wan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */
    
    Chain zone_wan_src_REJECT (1 references)
    target     prot opt source               destination
    
    • ISP 有没有进行 DNS 污染 (is your ISP performing DNS pollution?) 无法判断
    • 其他 Clash 版本为 v0.18.0,该版本后 master 分支无提交,dev 分支只有一次与问题看似无关的 commit(https://github.com/Dreamacro/clash/commit/9eaca6e4ab4ccf584d6ced0da56dc5a9c82a2b52 ),所以没有在 dev 版本上另行测试

    说明 Description

    重现问题的具体布骤 Steps to Reproduce

    无法确定重现步骤

    我预期会发生……? Clash 内核不会崩溃

    实际上发生了什麽? Clash core panic

  • [Bug] TUN模式下一段时间后IPv6会失效

    [Bug] TUN模式下一段时间后IPv6会失效


    Clash config

    config.yaml
    mixin:
      ipv6: true
      dns:
        enable: true
        listen: 0.0.0.0:53
        ipv6: true
        enhanced-mode: fake-ip
        fake-ip-range: 198.18.0.1/16
        fake-ip-filter:
          - "dns.msftncsi.com"
          - "www.msftncsi.com"
          - "+.msftconnecttest.com"
          - "+.qq.com"
          - "+.music.163.com"
          - "+.music.162.com"
          - "*.lan"
          - '*.*.*.*.srv.nintendo.net'
          - '*.*.*.stun.playstation.net'
          - 'xbox.*.microsoft.com'
          - '*.*.*.xboxlive.com'
        default-nameserver:
          - 223.5.5.5
          - 208.67.222.222 
          - 1.0.0.1
        nameserver: 
          - https://dns.alidns.com/dns-query #AliDNS
          - https://doh.pub/dns-query #TencentDNS
        fallback: 
          - https://dns-unfiltered.adguard.com/dns-query #AdguardDNS
          - https://doh.opendns.com/dns-query #OpenDNS
          - https://cloudflare-dns.com/dns-query #CloudflareDNS
        fallback-filter:
          geoip: true 
          ip-cidr: 
            - 240.0.0.0/4
            - 127.0.0.1/8
            - 0.0.0.0/32
          domain: 
            - "+.github.com"
            - "+.youtube.com"
      
      interface-name: WLAN
    
      tun:
        enable: true
        stack: system
        dns-hijack:
          - 198.18.0.2:53
        auto-route: true
        #auto-detect-interface: true # 自动检测出口网卡
    

    Clash log

    time="2021-06-28T12:52:59+08:00" level=info msg="[TCP] 198.18.0.1:9733 --> tracker-public.tjupt.org match Process(uTorrent.exe) using DIRECT"
    time="2021-06-28T12:53:02+08:00" level=warning msg="[TCP] dial DIRECT (match Process/uTorrent.exe) to 61.164.99.18 error: dial tcp4 192.168.1.103:0->61.164.99.18:13948: connectex: No connection could be made because the target machine actively refused it."
    time="2021-06-28T12:53:05+08:00" level=warning msg="[TCP] dial DIRECT (match Process/uTorrent.exe) to 117.36.118.244 error: dial tcp4 192.168.1.103:0->117.36.118.244:12807: i/o timeout"
    time="2021-06-28T12:53:08+08:00" level=info msg="[TCP] 198.18.0.1:9744 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T12:53:28+08:00" level=info msg="[TCP] 198.18.0.1:9752 --> d.docs.live.net match DomainSuffix(live.net) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:54:08+08:00" level=info msg="[TCP] 198.18.0.1:9755 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T12:54:11+08:00" level=info msg="[UDP] 198.18.0.1:61808 --> 239.255.255.250 match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T12:54:29+08:00" level=info msg="[TCP] 198.18.0.1:9757 --> d.docs.live.net match DomainSuffix(live.net) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:55:09+08:00" level=info msg="[TCP] 198.18.0.1:9761 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T12:55:29+08:00" level=info msg="[TCP] 198.18.0.1:9763 --> proxy.gamestream.nvidia.com match DomainSuffix(nvidia.com) using China-Websites[DIRECT]"
    time="2021-06-28T12:55:30+08:00" level=info msg="[TCP] 198.18.0.1:9768 --> d.docs.live.net match DomainSuffix(live.net) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:55:32+08:00" level=info msg="[UDP] 198.18.0.1:49152 --> 239.255.255.250 match Process(uTorrent.exe) using DIRECT"
    time="2021-06-28T12:55:33+08:00" level=info msg="[UDP] 198.18.0.1:51919 --> 239.255.255.250 match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T12:56:10+08:00" level=info msg="[TCP] 198.18.0.1:9774 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T12:56:11+08:00" level=info msg="[UDP] 198.18.0.1:64226 --> 239.255.255.250 match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T12:56:12+08:00" level=info msg="[TCP] 198.18.0.1:9777 --> proxy.gamestream.nvidia.com match DomainSuffix(nvidia.com) using China-Websites[DIRECT]"
    time="2021-06-28T12:56:20+08:00" level=info msg="[TCP] 198.18.0.1:9779 --> safebrowsing.googleapis.com match DomainSuffix(googleapis.com) using 🌐 Google[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T12:56:31+08:00" level=info msg="[TCP] 198.18.0.1:9781 --> d.docs.live.net match DomainSuffix(live.net) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:57:05+08:00" level=info msg="[TCP] 198.18.0.1:9783 --> catalog.gamepass.com match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T12:57:10+08:00" level=info msg="[TCP] 198.18.0.1:9789 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T12:57:12+08:00" level=warning msg="[TCP] dial DIRECT (match Process/uTorrent.exe) to 61.164.99.18 error: dial tcp4 192.168.1.103:0->61.164.99.18:13948: connectex: No connection could be made because the target machine actively refused it."
    time="2021-06-28T12:57:13+08:00" level=warning msg="[TCP] dial DIRECT (match Process/uTorrent.exe) to 117.36.118.244 error: dial tcp4 192.168.1.103:0->117.36.118.244:12807: i/o timeout"
    time="2021-06-28T12:57:15+08:00" level=warning msg="[TCP] dial DIRECT (match Process/uTorrent.exe) to 61.164.99.18 error: dial tcp4 192.168.1.103:0->61.164.99.18:13948: connectex: No connection could be made because the target machine actively refused it."
    time="2021-06-28T12:57:19+08:00" level=warning msg="[TCP] dial DIRECT (match Process/uTorrent.exe) to 117.36.118.244 error: dial tcp4 192.168.1.103:0->117.36.118.244:12807: i/o timeout"
    time="2021-06-28T12:57:25+08:00" level=info msg="[TCP] 127.0.0.1:9795 --> bl6pap003.storage.live.com match DomainSuffix(live.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:57:46+08:00" level=info msg="[TCP] 198.18.0.1:9799 --> self.events.data.microsoft.com match DomainSuffix(microsoft.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:58:11+08:00" level=info msg="[TCP] 198.18.0.1:9801 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T12:58:11+08:00" level=info msg="[UDP] 198.18.0.1:51037 --> 239.255.255.250 match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T12:58:32+08:00" level=info msg="[TCP] 198.18.0.1:9804 --> d.docs.live.net match DomainSuffix(live.net) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:58:59+08:00" level=info msg="[TCP] 198.18.0.1:9807 --> self.events.data.microsoft.com match DomainSuffix(microsoft.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:59:11+08:00" level=info msg="[TCP] 198.18.0.1:9809 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T12:59:33+08:00" level=info msg="[TCP] 198.18.0.1:9812 --> d.docs.live.net match DomainSuffix(live.net) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:59:36+08:00" level=info msg="[TCP] 198.18.0.1:9817 --> assets.msn.com match DomainSuffix(msn.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:59:36+08:00" level=info msg="[TCP] 198.18.0.1:9818 --> assets.msn.com match DomainSuffix(msn.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:59:36+08:00" level=info msg="[TCP] 198.18.0.1:9822 --> www.bing.com match DomainSuffix(bing.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T12:59:40+08:00" level=info msg="[TCP] 198.18.0.1:9826 --> profile.accounts.firefox.com match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T12:59:40+08:00" level=info msg="[TCP] 198.18.0.1:9825 --> sync-1-us-west1-g.sync.services.mozilla.com match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:00:00+08:00" level=info msg="[TCP] 198.18.0.1:9836 --> ctldl.windowsupdate.com match DomainSuffix(windowsupdate.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T13:00:08+08:00" level=info msg="[TCP] 198.18.0.1:9838 --> vortex.data.microsoft.com match DomainSuffix(microsoft.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T13:00:11+08:00" level=info msg="[UDP] 198.18.0.1:49870 --> 239.255.255.250 match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:00:12+08:00" level=info msg="[TCP] 198.18.0.1:9840 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T13:00:36+08:00" level=info msg="[TCP] 198.18.0.1:9844 --> ctldl.windowsupdate.com match DomainSuffix(windowsupdate.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T13:00:52+08:00" level=info msg="[TCP] 198.18.0.1:9847 --> www.notion.so match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:00:54+08:00" level=info msg="[TCP] 198.18.0.1:9851 --> self.events.data.microsoft.com match DomainSuffix(microsoft.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T13:00:55+08:00" level=info msg="[TCP] 198.18.0.1:9853 --> in.appcenter.ms match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:00:56+08:00" level=info msg="[TCP] 198.18.0.1:9857 --> proxy.gamestream.nvidia.com match DomainSuffix(nvidia.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:05+08:00" level=info msg="[TCP] 198.18.0.1:9864 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:05+08:00" level=info msg="[TCP] 198.18.0.1:9867 --> local.adguard.org match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:01:05+08:00" level=info msg="[TCP] 198.18.0.1:9866 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:05+08:00" level=info msg="[TCP] 198.18.0.1:9868 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:07+08:00" level=info msg="[TCP] 198.18.0.1:9873 --> ipv4.lookup.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:08+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=info msg="[TCP] 198.18.0.1:9895 --> ipv4.vm3.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:09+08:00" level=info msg="[TCP] 198.18.0.1:9917 --> ds.vm3.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=info msg="[TCP] 198.18.0.1:9940 --> ds.v6ns.vm3.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:10+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:01:11+08:00" level=info msg="[TCP] 198.18.0.1:9983 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:11+08:00" level=info msg="[TCP] 198.18.0.1:9984 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:11+08:00" level=info msg="[TCP] 198.18.0.1:9985 --> ipv4.master.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:01:13+08:00" level=info msg="[TCP] 198.18.0.1:9989 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T13:01:43+08:00" level=info msg="[TCP] 198.18.0.1:9991 --> github.com match DomainKeyword(github) using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:01:43+08:00" level=info msg="[TCP] 198.18.0.1:9993 --> github-production-user-asset-6210df.s3.amazonaws.com match DomainKeyword(github) using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:01:45+08:00" level=info msg="[TCP] 198.18.0.1:9995 --> api.github.com match DomainKeyword(github) using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:01:55+08:00" level=info msg="[TCP] 198.18.0.1:9997 --> proxy.gamestream.nvidia.com match DomainSuffix(nvidia.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:05+08:00" level=info msg="[TCP] 198.18.0.1:9999 --> catalog.gamepass.com match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:02:11+08:00" level=info msg="[UDP] 198.18.0.1:60325 --> 239.255.255.250 match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:02:13+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:13+08:00" level=debug msg="[DNS] api.vc.bilibili.com --> 122.228.232.71"
    time="2021-06-28T13:02:13+08:00" level=info msg="[TCP] 198.18.0.1:10001 --> api.vc.bilibili.com match DomainSuffix(bilibili.com) using 🎬 Bilibili[DIRECT]"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[DNS] test-ipv6.com --> 216.218.228.115"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[DNS] test-ipv6.com --> 216.218.228.115"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[DNS] test-ipv6.com --> 216.218.228.115"
    time="2021-06-28T13:02:30+08:00" level=debug msg="[DNS] local.adguard.org --> 176.103.133.77"
    time="2021-06-28T13:02:30+08:00" level=info msg="[TCP] 198.18.0.1:10008 --> local.adguard.org match Match() using Final[🇭🇰 实验 香港 [0.2]]"
    time="2021-06-28T13:02:31+08:00" level=info msg="[TCP] 198.18.0.1:10005 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:31+08:00" level=info msg="[TCP] 198.18.0.1:10006 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:31+08:00" level=info msg="[TCP] 198.18.0.1:10004 --> test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:31+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2001:470:1:18::223:250"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2a00:dd80:3c::b3f"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2001:470:1:18::223:250"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2001:470:1:18::223:250"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2001:470:1:18::223:250"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2a00:dd80:3c::b3f"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2001:470:1:18::223:250"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2a00:dd80:3c::b3f]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2001:470:1:18::223:250"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2a00:dd80:3c::b3f"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv6.lookup.test-ipv6.com --> 2a00:dd80:3c::b3f"
    time="2021-06-28T13:02:31+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.lookup.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::223:250]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:31+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:31+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:31+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:31+08:00" level=debug msg="[DNS] ipv4.vm3.test-ipv6.com --> 216.218.228.115"
    time="2021-06-28T13:02:32+08:00" level=info msg="[TCP] 198.18.0.1:10033 --> ipv4.vm3.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:32+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:32+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:32+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:32+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:32+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:32+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:32+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:32+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ds.vm3.test-ipv6.com --> 216.218.228.115"
    time="2021-06-28T13:02:33+08:00" level=info msg="[TCP] 198.18.0.1:10055 --> ds.vm3.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:33+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:33+08:00" level=debug msg="[DNS] ds.v6ns.vm3.test-ipv6.com --> 216.218.228.115"
    time="2021-06-28T13:02:33+08:00" level=info msg="[TCP] 198.18.0.1:10078 --> ds.v6ns.vm3.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:34+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv6.vm3.test-ipv6.com --> 2001:470:1:18::115"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to ipv6.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::115]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] mtu1280.vm3.test-ipv6.com --> 2001:470:1:18::3:1280"
    time="2021-06-28T13:02:34+08:00" level=warning msg="[TCP] dial China-Websites (match DomainSuffix/test-ipv6.com) to mtu1280.vm3.test-ipv6.com error: dial tcp6 [2001:da8:1032:6004::1a75]:0->[2001:470:1:18::3:1280]:443: connectex: The requested address is not valid in its context."
    time="2021-06-28T13:02:34+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:34+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:34+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:34+08:00" level=debug msg="[DNS] ipv4.master.test-ipv6.com --> 216.218.228.115"
    time="2021-06-28T13:02:34+08:00" level=info msg="[TCP] 198.18.0.1:10121 --> ipv4.master.test-ipv6.com match DomainSuffix(test-ipv6.com) using China-Websites[DIRECT]"
    time="2021-06-28T13:02:37+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:37+08:00" level=debug msg="[DNS] go.microsoft.com --> 104.77.62.187"
    time="2021-06-28T13:02:37+08:00" level=info msg="[TCP] 198.18.0.1:10123 --> go.microsoft.com match DomainSuffix(microsoft.com) using 🖥 Microsoft[DIRECT]"
    time="2021-06-28T13:02:38+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:38+08:00" level=debug msg="[DNS] resolve stopservice.chshap.blob.core.windows.net error: couldn't find ip"
    time="2021-06-28T13:02:38+08:00" level=warning msg="[TCP] dial 🖥 Microsoft (match DomainSuffix/windows.net) to stopservice.chshap.blob.core.windows.net error: couldn't find ip"
    time="2021-06-28T13:02:38+08:00" level=debug msg="[DNS] resolve stopservice.chshap.blob.core.windows.net error: couldn't find ip"
    time="2021-06-28T13:02:38+08:00" level=warning msg="[TCP] dial 🖥 Microsoft (match DomainSuffix/windows.net) to stopservice.chshap.blob.core.windows.net error: couldn't find ip"
    time="2021-06-28T13:02:38+08:00" level=debug msg="[Rule] find process name Process error: process not found"
    time="2021-06-28T13:02:38+08:00" level=debug msg="[DNS] resolve stopservice.chshap.blob.core.windows.net error: couldn't find ip"
    time="2021-06-28T13:02:38+08:00" level=warning msg="[TCP] dial 🖥 Microsoft (match DomainSuffix/windows.net) to stopservice.chshap.blob.core.windows.net error: couldn't find ip"
    time="2021-06-28T13:02:54+08:00" level=debug msg="[TUN] hijack udp dns: 198.18.0.2:53"
    time="2021-06-28T13:02:54+08:00" level=debug msg="[DNS] checkappexec.microsoft.com --> 13.76.220.133"
    

    环境 Environment

    • 操作系统 (the OS that the Clash core is running on) Windwos10 21H1, Clash core: 2021.05.08 Premium
    • 网路环境或拓扑 (network conditions/topology) 校园网->路由器->主机
    • iptables,如果适用 (if applicable) ……
    • ISP 有没有进行 DNS 污染 (is your ISP performing DNS pollution?) 无
    • 其他 (any other information that would be useful) ……

    说明 Description

    在关闭Clash的情况下,访问https://test-ipv6.com/,结果如图 图片 开启CFW,打开IPv6开关,Mixin配置如上,开启TUN模式后,再次访问https://test-ipv6.com/,结果与上图相同。过一段时间后再次访问https://test-ipv6.com/,结果如图 图片 此时WLAN还是有IPv6地址的 图片 关闭Clash后再次访问https://test-ipv6.com/,IPv6是有效的

    重现问题的具体布骤 Steps to Reproduce

    1. 关闭Clash情况下IPv6可用
    2. 开启TUN模式,此时IPv6有效
    3. 等待一段时间,访问https://test-ipv6.com/,IPv6不可用
    4. 关闭Clash,访问https://test-ipv6.com/,显示IPv6有效

    我预期会发生……? TUN模式下IPv6始终有效

    实际上发生了什么? TUN模式下一段时间后,IPv6失效

    可能的解决方案 Possible Solution

    更多信息 More Information

  • [Bug] 2021.05.08 Premium核心,TUN网卡显示“无网络访问权限”

    [Bug] 2021.05.08 Premium核心,TUN网卡显示“无网络访问权限”


    Clash config

    config.yaml
    mixinText: |-
      mixin: # object
        dns:
          enable: true
          listen: 0.0.0.0:53
          enhanced-mode: fake-ip
          fake-ip-range: 198.18.0.1/16
          fake-ip-filter:
            - "dns.msftncsi.com"
            - "www.msftncsi.com"
            - "www.msftconnecttest.com"
            - "+.qq.com"
            - "+.music.163.com"
            - "+.music.162.com"
            - "*.lan"
            - '*.*.*.*.srv.nintendo.net'
            - '*.*.*.stun.playstation.net'
            - 'xbox.*.microsoft.com'
            - '*.*.*.xboxlive.com'
          nameserver:
            - 114.114.114.114
            - 223.5.5.5
            - 119.29.29.29
        tun:
          enable: true
          stack: gvisor
          dns-hijack:
            - 198.18.0.2:53
          auto-route: true
          interface-name: WLAN
          #auto-detect-interface: true # 自动检测出口网卡
    

    Clash log

    ……
    

    环境 Environment

    • 操作系统 (the OS that the Clash core is running on) Windows 10 20H2 19042.985
    • 网路环境或拓扑 (network conditions/topology) 光猫 - 路由器 - 终端
    • iptables,如果适用 (if applicable) ……
    • ISP 有没有进行 DNS 污染 (is your ISP performing DNS pollution?) 无
    • 其他 (any other information that would be useful) 无

    说明 Description

    重现问题的具体布骤 Steps to Reproduce

    1. 2021.05.08 Premium核心,启用TUN模式,Clash网卡显示”IPv4连接:无网络访问权限“ image

    2. 注销Microsoft Store登陆的账号,重新登陆,报错如下 image

    我预期会发生……?

    能够正常登陆Microsoft Store

    实际上发生了什么?

    由于网卡显示”无网络访问权限“,微软系应用会以为没有网络,直接报错,实际上是有网的,浏览器中使用体验与04.08 Premium无差异,代理都正常。尝试了多个Clash衍生版本,包括CFW Clash.NET ClashXW,只要使用2021.05.08 Premium核心使用TUN模式都会存在这个问题。

    可能的解决方案 Possible Solution

    退回04.08 Premium

    更多信息 More Information

  • Discussion: Rule Script

    Discussion: Rule Script

    In the actual daily use case, the number of Rule is usually in the thousands. It is time to propose a simpler and more efficient matching method.

    In Surge, the solution is RULE-SET. For example, RULE-SET,https://url/xxx.list,yourproxy. xxx.list define a rule list:

    DOMAIN-KEYWORD,amazon,force-remote-dns
    DOMAIN-KEYWORD,google,force-remote-dns
    DOMAIN-KEYWORD,gmail,force-remote-dns
    DOMAIN-KEYWORD,youtube,force-remote-dns
    DOMAIN-KEYWORD,facebook,force-remote-dns
    

    It's simple but not flexible. If we use an embedded language, we can do some optimization and customization. For example (pseudocode written in typescript):

    interface Context {
        metadata: object,
        proxies: { [key: string]: Proxy }
        domainTree: {
            match: (domain: string): boolean
        }
    }
    
    const random = (s: number, e: number) => s + Math.floor(Math.random() * (e - s))
    
    function (ctx: Context): Proxy {
        const { proxies, metadata, domainTree } = ctx
        const hk = Object.keys(proxies)
            .filter(key => proxies[key].name.include('hk'))
            .map(key => proxies[key])
            .sort((a, b) => a.delay > b.delay ? 1 : -1)
    
        if (domainTree.match(metadata.host)) {
            return hk[0]
        }
    
        return hk[random(0, hk.length)]
    }
    

    domainTree is a simple trie tree now used in host, and Context could provide more util function to help the user write their own script. BTW, Configuration can get rid of the binding of lists and rules.

    # define a list
    lists:
        - url: https://example.com/list.yaml
           interval: 300
           type: trie-tree
        - file: /opt/list.yaml
           type: trie-tree
    

    About embedded language

    I found out two embedded languages that can be used in clash

    • https://github.com/gates/gates
    • https://github.com/google/starlark-go

    Relation issue

    #33 #41 #79

  • add filter in proxy provider

    add filter in proxy provider

    config:

    proxy-providers:
      xxx:
        type: http
        url: https://xxxxx.com/proxy.yaml
        path: sub/xxxx.yaml
        interval: 1209
        filter: '中转|最快'
        health-check:
          enable: true
          url: http://www.gstatic.com/generate_204
          interval: 309
    

    节点比较多的时候,需要过滤出常用的节点。和quan x的过滤功能有点像 telegram-cloud-photo-size-5-6280542973888408593-y

  • v1.9.0去掉了VMess配置文件旧格式的兼容是基于何种考虑?

    v1.9.0去掉了VMess配置文件旧格式的兼容是基于何种考虑?

    Description

    1、不了解为何要去掉对旧格式的兼容支持,没有找到相关解释和说明,求指教和解答; Change remove forward compatible codes in 2022 as agreed 1)migrate cache 2)ws-headers and ws-path on vmess 2、去掉兼容之后,新版配置文件相关格式是怎样的?服务端和客户端都该如何修改? 同样没有找到解释和说明。 3、更新是否应该考虑小白用户的使用? 我相信有很多人跟我一样并非程序员,是小白用户,使用也就买现成的机场,顶多用别人分享的一键脚本搭建一下服务,此次更新没有说明该如何修改,包括Google Play 商店也无更新说明和更新导致不可用提示。 此次Android 和 macOS 更新客户端之后,直接导致手机、电脑均无法连接外网。

    求了解相关细节的朋友解答,感谢!

  • clash本机做透明代理iptables规则请教

    clash本机做透明代理iptables规则请教

    场景: 1、clash使用fake-ip模式,端口为7892 2、本机配置了dns为127.0.0.1 使用: 1、在本机增加iptables规则,在OUTPUT链上增加重定向到7892端口: iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 7892

    问题: 1、发现curl任何一个网址都出现无限循环的问题,比如curl www.baidu.com,出现: image clash出现: image

    请问这种情况是iptables没有配置对吗?

  • GEOIP 准确率不是很高啊,是否考虑支持 ipip.net?

    GEOIP 准确率不是很高啊,是否考虑支持 ipip.net?

    我比较讨厌很长的配置,所以我基于国家来做分流,达到就近节点代理的目的。 但我测试访问 www.google.com 时,解析到 IP 216.58.200.228,IP 物理位置应该是在台湾,但是 GEOIP 的结果是美国。

    ipip.net 很早之前就能查到大部分 google 的正确物理位置,它们的免费版精度也完全符合需求,官网地址 https://www.ipip.net/product/client.html (需注册才能下载)

    官方提供的 golang sdk https://github.com/ipipdotnet/ipdb-go

    所以是否考虑支持 ipip.net 免费离线库呢?

  • Refactor ssr

    Refactor ssr

    try to fix #995

    进度

    obfs:

    • [x] plain
    • [x] http_simple
    • [x] http_post
    • [x] random_head
    • [x] tls1.2_ticket_auth
    • [x] tls1.2_ticket_fastauth

    protocol:

    • [x] origin
    • [x] auth_sha1_v4
    • [x] auth_aes128_md5
    • [x] auth_aes128_sha1
    • [x] auth_chain_a
    • [x] auth_chain_b

    可自行尝试是否还存在断流问题: https://github.com/goomadao/clash/releases/tag/refacrot-ssr

  • [Bug]dashboard进不去啊

    [Bug]dashboard进不去啊

    这是./clash运行的结果

    (base) ➜  clash ./clash     
    INFO[0000] HTTP proxy listening at: 127.0.0.1:7890      
    

    到后台http://clash.razord.top/,输入端口,一直弹出这个"编辑外部控制设置"的框框 (没设密码,社了密码输入也是这样,一直弹出来) 2020-05-19 09-36-34 的屏幕截图

  • [Feature] Modify the provider's parameter(s) before loading them.

    [Feature] Modify the provider's parameter(s) before loading them.

    Verify steps

    • [X] 我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
    • [X] 我已经仔细看过 Documentation 并无法自行解决问题 I have read the documentation and was unable to solve the issue.

    Description

    I'm using a provider, but I need to change some parameters about it. Assume my provider returns ws-opts: path: /websocket and allows the client to change it however they want, so I want to change path to my-websocket-xyz for the specified proxy only and change skip-cert-verify for all proxies to false too.

    Possible Solution

    Using an astrik (*) to identify all servers and a specific proxy server using its address +: +port

    proxy-providers-overrides:
      provider1:
        identifier: * # all servers of provider1
        overrides:
          - path: blabla
          - sni: example.xyz
          
      provider1:
        identifier: "trojan:*" # all trojans of provider1
        overrides:
          - skip-cert-verify: false
    
      provider1:
        identifier: hkt-1.opensvr.net:443 # specify the server of provider1
        overrides:
          - path: abc
          - skip-cert-verify: true
    
      provider2:
        identifier: ust-1.opensvr.net:8443 # specify the server of provider2
        overrides:
          - skip-cert-verify: true
          - sni: mainland.xyz
    
  • [Feature] 关于解决proxy-provider url 配置为订阅地址无法下载的问题

    [Feature] 关于解决proxy-provider url 配置为订阅地址无法下载的问题

    Verify steps

    • [X] 我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
    • [X] 我已经仔细看过 Documentation 并无法自行解决问题 I have read the documentation and was unable to solve the issue.

    Description

    在proxy-provider中URL使用机场订阅链接,在某些机场会无法完成远程拉取,直接报EOF的错误。

    Possible Solution

    经过实现在, 在vehicle.go 的Read()中的http request中增加 User-Agent参数可以避免该问题.

  • [Question] create TUN interface on Windows without admin privilege?

    [Question] create TUN interface on Windows without admin privilege?

    Verify steps

    • [X] 我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
    • [X] 我已经仔细看过 Documentation 并无法自行解决问题 I have read the documentation and was unable to solve the issue.

    Description

    On Windows, do users of group Network Configuration Operators have enough permission to create network adapter? The description of the group says:

    Members in this group can have some administrative privileges to manage configuration of networking features

    I have tried it on clash premium v2022.11.25 with an account in the NCO group, and still got the error:

    ERR [Inbound] start failed error=Error creating interface: Access is denied. type=TUN stackType=gvisor inet=198.18.0.1/16
    

    Not sure if this is a program logic problem or users of NCO group actually don't have enough permission to create network adapter.

    Possible Solution

    No response

  • [Bug] 透明网关上docker外网无法访问;重启clash后节点重置

    [Bug] 透明网关上docker外网无法访问;重启clash后节点重置

    Verify steps

    • [X] 如果你可以自己 debug 并解决的话,提交 PR 吧 Is this something you can debug and fix? Send a pull request! Bug fixes and documentation fixes are welcome.
    • [X] 我已经在 Issue Tracker 中找过我要提出的问题 I have searched on the issue tracker for a related issue.
    • [X] 我已经使用 dev 分支版本测试过,问题依旧存在 I have tested using the dev branch, and the issue still exists.
    • [X] 我已经仔细看过 Documentation 并无法自行解决问题 I have read the documentation and was unable to solve the issue.
    • [X] 这是 Clash 核心的问题,并非我所使用的 Clash 衍生版本(如 OpenClash、KoolClash 等)的特定问题 This is an issue of the Clash core per se, not to the derivatives of Clash, like OpenClash or KoolClash.

    Clash version

    Premium 2022.11.25

    What OS are you seeing the problem on?

    Linux

    Clash config

    port: 7890
    socks-port: 7891
    allow-lan: true
    bind-address: '*'
    mode: rule
    log-level: info
    ipv6: false
    external-controller: 0.0.0.0:9090
    external-ui: ui
    secret: "xxxx"
    # interface-name: eno1
    routing-mark: 6666
    hosts:
      # '*.clash.dev': 127.0.0.1
      # '.dev': 127.0.0.1
      # 'alpha.clash.dev': '::1'
      'time.android.com': 203.107.6.88
    
    profile:
      # Store the `select` results in $HOME/.config/clash/.cache
      # set false If you don't want this behavior
      # when two different configurations have groups with the same name, the selected values are shared
      store-selected: false
    
      # persistence fakeip
      store-fake-ip: true
    
    # DNS server settings
    # This section is optional. When not present, the DNS server will be disabled.
    dns:
      enable: true
      listen: 0.0.0.0:53
      # ipv6: false # when the false, response to AAAA questions will be empty
    
      # These nameservers are used to resolve the DNS nameserver hostnames below.
      # Specify IP addresses only
      default-nameserver:
        - 114.114.114.114
        - 8.8.8.8
      enhanced-mode: fake-ip
      fake-ip-range: 198.18.0.1/16 # Fake IP addresses pool CIDR
      # use-hosts: true # lookup hosts and return IP record
    
      # Hostnames in this list will not be resolved with fake IPs
      # i.e. questions to these domain names will always be answered with their
      # real IP addresses
      fake-ip-filter:
        - '*.asuscomm.com'
      #   - '*.lan'
      #   - localhost.ptlogin2.qq.com
      
      # Supports UDP, TCP, DoT, DoH. You can specify the port to connect to.
      # All DNS questions are sent directly to the nameserver, without proxies
      # involved. Clash answers the DNS question with the first result gathered.
      nameserver:
        - 114.114.114.114 # default value
        - 8.8.8.8 # default value
        - tls://dns.rubyfish.cn:853 # DNS over TLS
        - https://1.1.1.1/dns-query # DNS over HTTPS
        - dhcp://en0 # dns from dhcp
        # - '8.8.8.8#en0'
    
    tun:
      enable: true
      stack: system # or gvisor
      dns-hijack:
        - 8.8.8.8:53
        - tcp://8.8.8.8:53
        - any:53
        - tcp://any:53
      auto-route: true # auto set global route
      auto-detect-interface: true # conflict with interface-name
    

    Clash log

    No response

    Description

    我小白,参考网上各种教程折腾的,先说下我的步骤(软路由): 1、net.ipv4.ip_forward=1 2、systemctl stop systemd-resolved,systemctl disable systemd-resolved 3、systemctl enable clash,systemctl restart clash 4、需要科学上网的设备网关和DNS指向这个软路由,运作正常 问题: 1、除了上面这些步骤,还有遗漏的吗?我看有些教程要配置iptables,但我没做,使用也没问题 2、软路由本身还自建docker,发现里面的容器只要默认bridge模式,外网用DDNS+端口转发访问不了,但内网可以;如果换成host模式,内外网都可以;如果关掉clash,无论什么模式内外网都可以。但是有些容器改成host模式无法启动,必须bridge,所以请教下解决办法? 3、我发现systemctl restart clash,或者重启路由器,面板之前选择的节点会重置,得重新选一遍,这是什么原因?我用的是https://github.com/Dreamacro/clash-dashboard/tree/gh-pages

  • Project clash-ui for config needed [Feature]

    Project clash-ui for config needed [Feature]

    Verify steps

    • [X] 我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
    • [X] 我已经仔细看过 Documentation 并无法自行解决问题 I have read the documentation and was unable to solve the issue.

    Description

    my request is clear

    Possible Solution

    No response

  • [Feature] 更改TCP最长连接时间

    [Feature] 更改TCP最长连接时间

    Verify steps

    • [X] 我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
    • [X] 我已经仔细看过 Documentation 并无法自行解决问题 I have read the documentation and was unable to solve the issue.

    Description

    如题,Clash似乎没有办法更改TCP最大连接时间,始终限制为120秒

    Possible Solution

    No response

A rule based proxy For Mac base on Clash.
A rule based proxy For Mac base on Clash.

ClashX A rule based proxy For Mac base on Clash. ClashX 旨在提供一个简单轻量化的代理客户端,如果需要更多的定制化,可以考虑使用 CFW Mac 版 Features HTTP/HTTPS and SOCKS protocol Surge lik

Dec 26, 2022
Go HTTP tunnel is a reverse tunnel based on HTTP/2.

Go HTTP tunnel is a reverse tunnel based on HTTP/2. It enables you to share your localhost when you don't have a public IP.

Dec 28, 2022
A rule-based tunnel in Go with experimental features
A rule-based tunnel in Go with experimental features

Experimental-Clash A rule-based tunnel in Go with experimental features. Features Local HTTP/HTTPS/SOCKS server with authentication support VMess, Sha

Dec 25, 2022
GO Simple Tunnel - a simple tunnel written in golang
GO Simple Tunnel - a simple tunnel written in golang

GO Simple Tunnel GO语言实现的安全隧道 English README !!!V3版本已经可用,欢迎抢先体验!!! 特性 多端口监听 可设置转发代理,支持多级转发(代理链) 支持标准HTTP/HTTPS/HTTP2/SOCKS4(A)/SOCKS5代理协议 Web代理支持探测防御 支

Jan 2, 2023
An util to bypass clash-premium tun for commands

without-clash An util to bypass clash-premium tun for commands Requirement Kernel Features: cgroup2 ebpf && cgroup2 sock attach point iproute2 Install

Dec 19, 2022
ClashWebLite is a cross-platform lightweighted wrapper for Clash Premium on Desktop environment.
ClashWebLite is a cross-platform lightweighted wrapper for Clash Premium on Desktop environment.

ClashWebLite ClashWebLite is a cross-platform lightweighted wrapper for Clash Premium on Desktop environment. http://127.0.0.1:9090/ui: Features Suppo

Dec 29, 2022
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。

Disclaimer: kcptun maintains a single website — github.com/xtaci/kcptun. Any websites other than github.com/xtaci/kcptun are not endorsed by xtaci. Re

Jan 9, 2023
Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH.
Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH.

Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH. Single executable including both client and server. Written in Go (golang). Chisel is mainly useful for passing through firewalls, though it can also be used to provide a secure endpoint into your network.

Jan 1, 2023
Toy gRPC Tunnel over CloudFlare (Proof of Concept)
Toy gRPC Tunnel over CloudFlare (Proof of Concept)

gun You know what it means. Guide Server Go to your domain in CloudFlare. In "Network" tab, turn on gRPC.

Jan 6, 2023
Simple HTTP tunnel using SSH remote port forwarding

Simple HTTP tunnel using SSH remote port forwarding

Nov 18, 2022
Cloud Native Tunnel
Cloud Native Tunnel

inlets is a Cloud Native Tunnel written in Go Expose your local endpoints to the Internet or within a remote network, without touching firewalls. Foll

Jan 4, 2022
A deployable proxy server and tunnel written in go

Tunnelify Tunnelify is a deployable proxy server and tunnel written in go Installing | Quickstart | Configuration Installing Direct download You can i

Dec 11, 2022
An anonymous, encrypted Point-to-Point (Layer 3) tunnel between two peers.

NKN-Link An anonymous, encrypted Point-to-Point (Layer 3) tunnel between two peers. NKN-Link Table of Contents Preface Description Install Setup Run P

Dec 20, 2022
Gogrok is a self hosted, easy to use alternative to ngrok. It uses SSH as a base protocol, using channels and existing functionality to tunnel requests to an endpoint.

gogrok A simple, easy to use ngrok alternative (self hosted!) The server and client can also be easily embedded into your applications, see the 'serve

Dec 3, 2022
HTTP tunnel over Websocket
HTTP tunnel over Websocket

WS PROXY This is a reverse HTTP proxy over websockets. The aim is to securely make call to internal APIs from outside. How does it works a WSP client

Nov 12, 2022
The 20-20-20 Rule can help protect your eyesight.

The 20 20 20 Rule This app reminds you every 20 minutes to look at something 20 feet away for 20 seconds. This helps protect your eyesight. Disclaimer

Mar 9, 2022
May 8, 2022
🚀Gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
🚀Gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.

gev 中文 | English gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily bui

Jan 6, 2023
turn a directory into a GUI, slash example of VNC-based GUI

dirgui @rsnous on Jan 11, 2021: "idea: filesystem<->GUI adapter, where a directory turns into a form, executable files inside that directory turn into

May 3, 2022