diff --git a/config/local.json b/config/local.json old mode 100755 new mode 100644 index 0515c4e..049b5fd --- a/config/local.json +++ b/config/local.json @@ -10,7 +10,7 @@ }, { "port": 2802, - "listen": "127.0.0.1", + "listen": "0.0.0.0", "protocol": "http" }, { @@ -26,5 +26,27 @@ } } } - ] + ], + "outbounds": [ + { + "protocol": "freedom", + "tag": "direct" + }, + { + "protocol": "blackhole", + "tag": "blocked" + } + ], + "routing": { + "rules": [ + { + "type": "field", + "ip": [ + "geoip:cn", + "geoip:private" + ], + "outboundTag": "direct" + } + ] +} } diff --git a/kill.sh b/kill.sh old mode 100755 new mode 100644 diff --git a/xray_manager.py b/xray_manager.py index ffd9344..2900fe1 100644 --- a/xray_manager.py +++ b/xray_manager.py @@ -241,7 +241,10 @@ def main(): xray_config.clear() for k in xray_local_config: xray_config[k] = xray_local_config[k] - xray_config["outbounds"] = [out] + out_list = [out] + if "outbounds" in xray_config: + out_list.extend(xray_config["outbounds"]) + xray_config["outbounds"] = out_list xray_config.commit() loop2 = False elif func_sel.lower() == "q":