fixik
This commit is contained in:
parent
6d2ca73c1c
commit
d436c1808c
|
|
@ -6,4 +6,5 @@ rollback_script =
|
|||
threads =
|
||||
table =
|
||||
gateway =
|
||||
interface =
|
||||
run =
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ def read_config(cfg_file, section=None):
|
|||
"rollback_script": os.path.join(BASE_DIR, cfg.get("rollback_script", "forced_vpn_OFF.sh")),
|
||||
"exclude_cloudflare": cfg.get("exclude_cloudflare", "no").lower() in ["yes", "y"],
|
||||
"gateway": cfg.get("gateway", ""),
|
||||
"interface": cfg.get("gateway", ""),
|
||||
"table": cfg.get("table", "1010"),
|
||||
"run": cfg.get("run", "")
|
||||
}
|
||||
|
|
@ -209,6 +210,18 @@ async def main():
|
|||
for ip in sorted(all_ips):
|
||||
f.write(ip + "\n")
|
||||
|
||||
gateway = ""
|
||||
interface = ""
|
||||
if cfg["gateway"]:
|
||||
gateway = cfg["gateway"]
|
||||
|
||||
if cfg["interface"]:
|
||||
interface = cfg["interface"]
|
||||
|
||||
if not gateway and not interface:
|
||||
logging.error("Не указан Gateway и Interface, выход.")
|
||||
exit(1)
|
||||
|
||||
with open(cfg["script"], "w") as f:
|
||||
f.write(
|
||||
f'#!/bin/bash\n\n'
|
||||
|
|
@ -222,13 +235,14 @@ async def main():
|
|||
if "/" in ip:
|
||||
if cfg["gateway"]:
|
||||
f.write(f'ip route replace {ip} via {cfg["gateway"]} table {cfg["table"]}\n')
|
||||
else:
|
||||
f.write(f'ip route replace {ip} table {cfg["table"]}\n')
|
||||
elif cfg["interface"]:
|
||||
f.write(f'ip route replace {ip} dev {cfg["interface"]} table {cfg["table"]}\n')
|
||||
|
||||
else:
|
||||
if cfg["gateway"]:
|
||||
f.write(f'ip route replace {ip}/32 via {cfg["gateway"]} table {cfg["table"]}\n')
|
||||
else:
|
||||
f.write(f'ip route replace {ip}/32 table {cfg["table"]}\n')
|
||||
elif cfg["interface"]:
|
||||
f.write(f'ip route replace {ip}/32 dev {cfg["interface"]} table {cfg["table"]}\n')
|
||||
|
||||
os.chmod(cfg["script"], 0o755)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user