From 3c3195ec6ef327d82321f1df5d9d8bf5fa0e4e9a Mon Sep 17 00:00:00 2001 From: mack-a <57424792+mack-a@users.noreply.github.com> Date: Wed, 24 Jan 2024 17:45:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=84=9A=E6=9C=AC):=20=E5=A2=9E=E5=8A=A0s?= =?UTF-8?q?ing-box=E5=9F=9F=E5=90=8D=E9=BB=91=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 62 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/install.sh b/install.sh index 90bd4e5..2cdc974 100644 --- a/install.sh +++ b/install.sh @@ -3195,7 +3195,6 @@ addSingBoxRouteRule() { local rules= rules=$(initSingBoxRules "${domainList}" "${routingName}") - # domain精确匹配规则 local domainRules= domainRules=$(echo "${rules}" | jq .domainRules) @@ -3209,8 +3208,8 @@ addSingBoxRouteRule() { if [[ "$(echo "${ruleSet}" | jq '.|length')" != "0" ]]; then ruleSetTag=$(echo "${ruleSet}" | jq '.|map(.tag)') fi - if [[ -n "${singBoxConfigPath}" ]]; then + cat <"${singBoxConfigPath}${routingName}.json" { "route": { @@ -5877,38 +5876,57 @@ blacklist() { echoContent yellow "4.如果域名在预定义域名列表中存在则使用 geosite:xx,如果不存在则默认使用输入的域名" echoContent yellow "5.添加规则为增量配置,不会删除之前设置的内容\n" read -r -p "请按照上面示例录入域名:" domainList + if [[ "${coreInstallType}" == "1" ]]; then + if [[ -f "${configPath}09_routing.json" ]]; then + addInstallRouting blackhole_out outboundTag "${domainList}" + fi + unInstallOutbounds blackhole_out - if [[ -f "${configPath}09_routing.json" ]]; then - addInstallRouting blackhole_out outboundTag "${domainList}" + outbounds=$(jq -r '.outbounds += [{"protocol":"blackhole","tag":"blackhole_out"}]' ${configPath}10_ipv4_outbounds.json) + + echo "${outbounds}" | jq . >${configPath}10_ipv4_outbounds.json fi - unInstallOutbounds blackhole_out - - outbounds=$(jq -r '.outbounds += [{"protocol":"blackhole","tag":"blackhole_out"}]' ${configPath}10_ipv4_outbounds.json) - - echo "${outbounds}" | jq . >${configPath}10_ipv4_outbounds.json + if [[ -n "${singBoxConfigPath}" ]]; then + addSingBoxRouteRule "block_domain_outbound" "${domainList}" "block_domain_route" + addSingBoxOutbound "block_domain_outbound" + addSingBoxOutbound "direct" + fi echoContent green " ---> 添加完毕" elif [[ "${blacklistStatus}" == "3" ]]; then - if [[ "${coreInstallType}" == "2" ]]; then - echoContent red "\n ---> 此功能仅支持Xray-core内核,请等待后续更新" - exit 0 + + if [[ "${coreInstallType}" == "1" ]]; then + addInstallRouting blackhole_out outboundTag "cn" + + unInstallOutbounds blackhole_out + + outbounds=$(jq -r '.outbounds += [{"protocol":"blackhole","tag":"blackhole_out"}]' ${configPath}10_ipv4_outbounds.json) + + echo "${outbounds}" | jq . >${configPath}10_ipv4_outbounds.json fi - addInstallRouting blackhole_out outboundTag "cn" - unInstallOutbounds blackhole_out + if [[ -n "${singBoxConfigPath}" ]]; then + addSingBoxRouteRule "cn_block_outbound" "cn" "cn_block_route" + addSingBoxOutbound "cn_block_outbound" + addSingBoxOutbound "direct" + fi - outbounds=$(jq -r '.outbounds += [{"protocol":"blackhole","tag":"blackhole_out"}]' ${configPath}10_ipv4_outbounds.json) - - echo "${outbounds}" | jq . >${configPath}10_ipv4_outbounds.json - - echoContent green " ---> 屏蔽国内域名成功" + echoContent green " ---> 屏蔽国内域名完毕" elif [[ "${blacklistStatus}" == "4" ]]; then + if [[ "${coreInstallType}" == "1" ]]; then + unInstallRouting blackhole_out outboundTag + fi - unInstallRouting blackhole_out outboundTag + if [[ -n "${singBoxConfigPath}" ]]; then + removeSingBoxConfig "cn_block_route" + removeSingBoxConfig "cn_block_outbound" - echoContent green " ---> 域名黑名单删除成功" + removeSingBoxConfig "block_domain_route" + removeSingBoxConfig "block_domain_outbound" + fi + echoContent green " ---> 域名黑名单删除完毕" else echoContent red " ---> 选择错误" exit 0 @@ -8909,7 +8927,7 @@ menu() { cd "$HOME" || exit echoContent red "\n==============================================================" echoContent green "作者:mack-a" - echoContent green "当前版本:v3.1.37" + echoContent green "当前版本:v3.1.38" echoContent green "Github:https://github.com/mack-a/v2ray-agent" echoContent green "描述:八合一共存脚本\c" showInstallStatus