Skip to content

refined-fish/clash_rule_fish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

833 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clash_Rule_FISH 简介

这是一个 Mihomoyaml配置文件 + Rule-Provider 仓库,但个人色彩很重,更推荐作为参考而不是直接引用。

当然直接引用也可以😂,只是不那么方便

仓库提供的配置文件模板 FISH-Template.yaml 无法直接导入代理软件运行,因为缺少必要的订阅链接等个性化内容,请自行修改补齐后使用。(修改 教程 见下文)

注意❗

近期本项目切换到了 官改Smart 内核(内核特点见 Smart内核工作原理 ),因此配置文件中的url-test/load-balance均更换成了Smart策略,如还在使用mihomo官方内核,那么需要手动改回后继续使用,或者跟随本项目切换到Smart内核

如果你是自建的稳定出口,那么Smart内核对你来说是没有区别的,不需要更换。如果你是用杂牌节点,普遍质量不高,那么Smart内核可以给你带来更好的使用体验,自动选择尽量最优秀的流量出口

Some Tips

关于Rule: 非必要时更推荐各位朋友直接使用 GEO数据库 ,减少外部依赖,简化配置文件,提升使用体验❤️

关于Fake-IP:Fakeip的很多优势是redir-host无法比拟的,而且rule模式也能让会受到影响的流量回退到real-ip模式消除不利影响。对于喜欢redir-host模式的朋友,仓库也保留了原来redir-host模式的备份可供参考,但不再更新。

关于订阅转换: 由于最常用的订阅转换工具 subconverter 不能灵活支持配置 mihomo 的全部字段,因此本仓库没有提供订阅转换模板。本仓库的模板也不能直接变成 subconverter远程配置 使用。如果你想用本仓库的模板实现远程订阅,自动同步仓库更新,此处提供一种较为复杂的 方案 见下文。

最后 :欢迎各位在 issue 友善🙌讨论,我看到了都会抽时间回复。值得注意的是,无论你有什么问题,我都建议你先查看 mihomo 官方文档,以及学会 yaml 的一般语法,否则你既不能学会 mihomo 的使用,也可能浪费自己和大家的时间🥲


Icon

mihomo 支持为代理组设置icon字段来让显示更漂亮直观,此处收集了部分icon图标以供引用,效果如下

image

直接使用本仓库配置文件模板

  1. 下载配置文件模板,找到模板中 代理提供者 部分

    proxy-providers:
      #❗provider占位1
      #❗provider占位2
      #❗provider占位3
      #❗provider占位4
  2. #❗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
  3. 再找到 代理组 部分

    use-all-proxy-providers: &use-all-proxy-providers
      use:
        #❗use-provider占位1
        #❗use-provider占位2
        #❗use-provider占位3
        #❗use-provider占位4
  4. 将第 2 步修改过的 #❗provider占位 引用进去,同上,你写了几个订阅就改几个引用,注意不要遗漏 - 短横线,下面是写了一个订阅的修改示例

    use-all-proxy-providers: &use-all-proxy-providers
      use:
        - provider1
        #❗use-provider占位2
        #❗use-provider占位3
        #❗use-provider占位4
  5. 然后就可以将修改后的yaml文件导入代理软件中当做配置文件使用了。

将本仓库作为远程订阅

若想将本仓库模板变成远程订阅,需要以下前置条件(或者你能看懂原理,自己用其他能达到效果的方法也可以):

  1. 有自己的 nginx Web服务器
  2. 掌握 nginx 反向代理的一般用法:

正式开始

  1. 用自己的 nginx 反向代理本仓库的模板文件。

  2. 在反向代理中使用 nginx_http_sub 子模块的 sub_filter 功能,自动替换模板中的 ❗占位符 字段为自己的 订阅 字段,注意替换中的换行符 \n 不可遗漏!更要注意下方可能由于 引号嵌套 需要使用的 转义引号 !!!

  3. 以下是 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';
      }
    }
  4. 然后就可以将自己的反向代理地址导入代理软件中更新订阅了,可以实时同步我的更新。

但你需要担心我的不正确更新往配置文件里掺💩,以及我自己随性而起的更新,因此我更建议你fork本仓库自行维护,定期同步更改。

更新日志

日志我懒得写😫,不如直接看提交日志。

致谢

感谢以下人员的帮助

@morytyann

About

mihomo 规则集合,mihomo 配置文件参考

Resources

License

Stars

Watchers

Forks

Contributors