2dust / clashN

A clash client for Windows, support Mihomo
https://1.2345345.xyz
GNU General Public License v3.0
4.66k stars 587 forks source link

有没有mixin更详细的使用方法? #303

Closed Kam323 closed 6 months ago

Kam323 commented 9 months ago

例如,怎样删除订阅中原有的所有proxy groups和rules?如何往自己建立的proxy group中添加proxy规则?(clash for windows的parsers功能是用cammands指令添加,目前使用没什么问题,我觉得可以参考)

本人不是程序员,不知道是否mixin只能使用JavaScript来实现对订阅配置的编辑,望指教,感谢!

Kam323 commented 9 months ago

以下是我在clash for windows的parsers功能中使用的编辑方法,不知道用clashN的mixin功能如何实现?直接复制到clashN的mixin配置里实测是没效果的 parsers.txt

SinnoSong commented 8 months ago

@Kam323 可以参考下我现在使用的,我没有删除原来的配置,只是添加新的。

#
# 配置文件内容不会被修改,混合行为只会发生在内存中
#
# 注意下面缩进,请用支持yaml显示的编辑器打开
#
# 使用clash配置文件关键字则覆盖原配置
#
# removed-rules    循环匹配rules数组每行,符合则移除当前行 (此规则请放最前面)
#
# append-rules    数组合并至原配置rules数组后
# prepend-rules   数组合并至原配置rules数组前
# append-proxies      数组合并至原配置proxies数组后
# prepend-proxies     数组合并至原配置proxies数组前
# append-proxy-groups     数组合并至原配置proxy-groups数组后
# prepend-proxy-groups    数组合并至原配置proxy-groups数组前
# append-rule-providers     数组合并至原配置rule-providers数组后
# prepend-rule-providers    数组合并至原配置rule-providers数组前
#

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 114.114.114.114
    - 223.5.5.5
    - 8.8.8.8
  fallback: []
  fake-ip-filter:
    - +.stun.*.*
    - +.stun.*.*.*
    - +.stun.*.*.*.*
    - +.stun.*.*.*.*.*
    - "*.n.n.srv.nintendo.net"
    - +.stun.playstation.net
    - xbox.*.*.microsoft.com
    - "*.*.xboxlive.com"
    - "*.msftncsi.com"
    - "*.msftconnecttest.com"
    - WORKGROUP
append-proxies:
  - {
      name: test,
      type: ss,
      server: ip,
      port: 端口,
      cipher: aes-256-cfb,
      password: password,
      udp: true,
    }
append-proxy-groups:
  - { name: "test", type: select, proxies: [test] }
prepend-rules:
  - "IP-CIDR,ip/24,test"
  - "DOMAIN-KEYWORD,domain,test"
Kam323 commented 6 months ago

@Kam323 可以参考下我现在使用的,我没有删除原来的配置,只是添加新的。

#
# 配置文件内容不会被修改,混合行为只会发生在内存中
#
# 注意下面缩进,请用支持yaml显示的编辑器打开
#
# 使用clash配置文件关键字则覆盖原配置
#
# removed-rules    循环匹配rules数组每行,符合则移除当前行 (此规则请放最前面)
#
# append-rules    数组合并至原配置rules数组后
# prepend-rules   数组合并至原配置rules数组前
# append-proxies      数组合并至原配置proxies数组后
# prepend-proxies     数组合并至原配置proxies数组前
# append-proxy-groups     数组合并至原配置proxy-groups数组后
# prepend-proxy-groups    数组合并至原配置proxy-groups数组前
# append-rule-providers     数组合并至原配置rule-providers数组后
# prepend-rule-providers    数组合并至原配置rule-providers数组前
#

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 114.114.114.114
    - 223.5.5.5
    - 8.8.8.8
  fallback: []
  fake-ip-filter:
    - +.stun.*.*
    - +.stun.*.*.*
    - +.stun.*.*.*.*
    - +.stun.*.*.*.*.*
    - "*.n.n.srv.nintendo.net"
    - +.stun.playstation.net
    - xbox.*.*.microsoft.com
    - "*.*.xboxlive.com"
    - "*.msftncsi.com"
    - "*.msftconnecttest.com"
    - WORKGROUP
append-proxies:
  - {
      name: test,
      type: ss,
      server: ip,
      port: 端口,
      cipher: aes-256-cfb,
      password: password,
      udp: true,
    }
append-proxy-groups:
  - { name: "test", type: select, proxies: [test] }
prepend-rules:
  - "IP-CIDR,ip/24,test"
  - "DOMAIN-KEYWORD,domain,test"

这个mixin开关打开,编辑好后,更新订阅,clashN文件夹里面的config.yaml文件也不见有改变,不知道是不是操作错误

SinnoSong commented 6 months ago

@Kam323 mixin编辑完成之后需要点击上面的保存按钮

Kam323 commented 6 months ago

@Kam323 mixin编辑完成之后需要点击上面的保存按钮

我用VScode编辑的,编辑完已经按保存了,还是不行,所以正确操作方法是编辑好保存,然后打开mixin开关,再更新订阅,就好了吗?

SinnoSong commented 6 months ago

@Kam323 参数设置的保存按钮 image

Kam323 commented 6 months ago

感谢,已经解决,但是mixin有些功能实现不了,例如往proxy-group里某条策略添加订阅中自带proxies就不行,只能添加固定名字的节点,但是订阅中的节点名是会不定期变更的,不可控,所以用固定名称的proxies不稳定,还是不如cfw的parser功能有comand好用

KazeLiu commented 4 months ago

感谢,已经解决,但是mixin有些功能实现不了,例如往proxy-group里某条策略添加订阅中自带proxies就不行,只能添加固定名字的节点,但是订阅中的节点名是会不定期变更的,不可控,所以用固定名称的proxies不稳定,还是不如cfw的parser功能有comand好用

我是用的JavaScript的方式修改的,测试添加新的规则是有效的:

module.exports.parse = ({ content, name, url }, { yaml, axios, notify }) => {
  const extra = {
    rules: [
      ...content.rules,
      'DOMAIN-SUFFIX,coze.com,IEPL-美国3'
    ],
  }
  return { ...content, ...extra }
}

用的js的解构和合并,content就是吐出来的解析的对象,用这种方式合并就行