一种更简单的生成 ImmortalWRT(OpenWRT) homeproxy 配置的方法(aka 懒人脚本)。
请从 下载链接 下载适用于你机器架构的 homeproxy 安装包安装,其余来源的安装包使用后可能会出现未知错误,后果自负!
推荐使用 VSCode 等编辑器更改配置内容。
- 备份原有的
/etc/config/homeproxy
文件(脚本执行会直接覆盖原文件); - 下载2个脚本文件到你的设备上并自定义
homeproxy_rules_definations.sh
文件中的配置(下方提供详细说明); - 把2个脚本上传到安装了 luci-app-homeproxy 的设备上,目录随意,并赋予其执行权限,最后执行指定脚本;
# 举例,将2个脚本上传至 /tmp 目录下之后:
cd /tmp
# 修改2个脚本的权限
chmod +x homeproxy_rules.sh
chmod +x homeproxy_rules_defination.sh
# 执行脚本一键生成配置
bash homeproxy_rules.sh
-
浏览器刷新 homeproxy 界面,之后:
- 手动添加订阅,并在
节点设置 - 节点
为每个自定义节点配置相应的出站节点;
- 手动添加订阅,并在
-
进入
服务状态
功能,点击 Clash dashboard version 右侧的更新按钮更新UI -
保存并应用即可
RULESET_URLS 中的规则配置为:"规则集自定义名称|urls"
最终生成的规则集、DNS规则、路由规则、路由节点等的顺序会 严格按照规则集定义的顺序 添加到列表中。
-
支持 srs 和 json 格式的规则集文件。
-
支持 URL 和 本地绝对路径。
-
规则集自定义名称 不允许重复!
-
规则集自定义名称 及 URL允许包含"_"、"-"、"#"、"@"、"*" 字符,以及 纯英文大小写及数字;
- 由于luci界面的限制,如果规则集文件名中包含"-"、"#"、"@"、"*"字符,会被自动替换为 "_"
-
所有规则集中的url都可以自行增删、替换;
-
如果规则集中只存在一条url,请确保行末尾的双引号处于当前行的末尾(注意规则集的顺序)
# 单行写法示例 RULESET_URLS=( "google|https://github.com/MetaCubeX/meta-rules-dat/raw/sing/geo/geosite/google-cn.srs" "telegram|/etc/homeproxy/ruleset/telegram.json" ) DNS_SERVERS=( "Google|https://dns.google/dns-query" "cloudflare|https://cloudflare-dns.com/dns-query" )
# 多行写法示例 RULESET_URLS=( "google|https://github.com/MetaCubeX/meta-rules-dat/raw/sing/geo/geosite/google-trust-services@cn.srs https://github.com/MetaCubeX/meta-rules-dat/raw/sing/geo/geosite/google-cn.json /etc/homeproxy/ruleset/googlefcm.srs /etc/homeproxy/ruleset/google.json" ) DNS_SERVERS=( "google|url1 url2 url3" )
-
错误写法示例
# 错误写法一: RULESET_URLS=( "google|url " ) # 错误写法二(不允许在url列表中使用注释符号 --> #): RULESET_URLS=( "google|url1 #url2 url3" )
以下三种写法任选其一即可。
把 airport_0x
以及 url
替换为你自己的机场名称和规则集url即可。
RULESET_URLS=(
# reject_out 为保留名称不允许更改!
# 如果不希望添加拒绝出站的规则集,直接删除 "reject_out|xxx" 行即可!
"reject_out|url"
"airport_01|url"
"airport_02|url"
"airport_03|url"
# 可以添加更多...
# direct_out 为保留名称不允许更改!
# 不允许删除 direct_out 行,但可修改url内容!
"direct_out|url"
)
替换节点名称和url为你的配置即可。
RULESET_URLS=(
# reject_out 为保留名称不允许更改!
# 如果不希望添加拒绝出站的规则集,直接删除 "reject_out|xxx" 行即可!
"reject_out|url"
"us_node|url"
"sg_node|url"
# direct_out 为保留名称不允许更改!
# 不允许删除 direct_out 行,但可修改url内容!
"direct_out|url"
)
替换名称和url为你的配置即可。
RULESET_URLS=(
# reject_out 为保留名称不允许更改!
# 如果不希望添加拒绝出站的规则集,直接删除 "reject_out|xxx" 行即可!
"reject_out|url"
"google|url"
"twitter|url"
# direct_out 为保留名称不允许更改!
# 不允许删除 direct_out 行,但可修改url内容!
"direct_out|url"
)
在这里配置你想要使用的 DNS服务商。
- 命名规则为:"DNS服务商自定义名称|urls";
- 第一条配置里的第一个url 会被作为默认DNS服务器在
DNS 规则
中选中; - 格式与上方自定义规则集列表中的格式相同;
- DNS 服务器可随意增删修改,不存在保留名称;
# 可以在下方添加更多
DNS_SERVERS=(
"google|url"
"cloudflare|url
url2
url3"
"tencent|url1
url2"
"opendns|url"
)