1
0
Fork 0
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:
OniriCorpe 2023-12-27 06:54:34 +01:00
parent 335b5d5645
commit 9bb37f2f35

View file

@ -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"
} }