sub-store-org / Sub-Store

Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket!
https://www.notion.so/Sub-Store-6259586994d34c11a4ced5c406264b46
GNU Affero General Public License v3.0
4.96k stars 549 forks source link

[功能请求] 添加 `config` 参数以支持指定配置模板 #262

Closed y1ndan closed 9 months ago

y1ndan commented 9 months ago

我在使用 Sub-Store 将订阅数据转换为 Clash 格式时,发现目前的输出结果仅有 proxies 部分。在原样使用此订阅链接作为 Clash for Windows 的远程配置文件时,只有全局选项下有节点,无法实现分流功能。

能否添加 config 参数来指定本地或远程的配置模板,用以定制 proxy-groups, rules 等模块的内容?

Peng-YM commented 9 months ago

sub-store 目前对所有平台的输出都仅包含节点列表,建议 Clash 中使用规整集 + 策略集(sub-store 生成)进行配置

y1ndan commented 9 months ago

Clash 中使用规整集 + 策略集(sub-store 生成)进行配置

是说要新建一个本地.yaml然后指定 proxy-providers 为生成链接吗?能否展开说说,谢谢。

xream commented 9 months ago

Clash 中使用规整集 + 策略集(sub-store 生成)进行配置

是说要新建一个本地.yaml然后指定 proxy-providers 为生成链接吗?能否展开说说,谢谢。

比如你可以 Gist 上建一个 yaml 配置, proxy-providers 里使用 Sub-Store ?target=Clash 的订阅链接 proxy-groups 再使用它. 都是能搜索到的内容, 没必要在本项目 issue 里展开了.

Repcz commented 9 months ago

Clash 中使用规整集 + 策略集(sub-store 生成)进行配置

是说要新建一个本地.yaml然后指定 proxy-providers 为生成链接吗?能否展开说说,谢谢。

类似下面的配置 用substore生成的clash格式的gist链接替换 http://your-service-provider 就行

mixed-port: 7893  
allow-lan: true    
bind-address: "*"    
ipv6: false  
mode: rule            
log-level: info       
external-controller: '127.0.0.1:9090'   

dns:
  enable: true 
  ipv6: false              
  enhanced-mode: fake-ip   
  listen: 0.0.0.0:53       
  fake-ip-range: 198.18.0.1/16    
  fake-ip-filter: ['*.lan', 'cable.auth.com', '*.msftconnecttest.com', '*.msftncsi.com', 'network-test.debian.org', 'detectportal.firefox.com', 'resolver1.opendns.com', '*.srv.nintendo.net', '*.stun.playstation.net', 'xbox.*.microsoft.com', '*.xboxlive.com', 'stun.*', 'global.turn.twilio.com', 'global.stun.twilio.com', 'localhost.*.qq.com', 'localhost.*.weixin.qq.com', '*.logon.battlenet.com.cn', '*.logon.battle.net', '*.blzstatic.cn', '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', 'proxy.golang.org', '*.mcdn.bilivideo.cn', '*.cmpassport.com', 'id6.me', 'open.e.189.cn', 'mdn.open.wo.cn', 'opencloud.wostore.cn', 'auth.wosms.cn', '*.jegotrip.com.cn', '*.icitymobile.mobi', '*.pingan.com.cn', '*.cmbchina.com', 'pool.ntp.org', '*.pool.ntp.org', 'ntp.*.com', 'time.*.com', 'ntp?.*.com', 'time?.*.com', 'time.*.gov', 'time.*.edu.cn', '*.ntp.org.cn', 'PDC._msDCS.*.*', 'DC._msDCS.*.*', 'GC._msDCS.*.*']
  nameserver: [https://doh.pub/dns-query, https://dns.alidns.com/dns-query]               

p: &p {type: http, interval: 86400, health-check: {enable: true, url: http://www.gstatic.com/generate_204, interval: 1800}}

auto: &auto {type: url-test, lazy: true, url: http://www.gstatic.com/generate_204, interval: 900, use: [Subscribe]}

select: &select {type: select, use: [Subscribe]}

c: &c {type: http, behavior: classical, interval: 86400}

d: &d {type: http, behavior: domain, interval: 86400}

i: &i {type: http, behavior: ipcidr, interval: 86400}

proxy-providers:
  Subscribe: {<<: *p, url: http://your-service-provider }
    # Sub-Store生成的Gist链接(Clash类型),可以直接替换上述url引号中的部分

proxies: null

proxy-groups:

 - {name: 🌏 国外网站, <<: *select}

rule-providers:

 Anti-AD: {<<: *d, path: ./ruleset/anti-ad-clash.yaml, url: https://anti-ad.net/clash.yaml}

 icloud: {<<: *d, path: ./ruleset/icloud.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt}
 apple: {<<: *d, path: ./ruleset/apple.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt}

 proxy: {<<: *d, path: ./ruleset/proxy.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt}

 direct: {<<: *d, path: ./ruleset/direct.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt}

 private: {<<: *d, path: ./ruleset/private.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt}

 telegramcidr: {<<: *i, path: ./ruleset/telegramcidr.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt}

 cncidr: {<<: *i, path: ./ruleset/cncidr.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt}

 lancidr: {<<: *i, path: ./ruleset/lancidr.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt}

 applications: {<<: *c, path: ./ruleset/applications.yaml, url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt}

rules:
  - RULE-SET,applications,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,Anti-AD,REJECT
  - RULE-SET,telegramcidr,🌏 国外网站
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,proxy,🌏 国外网站
  - RULE-SET,direct,DIRECT
  - RULE-SET,lancidr,DIRECT
  - RULE-SET,cncidr,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,🌏 国外网站 
y1ndan commented 9 months ago

明白,谢谢三位的解答。