这是一个 Mihomo 的 yaml配置文件 + Rule-Provider 仓库,但个人色彩很重,更推荐作为参考而不是直接引用。
当然直接引用也可以😂,只是不那么方便
仓库提供的配置文件模板 FISH-Template.yaml 无法直接导入代理软件运行,因为缺少必要的订阅链接等个性化内容,请自行修改补齐后使用。(修改 教程 见下文)
近期本项目切换到了 官改Smart 内核(内核特点见 Smart内核工作原理 ),因此配置文件中的url-test/load-balance均更换成了Smart策略,如还在使用mihomo官方内核,那么需要手动改回后继续使用,或者跟随本项目切换到Smart内核
如果你是自建的稳定出口,那么Smart内核对你来说是没有区别的,不需要更换。如果你是用杂牌节点,普遍质量不高,那么Smart内核可以给你带来更好的使用体验,自动选择尽量最优秀的流量出口
关于Rule: 非必要时更推荐各位朋友直接使用 GEO数据库 ,减少外部依赖,简化配置文件,提升使用体验❤️
关于Fake-IP:Fakeip的很多优势是redir-host无法比拟的,而且rule模式也能让会受到影响的流量回退到real-ip模式消除不利影响。对于喜欢redir-host模式的朋友,仓库也保留了原来redir-host模式的备份可供参考,但不再更新。
关于订阅转换: 由于最常用的订阅转换工具 subconverter 不能灵活支持配置 mihomo 的全部字段,因此本仓库没有提供订阅转换模板。本仓库的模板也不能直接变成 subconverter 的 远程配置 使用。如果你想用本仓库的模板实现远程订阅,自动同步仓库更新,此处提供一种较为复杂的 方案 见下文。
最后 :欢迎各位在 issue 友善🙌讨论,我看到了都会抽时间回复。值得注意的是,无论你有什么问题,我都建议你先查看 mihomo 官方文档,以及学会 yaml 的一般语法,否则你既不能学会 mihomo 的使用,也可能浪费自己和大家的时间🥲
mihomo 支持为代理组设置icon字段来让显示更漂亮直观,此处收集了部分icon图标以供引用,效果如下
-
下载配置文件模板,找到模板中
代理提供者部分proxy-providers: #❗provider占位1 #❗provider占位2 #❗provider占位3 #❗provider占位4
-
将
#❗provider占位修改为包含自己订阅地址的内容,有几个订阅修改几个占位符,以下是有一个订阅时的示例,注意缩进和引用不可遗漏!:proxy-providers: provider1: <<: *proxy-providers-general # 引用上文的yaml锚点 url: "这里填写你的订阅地址" override: #可选,覆写设置,不需要可以删除 additional-prefix: "provider1|" # 可选,写下的内容会原封不动添加到这个订阅节点的名字前面以方便区分,不需要可以删除这一行 path: ./providers/proxy/proxy-provider1.yaml # 可选,指定下载路径,不需要可以删除这一行 #❗provider占位2 #❗provider占位3 #❗provider占位4
-
再找到
代理组部分use-all-proxy-providers: &use-all-proxy-providers use: #❗use-provider占位1 #❗use-provider占位2 #❗use-provider占位3 #❗use-provider占位4
-
将第
2步修改过的#❗provider占位引用进去,同上,你写了几个订阅就改几个引用,注意不要遗漏-短横线,下面是写了一个订阅的修改示例use-all-proxy-providers: &use-all-proxy-providers use: - provider1 #❗use-provider占位2 #❗use-provider占位3 #❗use-provider占位4
-
然后就可以将修改后的yaml文件导入代理软件中当做配置文件使用了。
若想将本仓库模板变成远程订阅,需要以下前置条件(或者你能看懂原理,自己用其他能达到效果的方法也可以):
- 有自己的
nginxWeb服务器 - 掌握
nginx反向代理的一般用法:
正式开始 :
-
用自己的
nginx反向代理本仓库的模板文件。 -
在反向代理中使用
nginx_http_sub子模块的sub_filter功能,自动替换模板中的❗占位符字段为自己的订阅字段,注意替换中的换行符\n不可遗漏!更要注意下方可能由于 引号嵌套 需要使用的 转义引号 !!! -
以下是
nginx的server块示例,如果遇到问题,请查询Nginx日志报错,一般会跟Nginx的host,dns设置有关server { listen 你的nginx监听端口; set $subscription "https://raw.githubusercontent.com/refined-fish/clash_rule_fish/refs/heads/main/FISH-Template.yaml"; location / { # 反代我仓库模板 proxy_pass $subscription; # 取消http传输压缩,sub模块只能处理未压缩的文本文件 proxy_set_header Accept-Encoding ""; # 替换的文件类型,*为处理所有文件 sub_filter_types *; # 只匹配替换一次(否则全文匹配全部替换) sub_filter_once on; # 替换内容,有多个订阅可以自己复制多个替换 sub_filter '#❗provider占位1' 'provider1:\n <<: *proxy-providers-general\n override:\n additional-prefix: "自定义前缀|"\n url: "此处填写你的订阅链接"\n path: ./providers/proxy/proxy-provider1.yaml'; sub_filter '#❗use-provider占位1' '- provider1'; } }
-
然后就可以将自己的反向代理地址导入代理软件中更新订阅了,可以实时同步我的更新。
但你需要担心我的不正确更新往配置文件里掺💩,以及我自己随性而起的更新,因此我更建议你fork本仓库自行维护,定期同步更改。
日志我懒得写😫,不如直接看提交日志。
感谢以下人员的帮助
