From aca7f4fdc54f277500447a3e8b92f24050b3008b Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sat, 11 Jun 2022 03:19:05 +0200 Subject: [PATCH 1/7] First implementation --- .gitignore | 2 - LICENSE | 23 +- README.md | 54 ++-- README_fr.md | 55 ++-- check_process | 21 +- conf/amd64.src | 7 + conf/app.src | 7 - conf/arm64.src | 7 + conf/armhf.src | 7 + conf/frontend.src | 7 + conf/mysql.sql | 24 ++ conf/nginx.conf | 31 +-- conf/novnc.src | 7 + conf/php-fpm.conf | 430 ----------------------------- conf/rportd.example.conf | 398 ++++++++++++++++++++++++++ conf/systemd.service | 45 +-- doc/DESCRIPTION.md | 10 +- doc/DISCLAIMER.md | 12 - doc/screenshots/example.jpg | Bin 35451 -> 0 bytes doc/screenshots/screenshot.jpg | Bin 0 -> 555656 bytes manifest.json | 51 +--- scripts/_common.sh | 2 +- scripts/backup | 31 --- scripts/change_url | 20 +- scripts/install | 312 +++++---------------- scripts/remove | 55 ++-- scripts/restore | 92 +++--- scripts/upgrade | 150 +++------- sources/extra_files/app/.gitignore | 2 - sources/patches/.gitignore | 2 - 30 files changed, 738 insertions(+), 1126 deletions(-) delete mode 100644 .gitignore create mode 100644 conf/amd64.src delete mode 100644 conf/app.src create mode 100644 conf/arm64.src create mode 100644 conf/armhf.src create mode 100644 conf/frontend.src create mode 100644 conf/mysql.sql create mode 100644 conf/novnc.src delete mode 100644 conf/php-fpm.conf create mode 100644 conf/rportd.example.conf delete mode 100644 doc/screenshots/example.jpg create mode 100644 doc/screenshots/screenshot.jpg delete mode 100644 sources/extra_files/app/.gitignore delete mode 100644 sources/patches/.gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 783a4ae..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.sw[op] diff --git a/LICENSE b/LICENSE index 7d1e40b..a2504f5 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,21 @@ -File containing the license of your package. +MIT License -More information here: -https://yunohost.org/packaging_apps_guidelines#yep-1-3 +Copyright (c) 2020 CloudRadar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 5d8ccc7..a6f7f9f 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,3 @@ -# Packaging an app, starting from this example - -* Copy this app before working on it, using the ['Use this template'](https://github.com/YunoHost/example_ynh/generate) button on the Github repo. -* Edit the `manifest.json` with app specific info. -* Edit the `install`, `upgrade`, `remove`, `backup`, and `restore` scripts, and any relevant conf files in `conf/`. - * Using the [script helpers documentation.](https://yunohost.org/packaging_apps_helpers) -* Add a `LICENSE` file for the package. -* Edit `doc/DISCLAIMER*.md` -* The `README.md` files are to be automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator - ---- - # Example app pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg) -[![Installer Example app avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example) +[![Niveau d'intégration](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg) +[![Installer example avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example) *[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Example app rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* +> *This package allows you to install example 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.* ## Vue d'ensemble -Some long and extensive description of what the app is and does, lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Expliquez en *quelques* (10~15) mots l'utilité de l'app ou ce qu'elle fait (l'objectif est de donner une idée grossière pour des utilisateurs qui naviguent dans un catalogue de 100+ apps) -### Features +**Version incluse:** 1.0~ynh1 -- Ut enim ad minim veniam, quis nostrud exercitation ullamco ; -- Laboris nisi ut aliquip ex ea commodo consequat ; -- Duis aute irure dolor in reprehenderit in voluptate ; -- Velit esse cillum dolore eu fugiat nulla pariatur ; -- Excepteur sint occaecat cupidatat non proident, sunt in culpa." +**Démo:** https://demo.example.com -**Version incluse :** 1.0~ynh1 - -**Démo :** https://demo.example.com - ## Captures d'écran -![Capture d'écran de Example app](./doc/screenshots/example.jpg) + + ![](./doc/screenshots/example.jpg) + + + ## Avertissements / informations importantes @@ -49,25 +41,26 @@ Some long and extensive description of what the app is and does, lorem ipsum dol * upgrade process / specificities / things to be aware of ? * security considerations ? + + ## Documentations et ressources -* Site officiel de l'app : -* Documentation officielle utilisateur : -* Documentation officielle de l'admin : -* Dépôt de code officiel de l'app : -* Documentation YunoHost pour cette app : -* Signaler un bug : +* Site official de l'app : https://example.com +* Documentation officielle utilisateur: https://yunohost.org/apps +* Documentation officielle de l'admin: https://yunohost.org/packaging_apps +* Dépôt de code officiel de l'app: https://some.forge.com/example/example +* Documentation YunoHost pour cette app: https://yunohost.org/app_example +* Signaler un bug: https://github.com/YunoHost-Apps/example_ynh/issues ## Informations pour les développeurs Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/example_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. - -``` bash +``` sudo yunohost app install https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug -ou +or sudo yunohost app upgrade example -u https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications :** +**Plus d'infos sur le packaging d'applications:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index f41c4c9..f098b01 100644 --- a/check_process +++ b/check_process @@ -1,34 +1,21 @@ -# See here for more information -# https://github.com/YunoHost/package_check#syntax-check_process-file - -# Move this file from check_process.default to check_process when you have filled it. - ;; Test complet ; Manifest domain="domain.tld" - path="/path" - is_public=1 - language="fr" admin="john" password="1Strong-Password" - port="666" ; Checks pkg_linter=1 - setup_sub_dir=1 + setup_sub_dir=0 setup_root=1 setup_nourl=0 - setup_private=1 + setup_private=0 setup_public=1 upgrade=1 - upgrade=1 from_commit=CommitHash + # upgrade=1 from_commit=CommitHash backup_restore=1 - multi_instance=1 + multi_instance=0 port_already_use=0 change_url=1 ;;; Options Email= Notification=none -;;; Upgrade options - ; commit=CommitHash - name=Name and date of the commit. - manifest_arg=domain=DOMAIN&path=PATH&is_public=1&language=fr&admin=USER&password=pass&port=666& diff --git a/conf/amd64.src b/conf/amd64.src new file mode 100644 index 0000000..36910f3 --- /dev/null +++ b/conf/amd64.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://github.com/cloudradar-monitoring/rport/releases/download/0.7.0/rportd_0.7.0_Linux_x86_64.tar.gz +SOURCE_SUM=47ca9d1092523aa33af3938bbc0a1f81c75f1fbb9394a97a98c71a263ad86a92 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/app.src b/conf/app.src deleted file mode 100644 index 17489bf..0000000 --- a/conf/app.src +++ /dev/null @@ -1,7 +0,0 @@ -SOURCE_URL=url of app's source -SOURCE_SUM=sha256 checksum -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=tar.gz -SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= -SOURCE_EXTRACT=true diff --git a/conf/arm64.src b/conf/arm64.src new file mode 100644 index 0000000..c1d43ac --- /dev/null +++ b/conf/arm64.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://github.com/cloudradar-monitoring/rport/releases/download/0.7.0/rportd_0.7.0_Linux_aarch64.tar.gz +SOURCE_SUM=9ea1119c796e41b1101f9931379ad55cbce9d3a0cf47e6a0477e6728c02a8a71 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/armhf.src b/conf/armhf.src new file mode 100644 index 0000000..fc38599 --- /dev/null +++ b/conf/armhf.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://github.com/cloudradar-monitoring/rport/releases/download/0.7.0/rportd_0.7.0_Linux_armv7l.tar.gz +SOURCE_SUM=a3968ed81b83ef9f9452b1048040f5aa894710e069ef551ecfa43db60101d100 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/frontend.src b/conf/frontend.src new file mode 100644 index 0000000..c1d345f --- /dev/null +++ b/conf/frontend.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://downloads.rport.io/frontend/stable/rport-frontend-stable-0.7.0-build-1026.zip +SOURCE_SUM=76cf75805fceb7e19a80bf170b638fa993f0c9e8e1f8d8776f7fe16504147fa4 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=zip +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/mysql.sql b/conf/mysql.sql new file mode 100644 index 0000000..dc10ade --- /dev/null +++ b/conf/mysql.sql @@ -0,0 +1,24 @@ +CREATE TABLE users ( + username VARCHAR(150) NOT NULL, + password VARCHAR(255) NOT NULL, + token VARCHAR(36) DEFAULT NULL, + two_fa_send_to VARCHAR(150), + totp_secret VARCHAR(255) DEFAULT '' +); + +CREATE UNIQUE INDEX main_username ON users (username); + +CREATE TABLE groups ( + username VARCHAR(150) NOT NULL, + `group` VARCHAR(150) NOT NULL +); + +CREATE UNIQUE INDEX main_username_group ON groups (username,`group`); + +INSERT INTO users VALUES('__ADMIN__','__PASSWORD_HASH__',null,'__ADMIN_MAIL__',''); +INSERT INTO groups VALUES('__ADMIN__','Administrators'); + +CREATE TABLE `clients_auth` ( + `id` varchar(100) PRIMARY KEY, + `password` varchar(100) NOT NULL +); diff --git a/conf/nginx.conf b/conf/nginx.conf index 6b738ce..4b7a0f1 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,28 +1,15 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; location __PATH__/ { - # Path to source - alias __FINALPATH__/; - -### Example PHP configuration (remove it if not used) - index index.php; - - # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file - #client_max_body_size 50M; - - try_files $uri $uri/ index.php; - location ~ [^/]\.php(/|$) { - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock; - - fastcgi_index index.php; - include fastcgi_params; - fastcgi_param REMOTE_USER $remote_user; - fastcgi_param PATH_INFO $fastcgi_path_info; - fastcgi_param SCRIPT_FILENAME $request_filename; - } -### End of PHP configuration part + proxy_pass http://127.0.0.1:__API_PORT__; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_set_header Proxy ""; + proxy_pass_header Server; + # Include SSOWAT user panel. - include conf.d/yunohost_panel.conf.inc; + # include conf.d/yunohost_panel.conf.inc; } diff --git a/conf/novnc.src b/conf/novnc.src new file mode 100644 index 0000000..4ab2a9b --- /dev/null +++ b/conf/novnc.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://github.com/novnc/noVNC/archive/refs/tags/v1.3.0.zip +SOURCE_SUM=7f766c8a56e9d1c616b0f54714daf4ec88b8cf435738007140cd67117caffc43 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=zip +SOURCE_IN_SUBDIR=true +SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/php-fpm.conf b/conf/php-fpm.conf deleted file mode 100644 index ab1a471..0000000 --- a/conf/php-fpm.conf +++ /dev/null @@ -1,430 +0,0 @@ -; Start a new pool named 'www'. -; the variable $pool can be used in any directive and will be replaced by the -; pool name ('www' here) -[__NAMETOCHANGE__] - -; Per pool prefix -; It only applies on the following directives: -; - 'access.log' -; - 'slowlog' -; - 'listen' (unixsocket) -; - 'chroot' -; - 'chdir' -; - 'php_values' -; - 'php_admin_values' -; When not set, the global prefix (or /usr) applies instead. -; Note: This directive can also be relative to the global prefix. -; Default Value: none -;prefix = /path/to/pools/$pool - -; Unix user/group of processes -; Note: The user is mandatory. If the group is not set, the default user's group -; will be used. -user = __USER__ -group = __USER__ - -; The address on which to accept FastCGI requests. -; Valid syntaxes are: -; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on -; a specific port; -; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on -; a specific port; -; 'port' - to listen on a TCP socket to all addresses -; (IPv6 and IPv4-mapped) on a specific port; -; '/path/to/unix/socket' - to listen on a unix socket. -; Note: This value is mandatory. -listen = /var/run/php/php__PHPVERSION__-fpm-__NAMETOCHANGE__.sock - -; Set listen(2) backlog. -; Default Value: 511 (-1 on FreeBSD and OpenBSD) -;listen.backlog = 511 - -; Set permissions for unix socket, if one is used. In Linux, read/write -; permissions must be set in order to allow connections from a web server. Many -; BSD-derived systems allow connections regardless of permissions. -; Default Values: user and group are set as the running user -; mode is set to 0660 -listen.owner = www-data -listen.group = www-data -;listen.mode = 0660 -; When POSIX Access Control Lists are supported you can set them using -; these options, value is a comma separated list of user/group names. -; When set, listen.owner and listen.group are ignored -;listen.acl_users = -;listen.acl_groups = - -; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. -; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original -; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address -; must be separated by a comma. If this value is left blank, connections will be -; accepted from any ip address. -; Default Value: any -;listen.allowed_clients = 127.0.0.1 - -; Specify the nice(2) priority to apply to the pool processes (only if set) -; The value can vary from -19 (highest priority) to 20 (lower priority) -; Note: - It will only work if the FPM master process is launched as root -; - The pool processes will inherit the master process priority -; unless it specified otherwise -; Default Value: no set -; process.priority = -19 - -; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user -; or group is differrent than the master process user. It allows to create process -; core dump and ptrace the process for the pool user. -; Default Value: no -; process.dumpable = yes - -; Choose how the process manager will control the number of child processes. -; Possible Values: -; static - a fixed number (pm.max_children) of child processes; -; dynamic - the number of child processes are set dynamically based on the -; following directives. With this process management, there will be -; always at least 1 children. -; pm.max_children - the maximum number of children that can -; be alive at the same time. -; pm.start_servers - the number of children created on startup. -; pm.min_spare_servers - the minimum number of children in 'idle' -; state (waiting to process). If the number -; of 'idle' processes is less than this -; number then some children will be created. -; pm.max_spare_servers - the maximum number of children in 'idle' -; state (waiting to process). If the number -; of 'idle' processes is greater than this -; number then some children will be killed. -; ondemand - no children are created at startup. Children will be forked when -; new requests will connect. The following parameter are used: -; pm.max_children - the maximum number of children that -; can be alive at the same time. -; pm.process_idle_timeout - The number of seconds after which -; an idle process will be killed. -; Note: This value is mandatory. -pm = dynamic - -; The number of child processes to be created when pm is set to 'static' and the -; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. -; This value sets the limit on the number of simultaneous requests that will be -; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. -; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP -; CGI. The below defaults are based on a server without much resources. Don't -; forget to tweak pm.* to fit your needs. -; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' -; Note: This value is mandatory. -pm.max_children = 5 - -; The number of child processes created on startup. -; Note: Used only when pm is set to 'dynamic' -; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 -pm.start_servers = 2 - -; The desired minimum number of idle server processes. -; Note: Used only when pm is set to 'dynamic' -; Note: Mandatory when pm is set to 'dynamic' -pm.min_spare_servers = 1 - -; The desired maximum number of idle server processes. -; Note: Used only when pm is set to 'dynamic' -; Note: Mandatory when pm is set to 'dynamic' -pm.max_spare_servers = 3 - -; The number of seconds after which an idle process will be killed. -; Note: Used only when pm is set to 'ondemand' -; Default Value: 10s -;pm.process_idle_timeout = 10s; - -; The number of requests each child process should execute before respawning. -; This can be useful to work around memory leaks in 3rd party libraries. For -; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. -; Default Value: 0 -;pm.max_requests = 500 - -; The URI to view the FPM status page. If this value is not set, no URI will be -; recognized as a status page. It shows the following informations: -; pool - the name of the pool; -; process manager - static, dynamic or ondemand; -; start time - the date and time FPM has started; -; start since - number of seconds since FPM has started; -; accepted conn - the number of request accepted by the pool; -; listen queue - the number of request in the queue of pending -; connections (see backlog in listen(2)); -; max listen queue - the maximum number of requests in the queue -; of pending connections since FPM has started; -; listen queue len - the size of the socket queue of pending connections; -; idle processes - the number of idle processes; -; active processes - the number of active processes; -; total processes - the number of idle + active processes; -; max active processes - the maximum number of active processes since FPM -; has started; -; max children reached - number of times, the process limit has been reached, -; when pm tries to start more children (works only for -; pm 'dynamic' and 'ondemand'); -; Value are updated in real time. -; Example output: -; pool: www -; process manager: static -; start time: 01/Jul/2011:17:53:49 +0200 -; start since: 62636 -; accepted conn: 190460 -; listen queue: 0 -; max listen queue: 1 -; listen queue len: 42 -; idle processes: 4 -; active processes: 11 -; total processes: 15 -; max active processes: 12 -; max children reached: 0 -; -; By default the status page output is formatted as text/plain. Passing either -; 'html', 'xml' or 'json' in the query string will return the corresponding -; output syntax. Example: -; http://www.foo.bar/status -; http://www.foo.bar/status?json -; http://www.foo.bar/status?html -; http://www.foo.bar/status?xml -; -; By default the status page only outputs short status. Passing 'full' in the -; query string will also return status for each pool process. -; Example: -; http://www.foo.bar/status?full -; http://www.foo.bar/status?json&full -; http://www.foo.bar/status?html&full -; http://www.foo.bar/status?xml&full -; The Full status returns for each process: -; pid - the PID of the process; -; state - the state of the process (Idle, Running, ...); -; start time - the date and time the process has started; -; start since - the number of seconds since the process has started; -; requests - the number of requests the process has served; -; request duration - the duration in µs of the requests; -; request method - the request method (GET, POST, ...); -; request URI - the request URI with the query string; -; content length - the content length of the request (only with POST); -; user - the user (PHP_AUTH_USER) (or '-' if not set); -; script - the main script called (or '-' if not set); -; last request cpu - the %cpu the last request consumed -; it's always 0 if the process is not in Idle state -; because CPU calculation is done when the request -; processing has terminated; -; last request memory - the max amount of memory the last request consumed -; it's always 0 if the process is not in Idle state -; because memory calculation is done when the request -; processing has terminated; -; If the process is in Idle state, then informations are related to the -; last request the process has served. Otherwise informations are related to -; the current request being served. -; Example output: -; ************************ -; pid: 31330 -; state: Running -; start time: 01/Jul/2011:17:53:49 +0200 -; start since: 63087 -; requests: 12808 -; request duration: 1250261 -; request method: GET -; request URI: /test_mem.php?N=10000 -; content length: 0 -; user: - -; script: /home/fat/web/docs/php/test_mem.php -; last request cpu: 0.00 -; last request memory: 0 -; -; Note: There is a real-time FPM status monitoring sample web page available -; It's available in: /usr/share/php/7.0/fpm/status.html -; -; Note: The value must start with a leading slash (/). The value can be -; anything, but it may not be a good idea to use the .php extension or it -; may conflict with a real PHP file. -; Default Value: not set -;pm.status_path = /status - -; The ping URI to call the monitoring page of FPM. If this value is not set, no -; URI will be recognized as a ping page. This could be used to test from outside -; that FPM is alive and responding, or to -; - create a graph of FPM availability (rrd or such); -; - remove a server from a group if it is not responding (load balancing); -; - trigger alerts for the operating team (24/7). -; Note: The value must start with a leading slash (/). The value can be -; anything, but it may not be a good idea to use the .php extension or it -; may conflict with a real PHP file. -; Default Value: not set -;ping.path = /ping - -; This directive may be used to customize the response of a ping request. The -; response is formatted as text/plain with a 200 response code. -; Default Value: pong -;ping.response = pong - -; The access log file -; Default: not set -;access.log = log/$pool.access.log - -; The access log format. -; The following syntax is allowed -; %%: the '%' character -; %C: %CPU used by the request -; it can accept the following format: -; - %{user}C for user CPU only -; - %{system}C for system CPU only -; - %{total}C for user + system CPU (default) -; %d: time taken to serve the request -; it can accept the following format: -; - %{seconds}d (default) -; - %{miliseconds}d -; - %{mili}d -; - %{microseconds}d -; - %{micro}d -; %e: an environment variable (same as $_ENV or $_SERVER) -; it must be associated with embraces to specify the name of the env -; variable. Some exemples: -; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e -; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e -; %f: script filename -; %l: content-length of the request (for POST request only) -; %m: request method -; %M: peak of memory allocated by PHP -; it can accept the following format: -; - %{bytes}M (default) -; - %{kilobytes}M -; - %{kilo}M -; - %{megabytes}M -; - %{mega}M -; %n: pool name -; %o: output header -; it must be associated with embraces to specify the name of the header: -; - %{Content-Type}o -; - %{X-Powered-By}o -; - %{Transfert-Encoding}o -; - .... -; %p: PID of the child that serviced the request -; %P: PID of the parent of the child that serviced the request -; %q: the query string -; %Q: the '?' character if query string exists -; %r: the request URI (without the query string, see %q and %Q) -; %R: remote IP address -; %s: status (response code) -; %t: server time the request was received -; it can accept a strftime(3) format: -; %d/%b/%Y:%H:%M:%S %z (default) -; The strftime(3) format must be encapsuled in a %{}t tag -; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t -; %T: time the log has been written (the request has finished) -; it can accept a strftime(3) format: -; %d/%b/%Y:%H:%M:%S %z (default) -; The strftime(3) format must be encapsuled in a %{}t tag -; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t -; %u: remote user -; -; Default: "%R - %u %t \"%m %r\" %s" -;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" - -; The log file for slow requests -; Default Value: not set -; Note: slowlog is mandatory if request_slowlog_timeout is set -;slowlog = log/$pool.log.slow - -; The timeout for serving a single request after which a PHP backtrace will be -; dumped to the 'slowlog' file. A value of '0s' means 'off'. -; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -; Default Value: 0 -;request_slowlog_timeout = 0 - -; The timeout for serving a single request after which the worker process will -; be killed. This option should be used when the 'max_execution_time' ini option -; does not stop script execution for some reason. A value of '0' means 'off'. -; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -; Default Value: 0 -request_terminate_timeout = 1d - -; Set open file descriptor rlimit. -; Default Value: system defined value -;rlimit_files = 1024 - -; Set max core size rlimit. -; Possible Values: 'unlimited' or an integer greater or equal to 0 -; Default Value: system defined value -;rlimit_core = 0 - -; Chroot to this directory at the start. This value must be defined as an -; absolute path. When this value is not set, chroot is not used. -; Note: you can prefix with '$prefix' to chroot to the pool prefix or one -; of its subdirectories. If the pool prefix is not set, the global prefix -; will be used instead. -; Note: chrooting is a great security feature and should be used whenever -; possible. However, all PHP paths will be relative to the chroot -; (error_log, sessions.save_path, ...). -; Default Value: not set -;chroot = - -; Chdir to this directory at the start. -; Note: relative path can be used. -; Default Value: current directory or / when chroot -chdir = __FINALPATH__ - -; Redirect worker stdout and stderr into main error log. If not set, stdout and -; stderr will be redirected to /dev/null according to FastCGI specs. -; Note: on highloaded environement, this can cause some delay in the page -; process time (several ms). -; Default Value: no -;catch_workers_output = yes - -; Clear environment in FPM workers -; Prevents arbitrary environment variables from reaching FPM worker processes -; by clearing the environment in workers before env vars specified in this -; pool configuration are added. -; Setting to "no" will make all environment variables available to PHP code -; via getenv(), $_ENV and $_SERVER. -; Default Value: yes -;clear_env = no - -; Limits the extensions of the main script FPM will allow to parse. This can -; prevent configuration mistakes on the web server side. You should only limit -; FPM to .php extensions to prevent malicious users to use other extensions to -; execute php code. -; Note: set an empty value to allow all extensions. -; Default Value: .php -;security.limit_extensions = .php .php3 .php4 .php5 .php7 - -; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from -; the current environment. -; Default Value: clean env -;env[HOSTNAME] = $HOSTNAME -;env[PATH] = /usr/local/bin:/usr/bin:/bin -;env[TMP] = /tmp -;env[TMPDIR] = /tmp -;env[TEMP] = /tmp - -; Additional php.ini defines, specific to this pool of workers. These settings -; overwrite the values previously defined in the php.ini. The directives are the -; same as the PHP SAPI: -; php_value/php_flag - you can set classic ini defines which can -; be overwritten from PHP call 'ini_set'. -; php_admin_value/php_admin_flag - these directives won't be overwritten by -; PHP call 'ini_set' -; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. - -; Defining 'extension' will load the corresponding shared extension from -; extension_dir. Defining 'disable_functions' or 'disable_classes' will not -; overwrite previously defined php.ini values, but will append the new value -; instead. - -; Note: path INI options can be relative and will be expanded with the prefix -; (pool, global or /usr) - -; Default Value: nothing is defined by default except the values in php.ini and -; specified at startup with the -d argument -;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com -;php_flag[display_errors] = off -;php_admin_value[error_log] = /var/log/fpm-php.www.log -;php_admin_flag[log_errors] = on -;php_admin_value[memory_limit] = 32M - -; Common values to change to increase file upload limit -; php_admin_value[upload_max_filesize] = 50M -; php_admin_value[post_max_size] = 50M -; php_admin_flag[mail.add_x_header] = Off - -; Other common parameters -; php_admin_value[max_execution_time] = 600 -; php_admin_value[max_input_time] = 300 -; php_admin_value[memory_limit] = 256M -; php_admin_flag[short_open_tag] = On diff --git a/conf/rportd.example.conf b/conf/rportd.example.conf new file mode 100644 index 0000000..1493f43 --- /dev/null +++ b/conf/rportd.example.conf @@ -0,0 +1,398 @@ +#====================================================================================================================== +# vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 spell spelllang=en cc=120 +#====================================================================================================================== +# +# FILE: rportd.example.config +# +# DESCRIPTION: Configuration file for the rport server +# +# BUGS: https://github.com/cloudradar-monitoring/rport/issues +# +# HELP: https://github.com/cloudradar-monitoring/rport/blob/master/README.md +# +# COPYRIGHT: (c) 2020 by the CloudRadar Team, +# +# LICENSE: MIT +# ORGANIZATION: cloudradar GmbH, Potsdam, Germany (cloudradar.io) +# CREATED: 10/10/2020 +#====================================================================================================================== + +[server] + ## Defines the IP address and port the HTTP server listens on. + ## This is where the rport clients connect to. + ## Defaults: "0.0.0.0:8080" + address = "0.0.0.0:__CLIENT_PORT__" + + ## Optionally defines full client connect URL(s). + ## Defaults to http://{address} + ## This setting is only used to return via an API call where rportd is listening for client connections. + ## The pairing script generates a ready-to-use client configuration based on this {url}. + ## Also useful, if you run the rportd behind a reverse proxy or a port forwarding + ## and the external URL differs from the internal address and port. + ## Accepts a single string like 'url = "http://rport.example.com"' + ## or a list like 'url = ["http://rport.example.com", "http://192.168.1.1:8000"] + url = "http://__DOMAIN__:__CLIENT_PORT__" + + ## Optionally defines the hostname or IP address used to generate links pointing to running tunnels. + ## By default, all links are relative to the URL of the API or UI. + ## If you run the API/UI behind a reverse proxy that is incapable of forwarding raw TCP/UDP packets, + ## you can specify a separated tunnel_host to access tunnels, bypassing the reverse proxy. + #tunnel_host = "tunnels.rport.example.com" + + ## Optionally defines a custom pairing service URL. + ## Defaults to https://pairing.rport.io + ## To run your own pairing service refer to https://github.com/cloudradar-monitoring/rport-pairing + ## Accepts a single string like + #pairing_url = "https://pairing.example.com" + + ## An optional string to seed the generation of a ECDSA public and private key pair. + ## Highly recommended. Not using it is a big security risk. + ## Use "openssl rand -hex 18" to generate a secure key seed. + key_seed = "__KEY_SEED__" + + ## An optional string representing a single client auth credentials, in the form of :. + ## This is equivalent to creating an {auth_file} with '{"":""}'. + ## Use either {auth_file}/{auth_table} or {auth}. Not both. + ## If multiple auth options are enabled, rportd exits with an error. + #auth = "clientAuth1:1234" + + ## An optional path to a json file with client credentials. + ## This is for authentication of the rport tunnel clients. + ## The file should contain a map with clients credentials defined like: + ## { + ## "": "", + ## "": "" + ## } + ## Use either {auth_file}/{auth_table} or {auth}. Not both. + ## If multiple auth options are enabled, rportd exits with an error. + #auth_file = "/var/lib/rport/client-auth.json" + + ## An optional name of a database table for client authentication. + ## Requires a global database connection. See below. + ## The table must be created manually. + ## Learn how to create them https://oss.rport.io/docs/no03-client-auth.html#using-a-database-table + auth_table = "clients_auth" + + ## When using an {auth_file} or a database table creating separate credentials for each client is recommended. + ## It increases security because you can lock out clients individually. + ## If {auth_multiuse_creds} is false a client is rejected if another client with the same id is connected + ## or has been connected within the {keep_lost_clients} interval. + ## Defaults: true + #auth_multiuse_creds = true + + ## Having set {auth_multiuse_creds} = false, you can omit specifying a client-id. + ## You can use the client-auth-id as client-id to slim down the client configuration. + ## Defaults: false + #equate_clientauthid_clientid = false + + ## If you want to delegate the creation and maintenance to an external tool + ## you should turn {auth_write} off. + ## The API will reject all writing access to the client auth with HTTP 403. + ## Applies only to {auth_file} and {auth_table}. + ## Default: true + #auth_write = true + + ## Specifies another HTTP server to proxy requests to when rportd receives a normal HTTP request. + #proxy = "http://intranet.lan:8080/" + + ## Defines a list of port numbers or ranges of server ports, + ## that would be used for automatic and manual port assignment. + ## Creating reverse tunnels will fail if the requested server port is not listed here. + ## Defaults to ['20000-30000']. + ## Example: + ## used_ports = [ '1024-2000', '9000', '9090' ] + used_ports = ['20000-30000'] + + ## Defines a list of port numbers or ranges of server ports, + ## that would not be used for automatic and manual port assignment. + ## Values that are not included in the {used_ports} are ignored. + ## Defaults to ['1-1024']. + ## If no ports should be excluded then set it to "[]". + #excluded_ports = ['1-1024'] + + ## An optional param to define a local directory path to store internal data. + ## By default, "/var/lib/rport" is used. + ## If the directory doesn't exist, it will be created. + ## On Linux you must create this directory because an unprivileged user + ## don't have the right to create a directory in /var/lib. + ## Ideally this directory is the homedir of the rport user and has been created along with the user. + ## Example: useradd -r -d /var/lib/rport -m -s /bin/false -U -c "System user for rport client and server" rport + data_dir = "__DATADIR__" + + ## By default all Sqlite3 databases are opened with WAL enabled. + ## This is a performance enhancement. Do not turn off, unless you have good reasons. + #sqlite_wal = true + + ## An optional param to define whether disconnected clients get cleaned up. + ## By default the clients are cleaned up. + #cleanup_lost_clients = true + + ## An optional param to define a duration to keep info (clients, tunnels, etc) about active and disconnected clients. + ## By default is "1h". To disable it set it to "0". Disconnected clients are purged immediately. + ## When cleanup_lost_clients = false, this has no effect. + ## It can contain "h"(hours), "m"(minutes), "s"(seconds). + ## Maximum allowed: 168h (=7days) + keep_lost_clients = "168h" + + ## An optional param to define an interval to clean up internal storage from obsolete + ## disconnected clients. It can contain "h"(hours), "m"(minutes), "s"(seconds). + ## By default, 1 minute is used. + #cleanup-clients-interval = "1m" + + ## An optional param to define a limit for data that can be sent by API requests. + ## By default is set to 10240(10Kb). + #max_request_bytes = 10240 + + ## An optional param to define a limit for data that can be sent by rport clients. + ## By default is set to 524288(512Kb). + #max_request_bytes_client = 524288 + + ## The maximum upload size of a file in bytes. + ## If exceeded, an error is returned. Please note that max_request_bytes is not affecting the file upload API + ## https://oss.rport.io/docs/no18-file-upload.html + ## Defaults: 10485760 bytes (ca 10,5 MB). + #max_filepush_size = 10485760 + + ## An optional param to define a timeout in seconds to observe the remote command execution. + ## Defaults: 60. + #run_remote_cmd_timeout_sec = 60 + + ## An optional param to define a timeout to check whether a remote destination of a requested new tunnel is available, + ## i.e. whether a given remote port is open on a client machine. By default, "2s" is used. + #check_port_timeout = "1s" + + ## There is no technical requirement to run the rport server under the root user. + ## Running it as root is an unnecessary security risk. + ## You don't even need root-rights to run rport on tcp ports below 1024. + ## Use "setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/rportd" to allow the usage of any tcp ports. + ## Hint: setcap must be applied after each update of the binary. + ## Consider integrating it into the systemd service file as an ExecStartPre option. + ## Rport exits with an error if started as root unless you explicitly allow it. + ## Defaults to false + #allow_root = false + + ## Protect your server against password guessing. + ## Force clients to wait N seconds (float) between unsuccessful login attempts. + ## This is per client auth id. + ## A message like + ## 'client-listener: Failed login attempt for client auth id "abc", forcing to wait for {client_login_wait}s ({ip})' + ## is logged to the info log. + ## Consider changing the log_level to 'info' to trace failed login attempts. + ## Learn more https://oss.rport.io/docs/no10-securing-the-server.html + ## Defaults: 2.0 + #client_login_wait = 2.0 + + ## After {max_failed_login} consecutive failed login-in attempts ban the source IP address for {ban_time} seconds. + ## HTTP Status 423 is returned. + ## A message like + ## 'Maximum of {max_failed_login} login attempts reached. Visitor ({remote-ip}) banned. Ban expiry: 2021-04-16T11:22:26+00:00' + ## is logged to the info log. + ## Banning happens on HTTP level. + ## Consider banning on network level using fail2ban. + ## Learn more https://oss.rport.io/docs/no10-securing-the-server.html + ## Defaults: max_failed_login = 5, ban_time = 3600 + #max_failed_login = 5 + #ban_time = 3600 + + ## To enable testing endpoints (/test/commands/ui and /test/scripts/ui) for ws endpoints (/ws/commands and /ws/scripts) provide + ## true for `enable_ws_test_endpoints` + ## Defaults: enable_ws_test_endpoints = false + #enable_ws_test_endpoints = false + + ## Enable the creation of tunnel proxies with giving certificate- and key-file + ## Defaults: not enabled + tunnel_proxy_cert_file = "/etc/yunohost/certs/__DOMAIN__/crt.pem" + tunnel_proxy_key_file = "/etc/yunohost/certs/__DOMAIN__/key.pem" + + ## If specified, rportd will serve novnc javascript app from this directory. + novnc_root = "__FINALPATH__/noVNC" + + ## Host and port where guacd daemon is listening. + ## If specified, rportd will serve remote desktop connections in browser through Apache Guacamole. + guacd_address = "127.0.0.1:__GUACD_PORT__" + + ## Maximum number of results to keep for commands, scripts and schedules execution + #jobs_max_results = 10000 + +[logging] + ## Specifies log file path for global logging + ## Not setting {log_file} turns logging off. + log_file = "/var/log/__APP__/__APP__.log" + + ## Specify log level. Values: 'error', 'info', 'debug'. + ## Defaults to 'info' + log_level = "info" + +[api] + ## Defines the IP address and port the API server listens on. + ## Specify non-empty {address} to enable API support. + address = "127.0.0.1:__API_PORT__" + + ## Defines : authentication pair for accessing the API. Enables access for a single user. + ## Learn more about api auth options and get examples https://oss.rport.io/docs/no02-api-auth.html + ## Use either {auth_file}/{auth_user_table} or {auth}. Not both. + ## If multiple auth options are enabled, rportd exits with an error. + #auth = "admin:foobaz" + + ## Use a json file containing users, passwords and groups. + ## Passwords are expected to be bcrypt encoded. + ## Learn more about api auth options and get examples https://oss.rport.io/docs/no02-api-auth.html + ## Use either {auth_file}/{auth_user_table} or {auth}. Not both. + ## If multiple auth options are enabled, rportd exits with an error. + #auth_file = "/var/lib/rport/api-auth.json" + + ## An optional name of two database tables for api user authentication. + ## Requires a global database connection. See below. + ## Tables must be created manually. + ## Learn how to create them https://oss.rport.io/docs/no02-api-auth.html#database + auth_user_table = "users" + auth_group_table = "groups" + + ## The rport server can treat all requests as pre-authenticated by a reverse proxy based on a http header. + ## This option is enabled if auth_header is set. + ## If the header exists, the request is considered valid and a session is created. + ## Inside the same or a different header, the username must be submitted. + #auth_header = "Authentication-IsAuthenticated" + #user_header = "Authentication-User" + ## If the user doesn't exist yet, it can be created on-the-fly. + ## Disabled by default + #create_missing_users = true + ## If users are created on-the-fly to which user group do they belong? + #default_user_group = "Administrators" + + ## Use two-factor authentication to generate auth tokens. + ## Learn more on https://oss.rport.io/docs/no02-api-auth.html#two-factor-auth + ## Using 2FA will disable HTTP basic authentication on all API endpoints except '/login'. It triggers sending 2FA + ## verification code to a user using a chosen delivery method. This code can be further verified using '/verify-2fa' endpoint. + ## Two-factor authentication requires either a valid SMTP or Pushover setup. + ## Your user-password store (json files or DB table) needs an additional field 'two_fa_send_to'. + ## 2FA is not available if you use a single static user-password pair set directly in the rportd.conf. + ## Use either 'smtp', 'pushover' or a path to an executable binary or script. + ## Executables must read recipients details from the environment. Check our examples from the link above. + ## Sending the token has a default timeout of 10 seconds. + ## 2FA is disabled by default. + ## Token sent via the specified delivery method has a default lifetime of 600 seconds. + #two_fa_token_delivery = 'smtp' + #two_fa_token_ttl_seconds = 600 + #two_fa_send_timeout = 10s + ## When using an executable for token delivery, you can optionally specify how the two_fa_send_to is validated on changes. + ## Ignored when using SMTP or Pushover for token delivery. + ## Use two_fa_send_to_type = 'email' to accept only valid email address. + ## Or use a regular expression, for example + ## two_fa_send_to_type = 'regex' + ## two_fa_send_to_regex = '[a-z0-9]{10}' + #two_fa_send_to_type = 'none' + + ## To enable time-based onetime tokens generated by apps likes Google or Microsoft Authenticator, + ## set 'totp_enabled = true'. + ## Your user-password store (json files or DB table) needs an additional text field 'totp_secret'. + #totp_enabled = false + ## Learn more on https://oss.rport.io/docs/no02-api-auth.html#two-factor-auth + ## Before sending the token generated by the authenticator app, + ## users should do a login attempt. Otherwise thye can request tokens directly without login. + ## 'totp_login_session_ttl' sets the timeout after which totp codes won't be accepted + #totp_login_session_ttl = '600s' + + ## If you run multiple RPort servers, you should give them different totp account names + ## to differentiate them on your authenticator app. + totp_account_name = '__DOMAIN__' + + ## Defines JWT secret used to generate new tokens. + ## If not set, it will be generated by server. + jwt_secret = "__JWT_SECRET__" + + ## If specified, rportd will serve static files from this directory on the same API address. + ## This is the place where the frontend files (html/js) go. + ## Learn how to install the frontend https://oss.rport.io/docs/no07-frontend.html + doc_root = "__FINALPATH__/frontend" + + ## If both cert_file and key_file are specified, then rportd will use them to serve the API with https. + ## Intermediate certificates should be included in cert_file if required. + #cert_file = "/etc/yunohost/certs/__DOMAIN__/crt.pem" + #key_file = "/etc/yunohost/certs/__DOMAIN__/key.pem" + + ## Specifies file for API access logs. Logs will be written in Combined Log Format. + ## If this is not set the API access logs are disabled. + access_log_file = "/var/log/__APP__/api-access.log" + + ## Protect your API server against password guessing. + ## Force users to wait N seconds (float) between unsuccessful login attempts. + ## This is per username. + ## Defaults: 2.0 + #user_login_wait = 2.0 + + ## After X failed login-in attempts ban the source IP address for Z seconds. + #max_failed_login = 5 + #ban_time = 3600 + + ## Each action is logged and stored in a database to follow up who did what when. + ## The audit log is enabled by default. The data is stored in {data_dir}.audit_log.db + #enable_audit_log = true + + ## Storing the full remote IP address of the API users might violate privacy protection regulations. + ## Using obfuscation stores only the first three segments of the IP address (IPv4 only). + ## Turned off by default. + #use_ip_obfuscation = false + + ## Depending on the number of actions your rport server performs, the audit log can grow fast. + ## By default, the audit_log database file is changed every month. + ## Consider changing to a faster rotation. + #audit_log_rotation = 'monthly' , possible values: yearly, monthly, weekly, daily + +[database] + ## Global configuration of a database connection. + ## The database and the initial schema must be created manually. + ## Learn how to use a database: + ## for api auth: https://oss.rport.io/docs/no02-api-auth.html#database + ## for clients auth: https://oss.rport.io/docs/no03-client-auth.html#using-a-database-table + ## Supported: MySQL/MariaDB and Sqlite3 + + ## For MySQL or MariaDB. + db_type = "mysql" + + ## For Sqlite3. + #db_type = "sqlite" + + ## Only for MySQL/Mariadb, ignored for Sqlite. + db_host = "127.0.0.1:3306" + #db_host = "socket:/var/run/mysqld/mysqld.sock" + + ## Credentials, only for MySQL/Mariadb, ignored for Sqlite. + db_user = "__DB_USER__" + db_password = "__DB_PWD__" + + ## For MySQL/MariaDB name of the database. + db_name = "__DB_NAME__" + + ## For Sqlite full path to the sqlite3 file. + #db_name = "/var/lib/rport/database.sqlite3" + +[pushover] + ## Pushover settings for sending push messages via Pushover.net. Currently used only for sending two-factor auth tokens. + ## Learn more on https://oss.rport.io/docs/no15-messaging.html#pushover + ## Required (only if pushover is specified as {api.two_fa_token_delivery}): pushover API token and user key + #api_token = 'abc123' + #user_key = 'user123' + +[smtp] + ## SMTP settings for sending email. Currently used only for sending two-factor auth tokens. + ## Learn more on https://oss.rport.io/docs/no15-messaging.html#smtp + ## Required (only if smtp is specified as {api.two_fa_token_delivery}): + ## smtp server and port separated by a colon. e.g. server = 'smtp.gmail.com:2525' + ## sender email - an email that is used to send 2FA tokens + ## Optional: + ## auth_username, specify a username for authentication + ## auth_password, specify a password for the username. + ## secure = true|false, enable if Implicit(Forced) TLS must be used. + server = 'localhost:25' + sender_email = '__APP__@__DOMAIN__' + #auth_username = 'john.doe' + #auth_password = 'secret' + secure = false + +[monitoring] + ## The rport server stores monitoring data of the clients for N days. + ## https://oss.rport.io/docs/no17-monitoring.html + ## Older data is purged automatically. + ## Default: 30 days + data_storage_days = 30 diff --git a/conf/systemd.service b/conf/systemd.service index 31e9da3..647737f 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -1,45 +1,24 @@ [Unit] -Description=Small description of the service -After=network.target +Description=Create reverse tunnels with ease. +ConditionFileIsExecutable=__FINALPATH__/bin/rportd +After=rport-guacd.service [Service] Type=simple User=__APP__ Group=__APP__ WorkingDirectory=__FINALPATH__/ -ExecStart=__FINALPATH__/script -StandardOutput=append:/var/log/__APP__/__APP__.log -StandardError=inherit +EnvironmentFile=-/etc/sysconfig/rportd +ExecStart=__FINALPATH__/bin/rportd "-c" "__FINALPATH__/rportd.conf" +StartLimitInterval=5 +StartLimitBurst=10 -# Sandboxing options to harden security -# Depending on specificities of your service/app, you may need to tweak these -# .. but this should be a good baseline -# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html -NoNewPrivileges=yes -PrivateTmp=yes -PrivateDevices=yes -RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 -RestrictNamespaces=yes -RestrictRealtime=yes -DevicePolicy=closed -ProtectSystem=full -ProtectControlGroups=yes -ProtectKernelModules=yes -ProtectKernelTunables=yes -LockPersonality=yes -SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap +LimitNPROC=512 +LimitNOFILE=1048576 +AmbientCapabilities=CAP_NET_BIND_SERVICE +Restart=always -# Denying access to capabilities that should not be relevant for webapps -# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html -CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD -CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE -CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT -CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK -CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM -CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG -CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE -CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW -CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG +RestartSec=120 [Install] WantedBy=multi-user.target diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md index 0685205..2e1a07f 100644 --- a/doc/DESCRIPTION.md +++ b/doc/DESCRIPTION.md @@ -1,9 +1 @@ -Some long and extensive description of what the app is and does, lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - -### Features - -- Ut enim ad minim veniam, quis nostrud exercitation ullamco ; -- Laboris nisi ut aliquip ex ea commodo consequat ; -- Duis aute irure dolor in reprehenderit in voluptate ; -- Velit esse cillum dolore eu fugiat nulla pariatur ; -- Excepteur sint occaecat cupidatat non proident, sunt in culpa." +Rport helps you to manage your remote servers without the hassle of VPNs, chained SSH connections, jump-hosts, or the use of commercial tools like TeamViewer and its clones. diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index aded581..e69de29 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,12 +0,0 @@ -* Any known limitations, constrains or stuff not working, such as (but not limited to): - * requiring a full dedicated domain ? - * architectures not supported ? - * not-working single-sign on or LDAP integration ? - * the app requires an important amount of RAM / disk / .. to install or to work properly - * etc... - -* Other infos that people should be aware of, such as: - * any specific step to perform after installing (such as manually finishing the install, specific admin credentials, ...) - * how to configure / administrate the application if it ain't obvious - * upgrade process / specificities / things to be aware of ? - * security considerations ? diff --git a/doc/screenshots/example.jpg b/doc/screenshots/example.jpg deleted file mode 100644 index a1efa1a36d593384df59dc13db03fa83b0436d69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35451 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 UE-)&$xd9C0IsX9d#{5|Pe`qLcKmY&$ diff --git a/doc/screenshots/screenshot.jpg b/doc/screenshots/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33a8f2acf3dc371a0cd429593b17b8c387d8a972 GIT binary patch literal 555656 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

