From 6f2275a93a0ffc3b634a955574f76d85b2cb3334 Mon Sep 17 00:00:00 2001 From: HgO Date: Fri, 16 Aug 2024 15:53:27 +0200 Subject: [PATCH] nginx template for redirect to admin --- conf/nginx.conf | 6 ++++++ scripts/config | 17 +++-------------- 2 files changed, 9 insertions(+), 14 deletions(-) create mode 100644 conf/nginx.conf diff --git a/conf/nginx.conf b/conf/nginx.conf new file mode 100644 index 0000000..534161e --- /dev/null +++ b/conf/nginx.conf @@ -0,0 +1,6 @@ +location / { + if ($remote_addr ~ "^__IP4_NAT_PREFIX__.\d+$") { + return 302 __CAPTIVE_PORTAL_URL__; + } + return 302 https://$http_host/yunohost/admin; +} diff --git a/scripts/config b/scripts/config index b62af3e..dacc90c 100644 --- a/scripts/config +++ b/scripts/config @@ -199,22 +199,11 @@ ynh_app_config_apply() { # Activate captive portal or not captive_portal=$(ynh_app_setting_get --app=$app --key=captive_portal) - if [[ "$captive_portal" == '1' ]] - then - echo "location / {" > /etc/nginx/conf.d/default.d/redirect_to_admin.conf - - echo " if (\$remote_addr ~ "^$ip4_nat_prefix.\d+$") {" >> /etc/nginx/conf.d/default.d/redirect_to_admin.conf - - echo " return 302 $captive_portal_url;" >> /etc/nginx/conf.d/default.d/redirect_to_admin.conf - - echo " }" > /etc/nginx/conf.d/default.d/redirect_to_admin.conf - - echo " return 302 https://\$http_host/yunohost/admin;" >> /etc/nginx/conf.d/default.d/redirect_to_admin.conf - - echo "}" >> /etc/nginx/conf.d/default.d/redirect_to_admin.conf - systemctl reload nginx + if [[ "${captive_portal}" -eq 1 ]]; then + ynh_config_add_nginx ynh_systemd_action --service_name=captiveportal_fakedns --action="start" --log_path=systemd else + ynh_config_remove_nginx ynh_systemd_action --service_name=captiveportal_fakedns --action="stop" --log_path=systemd fi