mirror of
https://github.com/YunoHost-Apps/adguardhome_ynh.git
synced 2024-09-03 18:06:23 +02:00
process IPs and regen conf when set__open_port_53()
This commit is contained in:
parent
335b5d5645
commit
9bb37f2f35
1 changed files with 33 additions and 0 deletions
|
@ -32,6 +32,39 @@ set__open_port_53() {
|
||||||
ynh_print_warn --message="The variable 'open_port_53' should be 'true' or 'false' but isn't, please report this."
|
ynh_print_warn --message="The variable 'open_port_53' should be 'true' or 'false' but isn't, please report this."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# regenerate config, needed to add or delete public IPs following the user's choice
|
||||||
|
# get IPv4 for the AGH config file
|
||||||
|
ipv4_route_output=$(echo "$(ip -4 route get 1.2.3.4 2> /dev/null)" | head -n1 | head -n1)
|
||||||
|
ipv4_addr=$(process_ips "$ipv4_route_output")
|
||||||
|
|
||||||
|
# get IPv6 for the AGH config file
|
||||||
|
ipv6_route_output=$(echo "$(ip -6 route get ::1.2.3.4 2> /dev/null)" | head -n1)
|
||||||
|
ipv6_addr=$(process_ips "$ipv6_route_output")
|
||||||
|
|
||||||
|
# Reset the bind_hosts if the current ip is 0.0.0.0
|
||||||
|
python3 -c "import yaml
|
||||||
|
with open(\"$install_dir/AdGuardHome.yaml\", 'r') as file:
|
||||||
|
conf_file = yaml.safe_load(file)
|
||||||
|
|
||||||
|
need_file_update = False
|
||||||
|
|
||||||
|
if \"0.0.0.0\" in conf_file[\"dns\"][\"bind_hosts\"]:
|
||||||
|
conf_file[\"dns\"][\"bind_hosts\"] = []
|
||||||
|
if \"$ipv4_addr\":
|
||||||
|
conf_file[\"dns\"][\"bind_hosts\"].append(\"$ipv4_addr\")
|
||||||
|
if \"$ipv6_addr\":
|
||||||
|
conf_file[\"dns\"][\"bind_hosts\"].append(\"$ipv6_addr\")
|
||||||
|
need_file_update = True
|
||||||
|
|
||||||
|
if conf_file[\"dns\"][\"port\"] != 53:
|
||||||
|
conf_file[\"dns\"][\"port\"] = 53
|
||||||
|
need_file_update = True
|
||||||
|
|
||||||
|
if need_file_update:
|
||||||
|
with open(\"$install_dir/AdGuardHome.yaml\", 'w') as file:
|
||||||
|
yaml.dump(conf_file, file)
|
||||||
|
"
|
||||||
|
|
||||||
# save the new setting
|
# save the new setting
|
||||||
ynh_app_setting_set "$app" --key=open_port_53 --value="$open_port_53"
|
ynh_app_setting_set "$app" --key=open_port_53 --value="$open_port_53"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue