diff --git a/README.md b/README.md index 6363e5c..d6fedfb 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ *[Lire ce readme en français.](./README_fr.md)* > *This package allows you to install Coturn quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* +If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* ## Overview TURN and STUN server for VoIP @@ -38,8 +38,8 @@ TURN password: #### Supported architectures -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/coturn%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/coturn/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/coturn%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/coturn/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/coturn.svg)](https://ci-apps.yunohost.org/ci/apps/coturn/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/coturn.svg)](https://ci-apps-arm.yunohost.org/ci/apps/coturn/) ## Limitations diff --git a/README_fr.md b/README_fr.md index fad4a6e..74910d3 100644 --- a/README_fr.md +++ b/README_fr.md @@ -6,7 +6,7 @@ *[Read this readme in english.](./README.md)* > *Ce package vous permet d'installer Coturn rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) pour apprendre comment l'installer.* ## Overview Serveur TURN et STUN pour VoIP. STUN (Session Traversal Utilities for NAT) et TURN (Traversal Using Relays around NAT) sont des protocoles qui peuvent être utilisés pour fournir une traversée NAT pour VoIP et WebRTC. Ce package fournit un serveur et une passerelle de traversée NAT du trafic multimédia VoIP. @@ -37,8 +37,8 @@ TURN password: #### Architectures supportées -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/coturn%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/coturn/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/coturn%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/coturn/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/coturn.svg)](https://ci-apps.yunohost.org/ci/apps/coturn/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/coturn.svg)](https://ci-apps-arm.yunohost.org/ci/apps/coturn/) ## Limitations diff --git a/check_process b/check_process index 9d6bc92..b8aeb8d 100644 --- a/check_process +++ b/check_process @@ -14,6 +14,7 @@ setup_private=0 setup_public=0 upgrade=1 + upgrade=1 from_commit=2b6e951ded8c7d3dc0ad87aa8160ab64af976f68 backup_restore=1 multi_instance=0 port_already_use=0 @@ -22,6 +23,6 @@ Email= Notification=none ;;; Upgrade options - ; commit=CommitHash - name=Name and date of the commit. + ; commit=2b6e951ded8c7d3dc0ad87aa8160ab64af976f68 + name=Make curl silent manifest_arg=domain=DOMAIN& diff --git a/conf/turnserver.conf b/conf/turnserver.conf index dfc2609..991bce2 100644 --- a/conf/turnserver.conf +++ b/conf/turnserver.conf @@ -27,7 +27,7 @@ # TLS version 1.0, 1.1 and 1.2. # For secure UDP connections, Coturn supports DTLS version 1. # -tls-listening-port=__TLS_PORT__ +tls-listening-port=__TURNSERVER_TLS_PORT__ # Alternative listening port for UDP and TCP listeners; # default (or zero) value means "listening port plus one". @@ -43,7 +43,7 @@ tls-listening-port=__TLS_PORT__ # Alternative listening port for TLS and DTLS protocols. # Default (or zero) value means "TLS listening port plus one". # -alt-tls-listening-port=__TLS_ALT_PORT__ +alt-tls-listening-port=__TURNSERVER_ALT_TLS_PORT__ # Some network setups will require using a TCP reverse proxy in front # of the STUN server. If the proxy port option is set a single listener @@ -241,7 +241,7 @@ max-port=65535 # in the user database (if present). The database-stored value can be changed on-the-fly # by a separate program, so this is why that mode is considered 'dynamic'. # -static-auth-secret=__TURNPWD__ +static-auth-secret=__TURNSERVER_PWD__ # Server name used for # the oAuth authentication purposes. @@ -297,7 +297,7 @@ userdb=/var/lib/turn/turndb # http://www.postgresql.org/docs/9.2/static/libpq-connect.html#LIBPQ-CONNSTRING # for 9.x and newer connection string formats. # -#psql-userdb="host= dbname=__DB_NAME__ user=__DB_USER__ password=__DB_PASSWORD__ connect_timeout=30" +#psql-userdb="host= dbname= user= password= connect_timeout=30" # MySQL database connection string in the case that you are using MySQL # as the user database. diff --git a/manifest.json b/manifest.json index 5a1fed2..f5c0331 100644 --- a/manifest.json +++ b/manifest.json @@ -6,15 +6,15 @@ "en": "VoIP media traffic NAT traversal server and gateway", "fr": "Serveur et passerelle NAT du trafic média VoIP" }, - "version": "4.5.1.1~ynh1", + "version": "4.5.1.1~ynh2", "url": "https://github.com/coturn/coturn", "license": "BSD-3-Clause", "maintainer": { - "name": "", + "name": "eric_G", "email": "" }, "requirements": { - "yunohost": ">= 4.0.0" + "yunohost": ">= 4.1.7" }, "multi_instance": false, "services": [ @@ -24,10 +24,6 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain name for Coturn", - "fr": "Choisissez un nom de domaine pour Coturn" - }, "example": "turn.example.com" } ] diff --git a/scripts/install b/scripts/install index 1926f0b..af36da6 100644 --- a/scripts/install +++ b/scripts/install @@ -33,7 +33,7 @@ app=$YNH_APP_INSTANCE_NAME ynh_script_progression --message="Storing installation settings..." --weight=4 ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=no_sso --value true +ynh_app_setting_set --app=$app --key=no_sso --value=true #================================================= # CREATE A DH FILE @@ -113,18 +113,9 @@ turnserver_pwd=$(ynh_string_random --length=30) ynh_app_setting_set --app=$app --key=turnserver_pwd --value=$turnserver_pwd ynh_print_ON -mv /etc/turnserver.conf /etc/turnserver.conf.orig - coturn_config_path="/etc/turnserver.conf" -cp ../conf/turnserver.conf "$coturn_config_path" -ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$coturn_config_path" -ynh_replace_string --match_string=__DOMAIN__ --replace_string=$domain --target_file="$coturn_config_path" -ynh_replace_string --match_string=__TLS_PORT__ --replace_string=$turnserver_tls_port --target_file="$coturn_config_path" -ynh_replace_string --match_string=__TLS_ALT_PORT__ --replace_string=$turnserver_alt_tls_port --target_file="$coturn_config_path" -ynh_replace_string --match_string=__CLI_PORT__ --replace_string=$cli_port --target_file="$coturn_config_path" -ynh_print_OFF -ynh_replace_string --match_string=__TURNPWD__ --replace_string=$turnserver_pwd --target_file="$coturn_config_path" -ynh_print_ON + +ynh_add_config --template="../conf/turnserver.conf" --destination="$coturn_config_path" # Get public IP and set as external IP for coturn # note: '|| true' is used to ignore the errors if we can't get the public ipv4 or ipv6 @@ -154,8 +145,7 @@ chmod +x $data_path/Coturn_config_rotate.sh # SET COTURN CRON #================================================= -cp -f ../conf/cron_coturn /etc/cron.d/$app -ynh_replace_string --match_string="__DATA_PATH__" --replace_string=$data_path --target_file=/etc/cron.d/$app +ynh_add_config --template="../conf/cron_coturn" --destination="/etc/cron.d/$app" #================================================= # SETUP LOGROTATE @@ -181,7 +171,7 @@ setfacl -R -m user:turnserver:rwX /var/log/$app #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=2 -yunohost service add $app --description="Coturn TURN server" --log="/var/log/$app/$app.log" --needs_exposed_ports $turnserver_tls_port +yunohost service add $app --description="Coturn TURN server" --log="/var/log/$app/$app.log" --needs_exposed_ports="$turnserver_tls_port" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/remove b/scripts/remove index b5e86a4..88dd904 100644 --- a/scripts/remove +++ b/scripts/remove @@ -55,7 +55,6 @@ ynh_remove_app_dependencies ynh_script_progression --message="Removing Coturn configuration file..." --weight=2 ynh_secure_remove --file="/etc/turnserver.conf" -mv /etc/turnserver.conf.orig /etc/turnserver.conf #================================================= # REMOVE LOGROTATE CONFIGURATION diff --git a/scripts/restore b/scripts/restore index 498f457..8d0dc96 100644 --- a/scripts/restore +++ b/scripts/restore @@ -113,7 +113,7 @@ systemctl enable $app.service --quiet #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add $app --description="Coturn TURN server" --log="/var/log/$app/$app.log" --needs_exposed_ports $turnserver_tls_port +yunohost service add $app --description="Coturn TURN server" --log="/var/log/$app/$app.log" --needs_exposed_ports="$turnserver_tls_port" #================================================= # OPEN THE PORT diff --git a/scripts/upgrade b/scripts/upgrade index 5cf0cd7..25fa4b7 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -89,23 +89,12 @@ ynh_script_progression --message="Configuring Coturn..." --weight=2 coturn_config_path="/etc/turnserver.conf" -ynh_backup_if_checksum_is_different --file="$coturn_config_path" - -cp ../conf/turnserver.conf "$coturn_config_path" - -ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$coturn_config_path" -ynh_replace_string --match_string=__DOMAIN__ --replace_string=$domain --target_file="$coturn_config_path" -ynh_replace_string --match_string=__TLS_PORT__ --replace_string=$turnserver_tls_port --target_file="$coturn_config_path" -ynh_replace_string --match_string=__TLS_ALT_PORT__ --replace_string=$turnserver_alt_tls_port --target_file="$coturn_config_path" -ynh_replace_string --match_string=__CLI_PORT__ --replace_string=$cli_port --target_file="$coturn_config_path" -ynh_print_OFF -ynh_replace_string --match_string=__TURNPWD__ --replace_string=$turnserver_pwd --target_file="$coturn_config_path" -ynh_print_ON +ynh_add_config --template="../conf/turnserver.conf" --destination="$coturn_config_path" # Get public IP and set as external IP for coturn # note: '|| true' is used to ignore the errors if we can't get the public ipv4 or ipv6 -public_ip4="$(curl ip.yunohost.org)" || true -public_ip6="$(curl ipv6.yunohost.org)" || true +public_ip4="$(curl -s ip.yunohost.org)" || true +public_ip6="$(curl -s ipv6.yunohost.org)" || true if ( [[ -n "$public_ip4" ]] && ynh_validate_ip4 --ip_address="$public_ip4" || [[ -n "$public_ip6" ]] && ynh_validate_ip6 --ip_address="$public_ip6" ) then @@ -130,8 +119,7 @@ chmod +x $data_path/Coturn_config_rotate.sh # SET COTURN CRON #================================================= -cp -f ../conf/cron_coturn /etc/cron.d/$app -ynh_replace_string --match_string="__DATA_PATH__" --replace_string=$data_path --target_file=/etc/cron.d/$app +ynh_add_config --template="../conf/cron_coturn" --destination="/etc/cron.d/$app" #================================================= # MIGRATION 3 : USE STANDARD ACCESS FOR CERTIFCATE @@ -169,7 +157,7 @@ setfacl -R -m user:turnserver:rwX /var/log/$app #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=2 -yunohost service add $app --description="Coturn TURN server" --log="/var/log/$app/$app.log" --needs_exposed_ports $turnserver_tls_port +yunohost service add $app --description="Coturn TURN server" --log="/var/log/$app/$app.log" --needs_exposed_ports="$turnserver_tls_port" #================================================= # START SYSTEMD SERVICE diff --git a/sources/Coturn_config_rotate.sh b/sources/Coturn_config_rotate.sh index ce7d6c5..8688b44 100644 --- a/sources/Coturn_config_rotate.sh +++ b/sources/Coturn_config_rotate.sh @@ -6,8 +6,8 @@ coturn_config_path="/etc/turnserver.conf" external_IP_line="external-ip=__IPV4__/__IPV6__" -public_ip4="$(curl ip.yunohost.org)" || true -public_ip6="$(curl ipv6.yunohost.org)" || true +public_ip4="$(curl -s ip.yunohost.org)" || true +public_ip6="$(curl -s ipv6.yunohost.org)" || true if [ -n "$public_ip4" ] && ynh_validate_ip4 --ip_address="$public_ip4" then