d;ItY<;;_7 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±=V69CSt~{5mRQ!9>=}WMw0_bYrCeVK}E3 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 D$tIV> literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json index 9fdc46e..d8bd2c7 100644 --- a/manifest.json +++ b/manifest.json @@ -1,33 +1,29 @@ { - "name": "Example app", - "id": "example", + "name": "Rportd", + "id": "rportd", "packaging_format": 1, "description": { - "en": "Explain in *a few (10~15) words* the purpose of the app or what it actually does (it is meant to give a rough idea to users browsing a catalog of 100+ apps)", - "fr": "Expliquez en *quelques* (10~15) mots l'utilité de l'app ou ce qu'elle fait (l'objectif est de donner une idée grossière pour des utilisateurs qui naviguent dans un catalogue de 100+ apps)" + "en": "Manage your remote servers" }, - "version": "1.0~ynh1", - "url": "https://example.com", + "version": "0.7.0~ynh1", + "url": "https://rport.io/", "upstream": { - "license": "free", - "website": "https://example.com", - "demo": "https://demo.example.com", - "admindoc": "https://yunohost.org/packaging_apps", - "userdoc": "https://yunohost.org/apps", - "code": "https://some.forge.com/example/example" + "license": "MIT", + "website": "https://rport.io/", + "admindoc": "https://kb.rport.io/", + "code": "https://github.com/cloudradar-monitoring/rport" }, - "license": "free", + "license": "MIT", "maintainer": { - "name": "John doe", - "email": "john.doe@example.com" + "name": "", + "email": "" }, "requirements": { "yunohost": ">= 4.3.0" }, - "multi_instance": true, + "multi_instance": false, "services": [ "nginx", - "php7.3-fpm", "mysql" ], "arguments": { @@ -36,27 +32,6 @@ "name": "domain", "type": "domain" }, - { - "name": "path", - "type": "path", - "example": "/example", - "default": "/example" - }, - { - "name": "is_public", - "type": "boolean", - "default": true - }, - { - "name": "language", - "type": "string", - "ask": { - "en": "Choose the application language", - "fr": "Choisissez la langue de l'application" - }, - "choices": ["fr", "en"], - "default": "fr" - }, { "name": "admin", "type": "user" diff --git a/scripts/_common.sh b/scripts/_common.sh index 7e55ac0..171bef6 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -5,7 +5,7 @@ #================================================= # dependencies used by the app -pkg_dependencies="deb1 deb2 php$YNH_DEFAULT_PHP_VERSION-deb1 php$YNH_DEFAULT_PHP_VERSION-deb2" +pkg_dependencies="pwgen apache2-utils unzip curl sqlite3 netcat" #================================================= # PERSONAL HELPERS diff --git a/scripts/backup b/scripts/backup index f99225d..2b8951f 100755 --- a/scripts/backup +++ b/scripts/backup @@ -15,7 +15,6 @@ source /usr/share/yunohost/helpers #================================================= ynh_clean_setup () { - ### Remove this function if there's nothing to clean before calling the remove script. true } # Exit if an error occurs during the execution of the script @@ -31,7 +30,6 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) db_name=$(ynh_app_setting_get --app=$app --key=db_name) -phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= @@ -39,11 +37,6 @@ datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= ynh_print_info --message="Declaring files to be backed up..." -### N.B. : the following 'ynh_backup' calls are only a *declaration* of what needs -### to be backuped and not an actual copy of any file. The actual backup that -### creates and fill the archive with the files happens in the core after this -### script is called. Hence ynh_backups calls takes basically 0 seconds to run. - #================================================= # BACKUP THE APP MAIN DIR #================================================= @@ -62,19 +55,6 @@ ynh_backup --src_path="$datadir" --is_big ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# BACKUP THE PHP-FPM CONFIGURATION -#================================================= - -ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" - -#================================================= -# BACKUP FAIL2BAN CONFIGURATION -#================================================= - -ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" -ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" - #================================================= # SPECIFIC BACKUP #================================================= @@ -89,22 +69,11 @@ ynh_backup --src_path="/etc/logrotate.d/$app" ynh_backup --src_path="/etc/systemd/system/$app.service" -#================================================= -# BACKUP VARIOUS FILES -#================================================= - -ynh_backup --src_path="/etc/cron.d/$app" - -ynh_backup --src_path="/etc/$app/" - #================================================= # BACKUP THE MYSQL DATABASE #================================================= ynh_print_info --message="Backing up the MySQL database..." -### (However, things like MySQL dumps *do* take some time to run, though the -### copy of the generated dump to the archive still happens later) - ynh_mysql_dump_db --database="$db_name" > db.sql #================================================= diff --git a/scripts/change_url b/scripts/change_url index 495b7eb..ba2ce02 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -17,14 +17,14 @@ old_domain=$YNH_APP_OLD_DOMAIN old_path=$YNH_APP_OLD_PATH new_domain=$YNH_APP_NEW_DOMAIN -new_path=$YNH_APP_NEW_PATH +new_path="/" app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --time --weight=1 +ynh_script_progression --message="Loading installation settings..." # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get --app=$app --key=final_path) @@ -37,11 +37,12 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= # BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --time --weight=1 +ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." # Backup the current version of the app ynh_backup_before_upgrade ynh_clean_setup () { + ynh_clean_check_starting # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" @@ -72,14 +73,14 @@ fi #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 +ynh_script_progression --message="Stopping a systemd service..." ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # MODIFY URL IN NGINX CONF #================================================= -ynh_script_progression --message="Updating NGINX web server configuration..." --time --weight=1 +ynh_script_progression --message="Updating NGINX web server configuration..." nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf @@ -116,14 +117,15 @@ fi #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +ynh_script_progression --message="Starting a systemd service..." -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +# Start a systemd service +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" --line_match="API Listening on" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --time --weight=1 +ynh_script_progression --message="Reloading NGINX web server..." ynh_systemd_action --service_name=nginx --action=reload @@ -131,4 +133,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Change of URL completed for $app" --time --last +ynh_script_progression --message="Change of URL completed for $app" diff --git a/scripts/install b/scripts/install index af6ca03..fabf2ad 100755 --- a/scripts/install +++ b/scripts/install @@ -14,8 +14,7 @@ source /usr/share/yunohost/helpers #================================================= ynh_clean_setup () { - ### Remove this function if there's nothing to clean before calling the remove script. - true + ynh_clean_check_starting } # Exit if an error occurs during the execution of the script ynh_abort_if_errors @@ -25,39 +24,21 @@ ynh_abort_if_errors #================================================= domain=$YNH_APP_ARG_DOMAIN -path_url=$YNH_APP_ARG_PATH -is_public=$YNH_APP_ARG_IS_PUBLIC -language=$YNH_APP_ARG_LANGUAGE +path_url="/" admin=$YNH_APP_ARG_ADMIN password=$YNH_APP_ARG_PASSWORD -### If it's a multi-instance app, meaning it can be installed several times independently -### The id of the app as stated in the manifest is available as $YNH_APP_ID -### The instance number is available as $YNH_APP_INSTANCE_NUMBER (equals "1", "2"...) -### The app instance name is available as $YNH_APP_INSTANCE_NAME -### - the first time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample -### - the second time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample__2 -### - ynhexample__{N} for the subsequent installations, with N=3,4... -### The app instance name is probably what interests you most, since this is -### guaranteed to be unique. This is a good unique identifier to define installation path, -### db names... app=$YNH_APP_INSTANCE_NAME +key_seed=$(ynh_string_random --length=18 | xxd -p | head -n1 | cut -c 1-18) +jwt_secret=$(ynh_string_random --length=9 | xxd -p | head -n1 | cut -c 1-9) +admin_mail="$(ynh_user_get_info --username=$admin --key=mail)" + #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -### About --weight and --time -### ynh_script_progression will show to your final users the progression of each scripts. -### In order to do that, --weight will represent the relative time of execution compared to the other steps in the script. -### --time is a packager option, it will show you the execution time since the previous call. -### This option should be removed before releasing your app. -### Use the execution time, given by --time, to estimate the weight of a step. -### A common way to do it is to set a weight equal to the execution time in second +1. -### The execution time is given for the duration since the previous call. So the weight should be applied to this previous call. -ynh_script_progression --message="Validating installation parameters..." --time --weight=1 +ynh_script_progression --message="Validating installation parameters..." -### If the app uses NGINX as web server (written in HTML/PHP in most cases), the final path should be "/var/www/$app". -### If the app provides an internal web server (or uses another application server such as uWSGI), the final path should be "/opt/yunohost/$app" final_path=/var/www/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" @@ -67,73 +48,65 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url #================================================= # STORE SETTINGS FROM MANIFEST #================================================= -ynh_script_progression --message="Storing installation settings..." --time --weight=1 +ynh_script_progression --message="Storing installation settings..." ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=language --value=$language ynh_app_setting_set --app=$app --key=admin --value=$admin +ynh_app_setting_set --app=$app --key=key_seed --value=$key_seed +ynh_app_setting_set --app=$app --key=jwt_secret --value=$jwt_secret #================================================= # STANDARD MODIFICATIONS #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Finding an available port..." --time --weight=1 - -### Use these lines if you have to open a port for the application -### `ynh_find_port` will find the first available port starting from the given port. -### If you're not using these lines: -### - Remove the section "CLOSE A PORT" in the remove script +ynh_script_progression --message="Finding an available port..." # Find an available port -port=$(ynh_find_port --port=8095) -ynh_app_setting_set --app=$app --key=port --value=$port - -# Optional: Expose this port publicly -# (N.B.: you only need to do this if the app actually needs to expose the port publicly. -# If you do this and the app doesn't actually need you are CREATING SECURITY HOLES IN THE SERVER !) - +client_port=$(ynh_find_port --port=8095) +ynh_app_setting_set --app=$app --key=client_port --value=$client_port # Open the port -# ynh_script_progression --message="Configuring firewall..." --time --weight=1 -# ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port +ynh_script_progression --message="Configuring firewall..." +ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $client_port + +api_port=$(ynh_find_port --port=8195) +ynh_app_setting_set --app=$app --key=api_port --value=$api_port + +guacd_port=$(ynh_find_port --port=8295) +ynh_app_setting_set --app=$app --key=guacd_port --value=$guacd_port #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." --time --weight=1 - -### `ynh_install_app_dependencies` allows you to add any "apt" dependencies to the package. -### Those deb packages will be installed as dependencies of this package. -### If you're not using this helper: -### - Remove the section "REMOVE DEPENDENCIES" in the remove script -### - Remove the variable "pkg_dependencies" in _common.sh -### - As well as the section "REINSTALL DEPENDENCIES" in the restore script -### - And the section "UPGRADE DEPENDENCIES" in the upgrade script +ynh_script_progression --message="Installing dependencies..." ynh_install_app_dependencies $pkg_dependencies +GUACD_PKG=rport-guacamole_1.4.0_$(lsb_release --id --short | tr '[:upper:]' '[:lower:]')_$(lsb_release --codename --short)_$(uname -m).deb +GUACD_DOWNLOAD=https://bitbucket.org/cloudradar/rport-guacamole/downloads/${GUACD_PKG} +tempdir="$(mktemp -d)" +pushd "$tempdir" + curl -fLOSs "$GUACD_DOWNLOAD" || (throw_error "Download failed" && return 0) + DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install ./"${GUACD_PKG}" +popd +ynh_replace_string --match_string="9445" --replace_string="$guacd_port" --target_file="/etc/default/rport-guacamole" +systemctl restart rport-guacd +ynh_secure_remove --file="$tempdir" + #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Configuring system user..." --time --weight=1 +ynh_script_progression --message="Configuring system user..." # Create a system user ynh_system_user_create --username=$app --home_dir="$final_path" +usermod -a -G ssl-cert "$app" #================================================= # CREATE A MYSQL DATABASE #================================================= -ynh_script_progression --message="Creating a MySQL database..." --time --weight=1 - -### Use these lines if you need a database for the application. -### `ynh_mysql_setup_db` will create a database, an associated user and a ramdom password. -### The password will be stored as 'mysqlpwd' into the app settings, -### and will be available as $db_pwd -### If you're not using these lines: -### - Remove the section "BACKUP THE MYSQL DATABASE" in the backup script -### - Remove also the section "REMOVE THE MYSQL DATABASE" in the remove script -### - As well as the section "RESTORE THE MYSQL DATABASE" in the restore script +ynh_script_progression --message="Creating a MySQL database..." db_name=$(ynh_sanitize_dbid --db_name=$app) db_user=$db_name @@ -143,51 +116,22 @@ ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= -ynh_script_progression --message="Setting up source files..." --time --weight=1 - -### `ynh_setup_source` is used to install an app from a zip or tar.gz file, -### downloaded from an upstream source, like a git repository. -### `ynh_setup_source` use the file conf/app.src +ynh_script_progression --message="Setting up source files..." ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src -ynh_setup_source --dest_dir="$final_path" +ynh_setup_source --dest_dir="$final_path/bin" --source_id="$YNH_ARCH" +ynh_setup_source --dest_dir="$final_path/frontend" --source_id="frontend" +ynh_setup_source --dest_dir="$final_path/novnc" --source_id="novnc" -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Configuring PHP-FPM..." --time --weight=1 - -### `ynh_add_fpm_config` is used to set up a PHP config. -### You can remove it if your app doesn't use PHP. -### `ynh_add_fpm_config` will use the files conf/php-fpm.conf -### If you're not using these lines: -### - You can remove these files in conf/. -### - Remove the section "BACKUP THE PHP-FPM CONFIGURATION" in the backup script -### - Remove also the section "REMOVE PHP-FPM CONFIGURATION" in the remove script -### - As well as the section "RESTORE THE PHP-FPM CONFIGURATION" in the restore script -### with the reload at the end of the script. -### - And the section "PHP-FPM CONFIGURATION" in the upgrade script - -# Create a dedicated PHP-FPM config -ynh_add_fpm_config - #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Configuring NGINX web server..." --time --weight=1 - -### `ynh_add_nginx_config` will use the file conf/nginx.conf +ynh_script_progression --message="Configuring NGINX web server..." # Create a dedicated NGINX config ynh_add_nginx_config @@ -195,33 +139,24 @@ ynh_add_nginx_config #================================================= # SPECIFIC SETUP #================================================= -# ... +# POPULATE DATABASE #================================================= +ynh_script_progression --message="Populating database..." + +password_hash=$(htpasswd -nbB password "$password"|cut -d: -f2) +ynh_add_config --template="../conf/mysql.sql" --destination="../conf/populated_mysql.sql" +ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < "../conf/populated_mysql.sql" #================================================= # CREATE DATA DIRECTORY #================================================= -ynh_script_progression --message="Creating a data directory..." --time --weight=1 - -### Use these lines if you need to create a directory to store "persistent files" for the application. -### Usually this directory is used to store uploaded files or any file that won't be updated during -### an upgrade and that won't be deleted during app removal unless "--purge" option is used. -### If you're not using these lines: -### - Remove the section "BACKUP THE DATA DIR" in the backup script -### - Remove the section "RESTORE THE DATA DIRECTORY" in the restore script -### - As well as the section "REMOVE DATA DIR" in the remove script +ynh_script_progression --message="Creating a data directory..." datadir=/home/yunohost.app/$app ynh_app_setting_set --app=$app --key=datadir --value=$datadir mkdir -p $datadir -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod 750 "$datadir" chmod -R o-rwx "$datadir" chown -R $app:www-data "$datadir" @@ -229,89 +164,30 @@ chown -R $app:www-data "$datadir" #================================================= # ADD A CONFIGURATION #================================================= -ynh_script_progression --message="Adding a configuration file..." --time --weight=1 +ynh_script_progression --message="Adding a configuration file..." -### You can add specific configuration files. -### -### Typically, put your template conf file in ../conf/your_config_file -### The template may contain strings such as __FOO__ or __FOO_BAR__, -### which will automatically be replaced by the values of $foo and $foo_bar -### -### ynh_add_config will also keep track of the config file's checksum, -### which later during upgrade may allow to automatically backup the config file -### if it's found that the file was manually modified -### -### Check the documentation of `ynh_add_config` for more info. +ynh_add_config --template="../conf/rportd.example.conf" --destination="$final_path/rportd.conf" -ynh_add_config --template="some_config_file" --destination="$final_path/some_config_file" - -# FIXME: this should be handled by the core in the future -# You may need to use chmod 600 instead of 400, -# for example if the app is expected to be able to modify its own config -chmod 400 "$final_path/some_config_file" -chown $app:$app "$final_path/some_config_file" - -### For more complex cases where you want to replace stuff using regexes, -### you shoud rely on ynh_replace_string (which is basically a wrapper for sed) -### When doing so, you also need to manually call ynh_store_file_checksum -### -### ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/some_config_file" -### ynh_store_file_checksum --file="$final_path/some_config_file" +chmod 400 "$final_path/rportd.conf" +chown $app:$app "$final_path/rportd.conf" #================================================= # SETUP SYSTEMD #================================================= -ynh_script_progression --message="Configuring a systemd service..." --time --weight=1 - -### `ynh_systemd_config` is used to configure a systemd script for an app. -### It can be used for apps that use sysvinit (with adaptation) or systemd. -### Have a look at the app to be sure this app needs a systemd script. -### `ynh_systemd_config` will use the file conf/systemd.service -### If you're not using these lines: -### - You can remove those files in conf/. -### - Remove the section "BACKUP SYSTEMD" in the backup script -### - Remove also the section "STOP AND REMOVE SERVICE" in the remove script -### - As well as the section "RESTORE SYSTEMD" in the restore script -### - And the section "SETUP SYSTEMD" in the upgrade script +ynh_script_progression --message="Configuring a systemd service..." # Create a dedicated systemd config ynh_add_systemd_config -#================================================= -# SETUP APPLICATION WITH CURL -#================================================= - -### Use these lines only if the app installation needs to be finalized through -### web forms. We generally don't want to ask the final user, -### so we're going to use curl to automatically fill the fields and submit the -### forms. - -# Set the app as temporarily public for curl call -ynh_script_progression --message="Configuring SSOwat..." --time --weight=1 -# Making the app public for curl -ynh_permission_update --permission="main" --add="visitors" - -# Installation with curl -ynh_script_progression --message="Finalizing installation..." --time --weight=1 -ynh_local_curl "/INSTALL_PATH" "key1=value1" "key2=value2" "key3=value3" - -# Remove the public access -ynh_permission_update --permission="main" --remove="visitors" - #================================================= # GENERIC FINALIZATION #================================================= # SETUP LOGROTATE #================================================= -ynh_script_progression --message="Configuring log rotation..." --time --weight=1 +ynh_script_progression --message="Configuring log rotation..." -### `ynh_use_logrotate` is used to configure a logrotate configuration for the logs of this app. -### Use this helper only if there is effectively a log file for this app. -### If you're not using this helper: -### - Remove the section "BACKUP LOGROTATE" in the backup script -### - Remove also the section "REMOVE LOGROTATE CONFIGURATION" in the remove script -### - As well as the section "RESTORE THE LOGROTATE CONFIGURATION" in the restore script -### - And the section "SETUP LOGROTATE" in the upgrade script +mkdir -p /var/log/$app +chown -R $app:$app "/var/log/$app" # Use logrotate to manage application logfile(s) ynh_use_logrotate @@ -319,87 +195,31 @@ ynh_use_logrotate #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= -ynh_script_progression --message="Integrating service in YunoHost..." --time --weight=1 +ynh_script_progression --message="Integrating service in YunoHost..." -### `yunohost service add` integrates a service in YunoHost. It then gets -### displayed in the admin interface and through the others `yunohost service` commands. -### (N.B.: this line only makes sense if the app adds a service to the system!) -### If you're not using these lines: -### - You can remove these files in conf/. -### - Remove the section "REMOVE SERVICE INTEGRATION IN YUNOHOST" in the remove script -### - As well as the section "INTEGRATE SERVICE IN YUNOHOST" in the restore script -### - And the section "INTEGRATE SERVICE IN YUNOHOST" in the upgrade script - -yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log" - -### Additional options starting with 3.8: -### -### --needs_exposed_ports "$port" a list of ports that needs to be publicly exposed -### which will then be checked by YunoHost's diagnosis system -### (N.B. DO NOT USE THIS is the port is only internal!!!) -### -### --test_status "some command" a custom command to check the status of the service -### (only relevant if 'systemctl status' doesn't do a good job) -### -### --test_conf "some command" some command similar to "nginx -t" that validates the conf of the service -### -### Re-calling 'yunohost service add' during the upgrade script is the right way -### to proceed if you later realize that you need to enable some flags that -### weren't enabled on old installs (be careful it'll override the existing -### service though so you should re-provide all relevant flags when doing so) +yunohost service add $app --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 - -### `ynh_systemd_action` is used to start a systemd service for an app. -### Only needed if you have configure a systemd service -### If you're not using these lines: -### - Remove the section "STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the backup script -### - As well as the section "START SYSTEMD SERVICE" in the restore script -### - As well as the section"STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the upgrade script -### - And the section "STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the change_url script +ynh_script_progression --message="Starting a systemd service..." # Start a systemd service -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" - -#================================================= -# SETUP FAIL2BAN -#================================================= -ynh_script_progression --message="Configuring Fail2Ban..." --time --weight=1 - -# Create a dedicated Fail2Ban config -ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" --line_match="API Listening on" #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Configuring permissions..." --time --weight=1 +ynh_script_progression --message="Configuring permissions..." -# Make app public if necessary -if [ $is_public -eq 1 ] -then - # Everyone can access the app. - # The "main" permission is automatically created before the install script. - ynh_permission_update --permission="main" --add="visitors" -fi - -### N.B. : the following extra permissions only make sense if your app -### does have for example an admin interface or an API. - -# Only the admin can access the admin panel of the app (if the app has an admin panel) -ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin - -# Everyone can access the API part -# We don't want to display the tile in the SSO so we put --show_tile="false" -# And we don't want the YunoHost admin to be able to remove visitors group to this permission, so we put --protected="true" -ynh_permission_create --permission="api" --url="/api" --allowed="visitors" --show_tile="false" --protected="true" +# Everyone can access the app. +# The "main" permission is automatically created before the install script. +ynh_permission_update --permission="main" --add="visitors" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --time --weight=1 +ynh_script_progression --message="Reloading NGINX web server..." ynh_systemd_action --service_name=nginx --action=reload @@ -407,4 +227,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of $app completed" --time --last +ynh_script_progression --message="Installation of $app completed" diff --git a/scripts/remove b/scripts/remove index 29da1fd..2268949 100755 --- a/scripts/remove +++ b/scripts/remove @@ -12,12 +12,12 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --time --weight=1 +ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) -port=$(ynh_app_setting_get --app=$app --key=port) +client_port=$(ynh_app_setting_get --app=$app --key=client_port) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name final_path=$(ynh_app_setting_get --app=$app --key=final_path) @@ -32,14 +32,14 @@ datadir=$(ynh_app_setting_get --app=$app --key=datadir) # Remove the service from the list of services known by YunoHost (added from `yunohost service add`) if ynh_exec_warn_less yunohost service status $app >/dev/null then - ynh_script_progression --message="Removing $app service integration..." --time --weight=1 + ynh_script_progression --message="Removing $app service integration..." yunohost service remove $app fi #================================================= # STOP AND REMOVE SERVICE #================================================= -ynh_script_progression --message="Stopping and removing the systemd service..." --time --weight=1 +ynh_script_progression --message="Stopping and removing the systemd service..." # Remove the dedicated systemd config ynh_remove_systemd_config @@ -47,7 +47,7 @@ ynh_remove_systemd_config #================================================= # REMOVE LOGROTATE CONFIGURATION #================================================= -ynh_script_progression --message="Removing logrotate configuration..." --time --weight=1 +ynh_script_progression --message="Removing logrotate configuration..." # Remove the app-specific logrotate config ynh_remove_logrotate @@ -55,7 +55,7 @@ ynh_remove_logrotate #================================================= # REMOVE THE MYSQL DATABASE #================================================= -ynh_script_progression --message="Removing the MySQL database..." --time --weight=1 +ynh_script_progression --message="Removing the MySQL database..." # Remove a database if it exists, along with the associated user ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name @@ -63,7 +63,7 @@ ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." --time --weight=1 +ynh_script_progression --message="Removing app main directory..." # Remove the app directory securely ynh_secure_remove --file="$final_path" @@ -75,64 +75,43 @@ ynh_secure_remove --file="$final_path" # Remove the data directory if --purge option is used if [ "${YNH_APP_PURGE:-0}" -eq 1 ] then - ynh_script_progression --message="Removing app data directory..." --time --weight=1 + ynh_script_progression --message="Removing app data directory..." ynh_secure_remove --file="$datadir" fi #================================================= # REMOVE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Removing NGINX web server configuration..." --time --weight=1 +ynh_script_progression --message="Removing NGINX web server configuration..." # Remove the dedicated NGINX config ynh_remove_nginx_config -#================================================= -# REMOVE PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Removing PHP-FPM configuration..." --time --weight=1 - -# Remove the dedicated PHP-FPM config -ynh_remove_fpm_config - #================================================= # REMOVE DEPENDENCIES #================================================= -ynh_script_progression --message="Removing dependencies..." --time --weight=1 +ynh_script_progression --message="Removing dependencies..." # Remove metapackage and its dependencies ynh_remove_app_dependencies +apt-get -y remove --purge rport-guacamole #================================================= # CLOSE A PORT #================================================= -if yunohost firewall list | grep -q "\- $port$" +if yunohost firewall list | grep -q "\- $client_port$" then - ynh_script_progression --message="Closing port $port..." --time --weight=1 - ynh_exec_warn_less yunohost firewall disallow TCP $port + ynh_script_progression --message="Closing port $client_port..." + ynh_exec_warn_less yunohost firewall disallow TCP $client_port fi -#================================================= -# REMOVE FAIL2BAN CONFIGURATION -#================================================= -ynh_script_progression --message="Removing Fail2Ban configuration..." --time --weight=1 - -# Remove the dedicated Fail2Ban config -ynh_remove_fail2ban_config - #================================================= # SPECIFIC REMOVE #================================================= # REMOVE VARIOUS FILES #================================================= -ynh_script_progression --message="Removing various files..." --time --weight=1 - -# Remove a cron file -ynh_secure_remove --file="/etc/cron.d/$app" - -# Remove a directory securely -ynh_secure_remove --file="/etc/$app" +ynh_script_progression --message="Removing various files..." # Remove the log files ynh_secure_remove --file="/var/log/$app" @@ -142,7 +121,7 @@ ynh_secure_remove --file="/var/log/$app" #================================================= # REMOVE DEDICATED USER #================================================= -ynh_script_progression --message="Removing the dedicated system user..." --time --weight=1 +ynh_script_progression --message="Removing the dedicated system user..." # Delete a system user ynh_system_user_delete --username=$app @@ -151,4 +130,4 @@ ynh_system_user_delete --username=$app # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of $app completed" --time --last +ynh_script_progression --message="Removal of $app completed" diff --git a/scripts/restore b/scripts/restore index d0c948c..40155db 100755 --- a/scripts/restore +++ b/scripts/restore @@ -15,8 +15,7 @@ source /usr/share/yunohost/helpers #================================================= ynh_clean_setup () { - #### Remove this function if there's nothing to clean before calling the remove script. - true + ynh_clean_check_starting } # Exit if an error occurs during the execution of the script ynh_abort_if_errors @@ -24,7 +23,7 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --time --weight=1 +ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME @@ -33,13 +32,14 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name -phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) datadir=$(ynh_app_setting_get --app=$app --key=datadir) +guacd_port=$(ynh_app_setting_get --app=$app --key=guacd_port) +client_port=$(ynh_app_setting_get --app=$app --key=client_port) #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= -ynh_script_progression --message="Validating restoration parameters..." --time --weight=1 +ynh_script_progression --message="Validating restoration parameters..." test ! -d $final_path \ || ynh_die --message="There is already a directory: $final_path " @@ -49,24 +49,19 @@ test ! -d $final_path \ #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 +ynh_script_progression --message="Recreating the dedicated system user..." # Create the dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir="$final_path" +usermod -a -G ssl-cert "$app" #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app main directory..." --time --weight=1 +ynh_script_progression --message="Restoring the app main directory..." ynh_restore_file --origin_path="$final_path" -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" @@ -74,77 +69,66 @@ chown -R $app:www-data "$final_path" #================================================= # RESTORE THE DATA DIRECTORY #================================================= -ynh_script_progression --message="Restoring the data directory..." --time --weight=1 +ynh_script_progression --message="Restoring the data directory..." ynh_restore_file --origin_path="$datadir" --not_mandatory mkdir -p $datadir -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod 750 "$datadir" chmod -R o-rwx "$datadir" chown -R $app:www-data "$datadir" -#================================================= -# RESTORE FAIL2BAN CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the Fail2Ban configuration..." --time --weight=1 - -ynh_restore_file --origin_path="/etc/fail2ban/jail.d/$app.conf" -ynh_restore_file --origin_path="/etc/fail2ban/filter.d/$app.conf" -ynh_systemd_action --action=restart --service_name=fail2ban - #================================================= # SPECIFIC RESTORATION #================================================= # REINSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 +ynh_script_progression --message="Reinstalling dependencies..." # Define and install dependencies ynh_install_app_dependencies $pkg_dependencies -#================================================= -# RESTORE THE PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the PHP-FPM configuration..." --time --weight=1 - -ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" +GUACD_PKG=rport-guacamole_1.4.0_$(lsb_release --id --short | tr '[:upper:]' '[:lower:]')_$(lsb_release --codename --short)_$(uname -m).deb +GUACD_DOWNLOAD=https://bitbucket.org/cloudradar/rport-guacamole/downloads/${GUACD_PKG} +tempdir="$(mktemp -d)" +pushd "$tempdir" + curl -fLOSs "$GUACD_DOWNLOAD" || (throw_error "Download failed" && return 0) + DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install ./"${GUACD_PKG}" +popd +ynh_replace_string --match_string="9445" --replace_string="$guacd_port" --target_file="/etc/default/rport-guacamole" +systemctl restart rport-guacd +ynh_secure_remove --file="$tempdir" #================================================= # RESTORE THE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Restoring the NGINX web server configuration..." --time --weight=1 +ynh_script_progression --message="Restoring the NGINX web server configuration..." ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # RESTORE THE MYSQL DATABASE #================================================= -ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1 +ynh_script_progression --message="Restoring the MySQL database..." db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql #================================================= -# RESTORE VARIOUS FILES +# OPEN A PORT #================================================= -ynh_script_progression --message="Restoring various files..." --time --weight=1 +ynh_script_progression --message="Opening a port..." -ynh_restore_file --origin_path="/etc/cron.d/$app" - -ynh_restore_file --origin_path="/etc/$app/" +# Open the port +ynh_script_progression --message="Configuring firewall..." +ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $client_port #================================================= # RESTORE SYSTEMD #================================================= -ynh_script_progression --message="Restoring the systemd configuration..." --time --weight=1 +ynh_script_progression --message="Restoring the systemd configuration..." ynh_restore_file --origin_path="/etc/systemd/system/$app.service" systemctl enable $app.service --quiet @@ -152,36 +136,38 @@ systemctl enable $app.service --quiet #================================================= # RESTORE THE LOGROTATE CONFIGURATION #================================================= -ynh_script_progression --message="Restoring the logrotate configuration..." --time --weight=1 +ynh_script_progression --message="Restoring the logrotate configuration..." + +mkdir -p /var/log/$app +chown -R $app:$app "/var/log/$app" ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= -ynh_script_progression --message="Integrating service in YunoHost..." --time --weight=1 +ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add $app --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +ynh_script_progression --message="Starting a systemd service..." -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" --line_match="API Listening on" #================================================= # GENERIC FINALIZATION #================================================= -# RELOAD NGINX AND PHP-FPM +# RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --time --weight=1 +ynh_script_progression --message="Reloading NGINX web server..." -ynh_systemd_action --service_name=php$phpversion-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for $app" --time --last +ynh_script_progression --message="Restoration completed for $app" diff --git a/scripts/upgrade b/scripts/upgrade index 5b3c79b..2ce3628 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -12,37 +12,40 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --time --weight=1 +ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) -language=$(ynh_app_setting_get --app=$app --key=language) admin=$(ynh_app_setting_get --app=$app --key=admin) final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) +db_user=$db_name +db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) +datadir=$(ynh_app_setting_get --app=$app --key=datadir) +client_port=$(ynh_app_setting_get --app=$app --key=client_port) +api_port=$(ynh_app_setting_get --app=$app --key=api_port) +guacd_port=$(ynh_app_setting_get --app=$app --key=guacd_port) +key_seed=$(ynh_app_setting_get --app=$app --key=key_seed) +jwt_secret=$(ynh_app_setting_get --app=$app --key=jwt_secret) #================================================= # CHECK VERSION #================================================= +ynh_script_progression --message="Checking version..." -### This helper will compare the version of the currently installed app and the version of the upstream package. -### $upgrade_type can have 2 different values -### - UPGRADE_APP if the upstream app version has changed -### - UPGRADE_PACKAGE if only the YunoHost package has changed -### ynh_check_app_version_changed will stop the upgrade if the app is up to date. -### UPGRADE_APP should be used to upgrade the core app only if there's an upgrade to do. upgrade_type=$(ynh_check_app_version_changed) #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --time --weight=1 +ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." # Backup the current version of the app ynh_backup_before_upgrade ynh_clean_setup () { + ynh_clean_check_starting # Restore it if the upgrade fails ynh_restore_upgradebackup } @@ -54,60 +57,23 @@ ynh_abort_if_errors #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 +ynh_script_progression --message="Stopping a systemd service..." ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -ynh_script_progression --message="Ensuring downward compatibility..." --time --weight=1 - -# -# N.B. : the followings setting migrations snippets are provided as *EXAMPLES* -# of what you may want to do in some cases (e.g. a setting was not defined on -# some legacy installs and you therefore want to initiaze stuff during upgrade) -# - -# If db_name doesn't exist, create it -#if [ -z "$db_name" ]; then -# db_name=$(ynh_sanitize_dbid --db_name=$app) -# ynh_app_setting_set --app=$app --key=db_name --value=$db_name -#fi - -# If final_path doesn't exist, create it -#if [ -z "$final_path" ]; then -# final_path=/var/www/$app -# ynh_app_setting_set --app=$app --key=final_path --value=$final_path -#fi - -### If nobody installed your app before 4.1, -### then you may safely remove these lines - -# Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - -if ! ynh_permission_exists --permission="admin"; then - # Create the required permissions - ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin -fi - -# Create a permission if needed -if ! ynh_permission_exists --permission="api"; then - ynh_permission_create --permission="api" --url="/api" --allowed="visitors" --show_tile="false" --protected="true" -fi +ynh_script_progression --message="Ensuring downward compatibility..." #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." --time --weight=1 +ynh_script_progression --message="Making sure dedicated system user exists..." # Create a dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir="$final_path" +usermod -a -G ssl-cert "$app" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -115,18 +81,14 @@ ynh_system_user_create --username=$app --home_dir="$final_path" if [ "$upgrade_type" == "UPGRADE_APP" ] then - ynh_script_progression --message="Upgrading source files..." --time --weight=1 + ynh_script_progression --message="Upgrading source files..." # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$final_path" + ynh_setup_source --dest_dir="$final_path/bin" --source_id="$YNH_ARCH" + ynh_setup_source --dest_dir="$final_path/frontend" --source_id="frontend" + ynh_setup_source --dest_dir="$final_path/novnc" --source_id="novnc" fi -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" @@ -134,61 +96,45 @@ chown -R $app:www-data "$final_path" #================================================= # UPGRADE DEPENDENCIES #================================================= -ynh_script_progression --message="Upgrading dependencies..." --time --weight=1 +ynh_script_progression --message="Upgrading dependencies..." ynh_install_app_dependencies $pkg_dependencies -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Upgrading PHP-FPM configuration..." --time --weight=1 - -# Create a dedicated PHP-FPM config -ynh_add_fpm_config +GUACD_PKG=rport-guacamole_1.4.0_$(lsb_release --id --short | tr '[:upper:]' '[:lower:]')_$(lsb_release --codename --short)_$(uname -m).deb +GUACD_DOWNLOAD=https://bitbucket.org/cloudradar/rport-guacamole/downloads/${GUACD_PKG} +tempdir="$(mktemp -d)" +pushd "$tempdir" + curl -fLOSs "$GUACD_DOWNLOAD" || (throw_error "Download failed" && return 0) + DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install ./"${GUACD_PKG}" +popd +ynh_replace_string --match_string="9445" --replace_string="$guacd_port" --target_file="/etc/default/rport-guacamole" +systemctl restart rport-guacd +ynh_secure_remove --file="$tempdir" #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading NGINX web server configuration..." --time --weight=1 +ynh_script_progression --message="Upgrading NGINX web server configuration..." # Create a dedicated NGINX config ynh_add_nginx_config #================================================= # SPECIFIC UPGRADE -#================================================= -# ... -#================================================= - #================================================= # UPDATE A CONFIG FILE #================================================= -ynh_script_progression --message="Updating a configuration file..." --time --weight=1 +ynh_script_progression --message="Updating a configuration file..." -### Same as during install -### -### The file will automatically be backed-up if it's found to be manually modified (because -### ynh_add_config keeps track of the file's checksum) +ynh_add_config --template="../conf/rportd.example.conf" --destination="$final_path/rportd.conf" -ynh_add_config --template="some_config_file" --destination="$final_path/some_config_file" - -# FIXME: this should be handled by the core in the future -# You may need to use chmod 600 instead of 400, -# for example if the app is expected to be able to modify its own config -chmod 400 "$final_path/some_config_file" -chown $app:$app "$final_path/some_config_file" - -### For more complex cases where you want to replace stuff using regexes, -### you shoud rely on ynh_replace_string (which is basically a wrapper for sed) -### When doing so, you also need to manually call ynh_store_file_checksum -### -### ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/some_config_file" -### ynh_store_file_checksum --file="$final_path/some_config_file" +chmod 400 "$final_path/rportd.conf" +chown $app:$app "$final_path/rportd.conf" #================================================= # SETUP SYSTEMD #================================================= -ynh_script_progression --message="Upgrading systemd configuration..." --time --weight=1 +ynh_script_progression --message="Upgrading systemd configuration..." # Create a dedicated systemd config ynh_add_systemd_config @@ -198,7 +144,7 @@ ynh_add_systemd_config #================================================= # SETUP LOGROTATE #================================================= -ynh_script_progression --message="Upgrading logrotate configuration..." --time --weight=1 +ynh_script_progression --message="Upgrading logrotate configuration..." # Use logrotate to manage app-specific logfile(s) ynh_use_logrotate --non-append @@ -206,29 +152,21 @@ ynh_use_logrotate --non-append #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= -ynh_script_progression --message="Integrating service in YunoHost..." --time --weight=1 +ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add $app --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +ynh_script_progression --message="Starting a systemd service..." -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" - -#================================================= -# UPGRADE FAIL2BAN -#================================================= -ynh_script_progression --message="Reconfiguring Fail2Ban..." --time --weight=1 - -# Create a dedicated Fail2Ban config -ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" --line_match="API Listening on" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --time --weight=1 +ynh_script_progression --message="Reloading NGINX web server..." ynh_systemd_action --service_name=nginx --action=reload @@ -236,4 +174,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of $app completed" --time --last +ynh_script_progression --message="Upgrade of $app completed" diff --git a/sources/extra_files/app/.gitignore b/sources/extra_files/app/.gitignore deleted file mode 100644 index 783a4ae..0000000 --- a/sources/extra_files/app/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.sw[op] diff --git a/sources/patches/.gitignore b/sources/patches/.gitignore deleted file mode 100644 index 783a4ae..0000000 --- a/sources/patches/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.sw[op] From 417c7ab2b4d3d83ff76bf8e28d107002108778b4 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 11 Jun 2022 01:19:09 +0000 Subject: [PATCH 2/7] Auto-update README --- README.md | 59 ++++++++++++++------------------------------ README_fr.md | 69 +++++++++++++++++++--------------------------------- 2 files changed, 43 insertions(+), 85 deletions(-) diff --git a/README.md b/README.md index a6f7f9f..b704e5c 100644 --- a/README.md +++ b/README.md @@ -3,68 +3,45 @@ N.B.: This README was automatically generated by https://github.com/YunoHost/app It shall NOT be edited by hand. --> -# Example app for YunoHost +# Rportd for YunoHost -[![Integration level](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg) -[![Install example with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example) +[![Integration level](https://dash.yunohost.org/integration/rportd.svg)](https://dash.yunohost.org/appci/app/rportd) ![Working status](https://ci-apps.yunohost.org/ci/badges/rportd.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/rportd.maintain.svg) +[![Install Rportd with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=rportd) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install example quickly and simply on a YunoHost server. +> *This package allows you to install Rportd 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.* ## Overview -Explain in *a few (10~15) words* the purpose of the app or what it actually does (it is meant to give a rough idea to users browsing a catalog of 100+ apps) +Rport helps you to manage your remote servers without the hassle of VPNs, chained SSH connections, jump-hosts, or the use of commercial tools like TeamViewer and its clones. -**Shipped version:** 1.0~ynh1 - -**Demo:** https://demo.example.com +**Shipped version:** 0.7.0~ynh1 ## Screenshots - - ![](./doc/screenshots/example.jpg) - - - - -## Disclaimers / important information - -* Any known limitations, constrains or stuff not working, such as (but not limited to): - * requiring a full dedicated domain ? - * architectures not supported ? - * not-working single-sign on or LDAP integration ? - * the app requires an important amount of RAM / disk / .. to install or to work properly - * etc... - -* Other infos that people should be aware of, such as: - * any specific step to perform after installing (such as manually finishing the install, specific admin credentials, ...) - * how to configure / administrate the application if it ain't obvious - * upgrade process / specificities / things to be aware of ? - * security considerations ? - - +![Screenshot of Rportd](./doc/screenshots/screenshot.jpg) ## Documentation and resources -* Official app website: https://example.com -* Official user documentation: https://yunohost.org/apps -* Official admin documentation: https://yunohost.org/packaging_apps -* Upstream app code repository: https://some.forge.com/example/example -* YunoHost documentation for this app: https://yunohost.org/app_example -* Report a bug: https://github.com/YunoHost-Apps/example_ynh/issues +* Official app website: +* Official admin documentation: +* Upstream app code repository: +* YunoHost documentation for this app: +* Report a bug: ## Developer info -Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/example_ynh/tree/testing). +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/rportd_ynh/tree/testing). To try the testing branch, please proceed like that. -``` -sudo yunohost app install https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug + +``` bash +sudo yunohost app install https://github.com/YunoHost-Apps/rportd_ynh/tree/testing --debug or -sudo yunohost app upgrade example -u https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug +sudo yunohost app upgrade rportd -u https://github.com/YunoHost-Apps/rportd_ynh/tree/testing --debug ``` -**More info regarding app packaging:** https://yunohost.org/packaging_apps +**More info regarding app packaging:** diff --git a/README_fr.md b/README_fr.md index d856bf9..73c78ef 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,66 +1,47 @@ -# Example app pour YunoHost + -[![Niveau d'intégration](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg) -[![Installer example avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example) +# Rportd pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/rportd.svg)](https://dash.yunohost.org/appci/app/rportd) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/rportd.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/rportd.maintain.svg) +[![Installer Rportd avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=rportd) *[Read this readme in english.](./README.md)* -*[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install example 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.* +> *Ce package vous permet d'installer Rportd rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* ## Vue d'ensemble -Expliquez en *quelques* (10~15) mots l'utilité de l'app ou ce qu'elle fait (l'objectif est de donner une idée grossière pour des utilisateurs qui naviguent dans un catalogue de 100+ apps) +Rport helps you to manage your remote servers without the hassle of VPNs, chained SSH connections, jump-hosts, or the use of commercial tools like TeamViewer and its clones. -**Version incluse:** 1.0~ynh1 - -**Démo:** https://demo.example.com +**Version incluse :** 0.7.0~ynh1 ## Captures d'écran - - ![](./doc/screenshots/example.jpg) - - - - -## Avertissements / informations importantes - -* Any known limitations, constrains or stuff not working, such as (but not limited to): - * requiring a full dedicated domain ? - * architectures not supported ? - * not-working single-sign on or LDAP integration ? - * the app requires an important amount of RAM / disk / .. to install or to work properly - * etc... - -* Other infos that people should be aware of, such as: - * any specific step to perform after installing (such as manually finishing the install, specific admin credentials, ...) - * how to configure / administrate the application if it ain't obvious - * upgrade process / specificities / things to be aware of ? - * security considerations ? - - +![Capture d'écran de Rportd](./doc/screenshots/screenshot.jpg) ## Documentations et ressources -* Site official de l'app : https://example.com -* Documentation officielle utilisateur: https://yunohost.org/apps -* Documentation officielle de l'admin: https://yunohost.org/packaging_apps -* Dépôt de code officiel de l'app: https://some.forge.com/example/example -* Documentation YunoHost pour cette app: https://yunohost.org/app_example -* Signaler un bug: https://github.com/YunoHost-Apps/example_ynh/issues +* Site officiel de l'app : +* Documentation officielle de l'admin : +* Dépôt de code officiel de l'app : +* Documentation YunoHost pour cette app : +* Signaler un bug : ## Informations pour les développeurs -Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/example_ynh/tree/testing). +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/rportd_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. -``` -sudo yunohost app install https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug -or -sudo yunohost app upgrade example -u https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug + +``` bash +sudo yunohost app install https://github.com/YunoHost-Apps/rportd_ynh/tree/testing --debug +ou +sudo yunohost app upgrade rportd -u https://github.com/YunoHost-Apps/rportd_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications:** https://yunohost.org/packaging_apps \ No newline at end of file +**Plus d'infos sur le packaging d'applications :** From ca227db4af6f958ca91a2865847c4be1b937a851 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 13 Jun 2022 19:21:37 +0200 Subject: [PATCH 3/7] Fix needs_exposed_ports --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index fabf2ad..6c2ff7a 100755 --- a/scripts/install +++ b/scripts/install @@ -197,7 +197,7 @@ ynh_use_logrotate #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/restore b/scripts/restore index 40155db..11a5806 100755 --- a/scripts/restore +++ b/scripts/restore @@ -148,7 +148,7 @@ ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/upgrade b/scripts/upgrade index 2ce3628..7ec6e57 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -154,7 +154,7 @@ ynh_use_logrotate --non-append #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" #================================================= # START SYSTEMD SERVICE From 1b6e3fcad27d7253d3d1c1219b8f2aec4afc0e68 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 13 Jun 2022 19:21:43 +0200 Subject: [PATCH 4/7] Update manifest.json --- manifest.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/manifest.json b/manifest.json index d8bd2c7..2b57702 100644 --- a/manifest.json +++ b/manifest.json @@ -38,11 +38,7 @@ }, { "name": "password", - "type": "password", - "help": { - "en": "Use the help field to add an information for the admin about this question.", - "fr": "Utilisez le champ aide pour ajouter une information à l'intention de l'administrateur à propos de cette question." - } + "type": "password" } ] } From 3112dc3dfafff6c50ac4f2c2530a82e986678e12 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 13 Jun 2022 19:55:01 +0200 Subject: [PATCH 5/7] More ports --- conf/rportd.example.conf | 2 +- scripts/install | 12 +++++++++--- scripts/remove | 8 ++++++++ scripts/restore | 2 +- scripts/upgrade | 2 +- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/conf/rportd.example.conf b/conf/rportd.example.conf index 1493f43..20d3f65 100644 --- a/conf/rportd.example.conf +++ b/conf/rportd.example.conf @@ -101,7 +101,7 @@ ## Defaults to ['20000-30000']. ## Example: ## used_ports = [ '1024-2000', '9000', '9090' ] - used_ports = ['20000-30000'] + used_ports = ['__USED_START_PORT__-__USED_END_PORT__'] ## Defines a list of port numbers or ranges of server ports, ## that would not be used for automatic and manual port assignment. diff --git a/scripts/install b/scripts/install index 6c2ff7a..a9aa7b6 100755 --- a/scripts/install +++ b/scripts/install @@ -70,12 +70,18 @@ ynh_app_setting_set --app=$app --key=client_port --value=$client_port ynh_script_progression --message="Configuring firewall..." ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $client_port -api_port=$(ynh_find_port --port=8195) +api_port=$(ynh_find_port --port=$(($client_port + 1))) ynh_app_setting_set --app=$app --key=api_port --value=$api_port -guacd_port=$(ynh_find_port --port=8295) +guacd_port=$(ynh_find_port --port=$(($api_port + 1))) ynh_app_setting_set --app=$app --key=guacd_port --value=$guacd_port +used_start_port=$(ynh_find_port --port=20000) +ynh_app_setting_set --app=$app --key=used_start_port --value=$used_start_port +used_end_port=$(ynh_find_port --port=30000) +ynh_app_setting_set --app=$app --key=used_end_port --value=$used_end_port +ynh_exec_warn_less yunohost firewall allow TCP $used_start_port:$used_end_port + #================================================= # INSTALL DEPENDENCIES #================================================= @@ -197,7 +203,7 @@ ynh_use_logrotate #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port $used_start_port:$used_end_port" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/remove b/scripts/remove index 2268949..2aa5cc6 100755 --- a/scripts/remove +++ b/scripts/remove @@ -18,6 +18,8 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) client_port=$(ynh_app_setting_get --app=$app --key=client_port) +used_start_port=$(ynh_app_setting_get --app=$app --key=used_start_port) +used_end_port=$(ynh_app_setting_get --app=$app --key=used_end_port) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name final_path=$(ynh_app_setting_get --app=$app --key=final_path) @@ -106,6 +108,12 @@ then ynh_exec_warn_less yunohost firewall disallow TCP $client_port fi +if yunohost firewall list | grep -q "\- $used_start_port:$used_end_port$" +then + ynh_script_progression --message="Closing port $used_start_port:$used_end_port..." + ynh_exec_warn_less yunohost firewall disallow TCP $used_start_port:$used_end_port +fi + #================================================= # SPECIFIC REMOVE #================================================= diff --git a/scripts/restore b/scripts/restore index 11a5806..59a6924 100755 --- a/scripts/restore +++ b/scripts/restore @@ -148,7 +148,7 @@ ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port $used_start_port:$used_end_port" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/upgrade b/scripts/upgrade index 7ec6e57..f1a80b2 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -154,7 +154,7 @@ ynh_use_logrotate --non-append #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port $used_start_port:$used_end_port" #================================================= # START SYSTEMD SERVICE From db77bcda8589caeeb8452d82d404cacbb6ad18c8 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Thu, 16 Jun 2022 14:25:51 +0200 Subject: [PATCH 6/7] fix needs_exposed_ports --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index a9aa7b6..43ab9ca 100755 --- a/scripts/install +++ b/scripts/install @@ -203,7 +203,7 @@ ynh_use_logrotate #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port $used_start_port:$used_end_port" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/restore b/scripts/restore index 59a6924..11a5806 100755 --- a/scripts/restore +++ b/scripts/restore @@ -148,7 +148,7 @@ ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port $used_start_port:$used_end_port" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/upgrade b/scripts/upgrade index f1a80b2..7ec6e57 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -154,7 +154,7 @@ ynh_use_logrotate --non-append #================================================= ynh_script_progression --message="Integrating service in YunoHost..." -yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port $used_start_port:$used_end_port" +yunohost service add $app --log="/var/log/$app/$app.log" --needs_exposed_ports="$client_port" #================================================= # START SYSTEMD SERVICE From 46c86313ee41b29f30c891f78dca584ce684f61b Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sat, 18 Jun 2022 15:55:58 +0200 Subject: [PATCH 7/7] missing ports --- scripts/upgrade | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 7ec6e57..d4d5c56 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -25,6 +25,8 @@ db_user=$db_name db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) datadir=$(ynh_app_setting_get --app=$app --key=datadir) client_port=$(ynh_app_setting_get --app=$app --key=client_port) +used_start_port=$(ynh_app_setting_get --app=$app --key=used_start_port) +used_end_port=$(ynh_app_setting_get --app=$app --key=used_end_port) api_port=$(ynh_app_setting_get --app=$app --key=api_port) guacd_port=$(ynh_app_setting_get --app=$app --key=guacd_port) key_seed=$(ynh_app_setting_get --app=$app --key=key_seed)