mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Added a field in the settings for mirrors of ip.yunohost.org
This commit is contained in:
parent
6f282b2bcf
commit
19482d0b96
3 changed files with 18 additions and 9 deletions
|
@ -6,8 +6,10 @@ set -e
|
||||||
do_pre_regen() {
|
do_pre_regen() {
|
||||||
pending_dir=$1
|
pending_dir=$1
|
||||||
|
|
||||||
declare -a ip_yuno=(ip.yunohost.org api.ipify.org)
|
# split the mirrors URLs
|
||||||
declare -a ip_yuno6=(ip6.yunohost.org 0-ip6.yunohost.org)
|
IFS=','
|
||||||
|
read -raip_yuno<<<$(yunohost settings get security.ipmirrors.v4)
|
||||||
|
read -raip_yuno6<<<$(yunohost settings get security.ipmirrors.v6)
|
||||||
|
|
||||||
cd /usr/share/yunohost/conf/dnsmasq
|
cd /usr/share/yunohost/conf/dnsmasq
|
||||||
|
|
||||||
|
@ -28,9 +30,9 @@ do_pre_regen() {
|
||||||
###### IPV4 #######
|
###### IPV4 #######
|
||||||
|
|
||||||
trouve=0
|
trouve=0
|
||||||
for i in "${!ip_yuno[@]}" ; do
|
for link in "${ip_yuno[@]}" ; do
|
||||||
if [ $(curl --connect-timeout 5 -o -I -L -s -w "%{http_code}" "${ip_yuno[$i]}" 2> /dev/null) -eq 200 ] && [ $trouve -ne 0 ]; then
|
if [ $(curl --connect-timeout 5 -o -I -L -s -w "%{http_code}" "$link" 2> /dev/null) -eq 200 ] && [ $trouve -ne 1 ]; then
|
||||||
ipv4=$(curl -s -4 "${ip_yuno[$i]}" 2>/dev/null || true)
|
ipv4=$(curl -s -4 "$link" 2>/dev/null || true)
|
||||||
ynh_validate_ip4 "$ipv4" || ipv4='127.0.0.1'
|
ynh_validate_ip4 "$ipv4" || ipv4='127.0.0.1'
|
||||||
trouve=1
|
trouve=1
|
||||||
fi
|
fi
|
||||||
|
@ -41,7 +43,7 @@ do_pre_regen() {
|
||||||
trouve=0
|
trouve=0
|
||||||
|
|
||||||
for i in "${!ip_yuno6[@]}" ; do
|
for i in "${!ip_yuno6[@]}" ; do
|
||||||
if [ $(curl --connect-timeout 5 -o -I -L -s -w "%{http_code}" "${ip6_yuno[$i]}" 2> /dev/null) -eq 200 ] && [ $trouve -ne 0 ]; then
|
if [ $(curl --connect-timeout 5 -o -I -L -s -w "%{http_code}" "${ip6_yuno[$i]}" 2> /dev/null) -eq 200 ] && [ $trouve -ne 1 ]; then
|
||||||
ipv6=$(curl -s -6 "${ip_yuno6[$i]}" 2>/dev/null || true)
|
ipv6=$(curl -s -6 "${ip_yuno6[$i]}" 2>/dev/null || true)
|
||||||
ynh_validate_ip6 "$ipv6" || ipv6=''
|
ynh_validate_ip6 "$ipv6" || ipv6=''
|
||||||
trouve=1
|
trouve=1
|
||||||
|
|
|
@ -3,6 +3,14 @@ i18n = "global_settings_setting"
|
||||||
|
|
||||||
[security]
|
[security]
|
||||||
name = "Security"
|
name = "Security"
|
||||||
|
[security.ipmirrors]
|
||||||
|
name = "IPmirrors"
|
||||||
|
[security.ipmirrors.v4]
|
||||||
|
type = "string"
|
||||||
|
default = "https://ip.yunohost.org,https://api.ipify.net"
|
||||||
|
[security.ipmirrors.v6]
|
||||||
|
type = "string"
|
||||||
|
default = "https://ip6.yunohost.org"
|
||||||
[security.password]
|
[security.password]
|
||||||
name = "Passwords"
|
name = "Passwords"
|
||||||
[security.password.admin_strength]
|
[security.password.admin_strength]
|
||||||
|
|
|
@ -12,6 +12,7 @@ from moulinette.utils.filesystem import read_file
|
||||||
|
|
||||||
from yunohost.diagnosis import Diagnoser
|
from yunohost.diagnosis import Diagnoser
|
||||||
from yunohost.utils.network import get_network_interfaces
|
from yunohost.utils.network import get_network_interfaces
|
||||||
|
from yunohost.settings import settings_get
|
||||||
|
|
||||||
logger = log.getActionLogger("yunohost.diagnosis")
|
logger = log.getActionLogger("yunohost.diagnosis")
|
||||||
|
|
||||||
|
@ -214,9 +215,7 @@ class MyDiagnoser(Diagnoser):
|
||||||
protocol
|
protocol
|
||||||
)
|
)
|
||||||
|
|
||||||
ip4_tab = ["https://ip.yunohost.org","https://api.ipify.net"]
|
ip_url_yunohost_tab = settings_get("security.ipmirrors.v"+str(protocol)).split(",")
|
||||||
ip6_tab = ["https://ip6.yunohost.org"]
|
|
||||||
ip_url_yunohost_tab = ip4_tab if protocol==4 else ip6_tab
|
|
||||||
|
|
||||||
# Check URLS
|
# Check URLS
|
||||||
for url in ip_url_yunohost_tab:
|
for url in ip_url_yunohost_tab:
|
||||||
|
|
Loading…
Add table
Reference in a new issue