89 Commits

Author SHA1 Message Date
dillard 3cf985f240 fix: disable SSO auth header injection for main permission
Technitium manages its own authentication and does not integrate with
YunoHost SSO. When auth_header is enabled (the default), SSOwat injects
an 'Authorization: Basic' header containing the YunoHost user's
credentials into every proxied request. Technitium receives this header,
attempts to authenticate the YunoHost user against its own user database,
fails silently, and redirects back to its login page — creating a login
loop that affects users who are logged into YunoHost SSO.

Setting auth_header = false prevents SSOwat from injecting credentials,
allowing Technitium to handle authentication with its own login form.

The app already correctly declares sso = false and ldap = false, making
auth_header = false the consistent and expected setting.
2026-07-06 03:35:55 +02:00
trendless 5a92cfa3b0 Merge pull request #58 from YunoHost-Apps/testing
add dns server domain setting
2026-06-15 21:43:46 -06:00
trendless e93a4d7623 Update install
add dns server domain setting
2026-06-15 21:37:00 -06:00
trendless 4ac9eba0de Merge pull request #57 from YunoHost-Apps/testing
[autopatch] Automatic patch to simplify `proxy_pass`/`fastcgi_pass` o…
2026-06-15 20:38:40 -06:00
Yunohost-Bot 97fb4248d9 [autopatch] Automatic patch to simplify proxy_pass/fastcgi_pass options in nginx.conf (PLEASE DOUBLE CHECK BEFORE MERGING) 2026-06-15 20:34:30 -06:00
trendless 41db53fe0c Merge pull request #56 from YunoHost-Apps/testing
Testing 15.2.0~ynh1
2026-06-15 20:00:18 -06:00
trendless 38bac532aa Update logsymlink.cron
00:05 only
2026-06-15 19:59:58 -06:00
trendless 2a365886e2 clarify instructions re IPv6 2026-06-15 19:56:40 -06:00
trendless c81dbef6fe rm pre_upgrade 2026-06-15 19:53:09 -06:00
trendless 082d01d5dd update instructions to post_upgrade 2026-06-15 19:52:50 -06:00
trendless 76a5fcc951 update testing to upgrade from 14.3.0_ynh` 2026-06-15 19:39:46 -06:00
trendless 8f50f5c5c0 Merge pull request #55 from YunoHost-Apps/dnsmasq-coexistence
dnsmasq coexistence
2026-06-15 19:37:59 -06:00
trendless 1d625c7a0c update remove 2026-06-15 19:23:11 -06:00
trendless 84c3f7ab1a ipv6 tweak 2026-06-15 19:22:01 -06:00
trendless 4f54fdaf43 dnsmasq coexistence 2026-06-15 19:06:15 -06:00
trendless 40e2c40d1c Merge pull request #54 from YunoHost-Apps/ci-auto-update-15.2.0
Upgrade to v15.2.0
2026-06-15 18:57:30 -06:00
trendless 251cfb6975 remove: leave logs rm to core 2026-06-15 18:56:47 -06:00
trendless efee1e5c05 adjust logging for v15 changes 2026-06-15 18:39:50 -06:00
orhtej2 4f74409542 Update install 2026-05-11 14:22:59 +02:00
orhtej2 c84cece0bd Tweaks to service start 2026-05-11 14:16:05 +02:00
orhtej2 03e90c9381 Tweak location path 2026-05-11 13:52:23 +02:00
orhtej2 ccf06c46ab Use prebuilts 2026-05-11 13:06:13 +02:00
orhtej2 8b4d40c877 Use dotnet runtime 10.x 2026-05-11 12:31:07 +02:00
yunohost-bot 1761677be4 Auto-update READMEs 2026-05-10 00:27:09 +02:00
yunohost-bot ac5b49d846 Upgrade sources
- `main` v15.2.0: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/15.2.0
2026-05-10 00:27:08 +02:00
orhtej2 8567147fbc Merge pull request #46 from YunoHost-Apps/testing
v14.3.0
2025-12-30 13:18:48 +01:00
YunoHost Bot 1205a5c6bc Upgrade to v14.3.0 (#48)
* Upgrade sources
- `main` v14.3.0: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/14.3.0

* Auto-update READMEs

* Update manifest.toml (#49)

* Update manifest.toml

* Bump ASP.net core to 9.0

---------

Co-authored-by: orhtej2 <2871798+orhtej2@users.noreply.github.com>
2025-12-30 13:17:18 +01:00
eric_G 1a4de3a5d9 Update screenshot.png 2025-11-21 16:02:58 +01:00
eric_G 91ce9211f2 cleaning 2025-11-21 15:58:59 +01:00
Thomas 6eea8934c0 Merge pull request #42 from YunoHost-Apps/testing
Testing
2025-10-05 15:51:39 +02:00
yunohost-bot a4d0de3447 Auto-update READMEs 2025-10-05 15:51:34 +02:00
yunohost-bot b3e89c69a4 Bump package revision 2025-10-05 15:51:34 +02:00
yunohost-bot dd39208bb1 Auto-update READMEs 2025-10-05 15:51:10 +02:00
Thomas b4c764eef4 Merge pull request #41 from Thovi98/helpers2.1
convert to helpers2.1
2025-10-05 15:51:07 +02:00
Thomas f36e59d5eb convert to helpers2.1 2025-09-18 11:59:20 +02:00
eric_G ea52ada4b7 Merge pull request #39 from YunoHost-Apps/testing
Testing
2025-05-02 22:29:11 +02:00
eric_G fa2ba2ae89 Merge pull request #38 from YunoHost-Apps/ci-auto-update-13.6.0
Upgrade to v13.6.0
2025-05-02 22:28:56 +02:00
yalh76 7e0b262893 Update manifest.toml 2025-04-29 22:16:31 +02:00
yunohost-bot 57dba8793f Auto-update READMEs 2025-04-27 00:22:04 +02:00
yunohost-bot 5d41c130e0 Upgrade sources
- `main` v13.6.0: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.6.0
2025-04-27 00:22:03 +02:00
yalh76 65b7261b08 Merge pull request #37 from YunoHost-Apps/testing
Upgrade to v13.5.0
2025-04-10 01:45:17 +02:00
yunohost-bot 1c9006325f Auto-update READMEs 2025-04-09 17:31:28 +02:00
yalh76 e15abca524 Merge pull request #36 from YunoHost-Apps/ci-auto-update-13.5.0
Upgrade to v13.5.0
2025-04-09 17:31:16 +02:00
yalh76 f0fe8a8a47 Update manifest.toml 2025-04-08 03:37:19 +02:00
yunohost-bot fc23a6a064 Upgrade sources
- `main` v13.5.0: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.5.0
2025-04-08 00:20:49 +02:00
yalh76 9651cf48f8 Merge pull request #35 from YunoHost-Apps/testing
Upgrade to v13.4.3
2025-02-24 23:05:41 +01:00
yalh76 11843bfcca Merge pull request #34 from YunoHost-Apps/ci-auto-update-13.4.3
Upgrade to v13.4.3
2025-02-24 20:52:44 +01:00
yalh76 b5860f330b Update manifest.toml 2025-02-24 04:12:40 +01:00
yunohost-bot 3b4d88c124 Auto-update READMEs 2025-02-24 00:22:59 +01:00
yunohost-bot 9e74e08845 Upgrade sources
- `main` v13.4.3: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.4.3
2025-02-24 00:22:53 +01:00
yalh76 53b36a9cc7 Merge pull request #33 from YunoHost-Apps/testing
Upgrade to v13.4.2
2025-02-16 20:05:30 +01:00
yalh76 4a736636dd Merge pull request #32 from YunoHost-Apps/ci-auto-update-13.4.2
Upgrade to v13.4.2
2025-02-16 18:58:47 +01:00
yalh76 5c31b7a602 Update tests.toml 2025-02-16 16:17:38 +01:00
yalh76 164afcc359 Update manifest.toml 2025-02-16 16:15:34 +01:00
yunohost-bot 6d9dbda379 Auto-update READMEs 2025-02-16 00:18:02 +01:00
yunohost-bot 19ca365a66 Upgrade sources
- `main` v13.4.2: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.4.2
2025-02-16 00:17:59 +01:00
yalh76 f20d6449b3 Merge pull request #31 from YunoHost-Apps/testing
Upgrade to v13.4.1
2025-02-12 23:58:56 +01:00
yalh76 b4999ea706 Merge pull request #30 from YunoHost-Apps/ci-auto-update-13.4.1
Upgrade to v13.4.1
2025-02-12 23:36:30 +01:00
yalh76 e4daa2a53f Update manifest.toml 2025-02-12 22:05:28 +01:00
yunohost-bot 56dd175ccf Auto-update READMEs 2025-02-03 00:22:41 +01:00
yunohost-bot f3eb54b2ea Upgrade sources
- `main` v13.4.1: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.4.1
2025-02-03 00:22:24 +01:00
eric_G a8c7dc3136 Merge pull request #17 from YunoHost-Apps/testing
Testing
2024-06-24 18:00:56 +02:00
eric_G 47b395b7ee Merge pull request #15 from YunoHost-Apps/ci-auto-update-12.2.1
Upgrade to v12.2.1
2024-06-24 17:07:37 +02:00
eric_G 7aa327b160 Merge pull request #16 from yunohost-bot/delete-log-removal
[autopatch] Do not delete logs on app removal
2024-06-24 17:07:25 +02:00
Yunohost-Bot bf6ec2892e [autopatch] Do not delete logs on app removal 2024-06-23 23:25:00 +02:00
Félix Piédallu ebd3dc99f6 Set autoupdate.needs_manual_tweaks = true 2024-06-19 20:13:43 +02:00
Félix Piédallu dcb8a049c0 Fix asset url 2024-06-19 20:13:37 +02:00
yunohost-bot 08a802b328 Auto-update READMEs 2024-06-16 01:46:58 +00:00
yunohost-bot b03b560b3c Upgrade to v12.2.1 2024-06-16 03:46:56 +02:00
Éric Gaspar 44098796fb Update manifest.toml 2024-06-06 09:29:46 +02:00
eric_G 59a9e1ae29 Merge pull request #12 from YunoHost-Apps/testing
Testing
2024-06-06 09:14:52 +02:00
yunohost-bot fb8df91832 Auto-update READMEs 2024-06-06 07:14:27 +00:00
Éric Gaspar b40bd9429f fix linter 2024-06-06 09:14:22 +02:00
eric_G ad403094fb Merge pull request #14 from Thovi98/testing
Upgrade dotnet to 8.0
2024-06-06 08:40:32 +02:00
yunohost-bot 17dbccf287 Auto-update READMEs 2024-06-06 06:37:37 +00:00
Éric Gaspar ff14876e4b Update manifest.toml 2024-06-06 08:37:33 +02:00
Thomas 4f24bbc2be Upgrade dotnet to 8.0 2024-06-01 17:02:50 +02:00
yunohost-bot 8498b36228 Auto-update READMEs 2024-05-10 09:58:19 +00:00
Éric Gaspar 4e4d01d114 Merge branch 'testing' of https://github.com/YunoHost-Apps/technitium-dns_ynh into testing 2024-05-10 11:58:15 +02:00
Éric Gaspar 9c0b1cfe5b Update DESCRIPTION.md 2024-05-10 11:58:10 +02:00
yunohost-bot 275c5e6959 Auto-update READMEs 2024-05-10 09:57:30 +00:00
Éric Gaspar c2c288d290 Merge branch 'testing' of https://github.com/YunoHost-Apps/technitium-dns_ynh into testing 2024-05-10 11:57:26 +02:00
Éric Gaspar 857962da89 cleaning 2024-05-10 11:57:20 +02:00
eric_G 2bcb62b8da Merge branch 'master' into testing 2024-05-10 11:54:33 +02:00
Éric Gaspar eb6f5e4162 Merge branch 'testing' of https://github.com/YunoHost-Apps/technitium-dns_ynh into testing 2024-05-10 11:54:07 +02:00
Éric Gaspar 7f3f4f8091 Update manifest.toml 2024-05-10 11:54:02 +02:00
yunohost-bot 94be2fad24 Auto-update READMEs 2024-05-10 09:52:38 +00:00
Éric Gaspar 1fb98df6b7 Update manifest.toml 2024-05-10 11:52:34 +02:00
yunohost-bot 246bc89cce Auto-update README 2024-03-07 17:48:21 +00:00
25 changed files with 241 additions and 396 deletions
+3
View File
@@ -1,2 +1,5 @@
*~
*.sw[op]
'*~'
'*.sw[op]'
'.DS_Store'
-6
View File
@@ -1,6 +0,0 @@
# All available README files by language
- [Read the README in English](README.md)
- [Lire le README en français](README_fr.md)
- [Le o README en galego](README_gl.md)
- [Leggi il “README” in italiano](README_it.md)
+26 -46
View File
@@ -1,64 +1,44 @@
<!--
N.B.: This README was automatically generated by <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
N.B.: This README was automatically generated by <https://github.com/YunoHost/apps_tools/blob/main/readme_generator>
It shall NOT be edited by hand.
-->
# Technitium DNS for YunoHost
<h1>
<img src="https://raw.githubusercontent.com/YunoHost/apps/main/logos/technitium-dns.png" width="32px" alt="Logo of Technitium DNS">
Technitium DNS, packaged for YunoHost
</h1>
[![Integration level](https://dash.yunohost.org/integration/technitium-dns.svg)](https://dash.yunohost.org/appci/app/technitium-dns) ![Working status](https://ci-apps.yunohost.org/ci/badges/technitium-dns.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/technitium-dns.maintain.svg)
DNS server for privacy and security
[![Install Technitium DNS with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=technitium-dns)
[![🌐 Official app website](https://img.shields.io/badge/Official_app_website-darkgreen?style=for-the-badge)](https://technitium.com/dns/)
[![Version: 15.2.0~ynh1](https://img.shields.io/badge/Version-15.2.0~ynh1-rgb(18,138,11)?style=for-the-badge)](https://ci-apps.yunohost.org/ci/apps/technitium-dns/)
*[Read this README is other languages.](./ALL_README.md)*
<div align="center">
<a href="https://apps.yunohost.org/app/technitium-dns"><img height="100px" src="https://github.com/YunoHost/yunohost-artwork/raw/refs/heads/main/badges/neopossum-badges/badge_more_info_on_the_appstore.svg"/></a>
<a href="https://github.com/YunoHost-Apps/technitium-dns_ynh/issues"><img height="100px" src="https://github.com/YunoHost/yunohost-artwork/raw/refs/heads/main/badges/neopossum-badges/badge_report_an_issue.svg"/></a>
</div>
> *This package allows you to install Technitium DNS 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
Technitium DNS Server is an open source tool that can be used for blocking Internet Ads using DNS Sinkhole, self hosting a local DNS server for privacy & security or, used for experimentation/testing by software developers on their computer.
### Features
- Block ads & malware using one or more block list URLs.
- High performance DNS server based on async IO that can serve millions of requests per minute even on a commodity desktop PC hardware (load tested on Intel i7-8700 CPU with more than 100,000 request/second over Gigabit Ethernet).
- Self host DNS-over-TLS and DNS-over-HTTPS DNS service on your network.
- Use public DNS resolvers like Cloudflare, Google & Quad9 with DNS-over-TLS and DNS-over-HTTPS protocols as forwarders.
- Advanced caching with features like serve stale, prefetching and auto prefetching.
- Supports working as an authoritative as well as a recursive DNS server.
- DNSSEC validation support with RSA & ECDSA algorithms for recursive resolver, forwarders, and conditional forwarders.
- DNSSEC support for all supported DNS transport protocols including encrypted DNS protocols (DoT, DoH, & DoH JSON).
- CNAME cloaking feature to block domain names that resolve to CNAME which are blocked.
- Self host your domain names on your own DNS server.
- Wildcard sub domain support.
... and much more!
**Shipped version:** 11.3.0~ynh2
## Screenshots
![Screenshot of Technitium DNS](./doc/screenshots/screenshot.png)
![Screenshot of Technitium DNS](./doc/screenshots/example.jpg)
## 📦 Developer info
## Documentation and resources
[![Automatic tests level](https://apps.yunohost.org/badge/cilevel/technitium-dns)](https://ci-apps.yunohost.org/ci/apps/technitium-dns/)
- Official app website: <https://technitium.com/dns/>
- Official user documentation: <https://technitium.com/dns/help.html>
- Official admin documentation: <https://technitium.com/dns/help.html>
- Upstream app code repository: <https://github.com/TechnitiumSoftware/DnsServer>
- YunoHost Store: <https://apps.yunohost.org/app/technitium-dns>
- Report a bug: <https://github.com/YunoHost-Apps/technitium-dns_ynh/issues>
🛠️ Upstream Technitium DNS repository: <https://github.com/TechnitiumSoftware/DnsServer>
## Developer info
Pull request are welcome and should target the [`testing` branch](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
Please send your pull request to the [`testing` branch](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
The `testing` branch can be tested using:
```
# fresh install:
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing
To try the `testing` branch, please proceed like that:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
or
sudo yunohost app upgrade technitium-dns -u https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
# upgrade an existing install:
sudo yunohost app upgrade technitium-dns -u https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing
```
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
### 📚 App packaging documentation
Please see <https://doc.yunohost.org/packaging_apps> for more information.
-64
View File
@@ -1,64 +0,0 @@
<!--
Nota bene: ce README est automatiquement généré par <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
Il NE doit PAS être modifié à la main.
-->
# Technitium DNS pour YunoHost
[![Niveau dintégration](https://dash.yunohost.org/integration/technitium-dns.svg)](https://dash.yunohost.org/appci/app/technitium-dns) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/technitium-dns.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/technitium-dns.maintain.svg)
[![Installer Technitium DNS avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=technitium-dns)
*[Lire le README dans d'autres langues.](./ALL_README.md)*
> *Ce package vous permet dinstaller Technitium DNS rapidement et simplement sur un serveur YunoHost.*
> *Si vous navez pas YunoHost, consultez [ce guide](https://yunohost.org/install) pour savoir comment linstaller et en profiter.*
## Vue densemble
Technitium DNS Server is an open source tool that can be used for blocking Internet Ads using DNS Sinkhole, self hosting a local DNS server for privacy & security or, used for experimentation/testing by software developers on their computer.
### Features
- Block ads & malware using one or more block list URLs.
- High performance DNS server based on async IO that can serve millions of requests per minute even on a commodity desktop PC hardware (load tested on Intel i7-8700 CPU with more than 100,000 request/second over Gigabit Ethernet).
- Self host DNS-over-TLS and DNS-over-HTTPS DNS service on your network.
- Use public DNS resolvers like Cloudflare, Google & Quad9 with DNS-over-TLS and DNS-over-HTTPS protocols as forwarders.
- Advanced caching with features like serve stale, prefetching and auto prefetching.
- Supports working as an authoritative as well as a recursive DNS server.
- DNSSEC validation support with RSA & ECDSA algorithms for recursive resolver, forwarders, and conditional forwarders.
- DNSSEC support for all supported DNS transport protocols including encrypted DNS protocols (DoT, DoH, & DoH JSON).
- CNAME cloaking feature to block domain names that resolve to CNAME which are blocked.
- Self host your domain names on your own DNS server.
- Wildcard sub domain support.
... and much more!
**Version incluse:** 11.3.0~ynh2
## Captures d’écran
![Capture d’écran de Technitium DNS](./doc/screenshots/example.jpg)
## Documentations et ressources
- Site officiel de lapp: <https://technitium.com/dns/>
- Documentation officielle utilisateur: <https://technitium.com/dns/help.html>
- Documentation officielle de ladmin: <https://technitium.com/dns/help.html>
- Dépôt de code officiel de lapp: <https://github.com/TechnitiumSoftware/DnsServer>
- YunoHost Store: <https://apps.yunohost.org/app/technitium-dns>
- Signaler un bug: <https://github.com/YunoHost-Apps/technitium-dns_ynh/issues>
## Informations pour les développeurs
Merci de faire vos pull request sur la [branche `testing`](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
Pour essayer la branche `testing`, procédez comme suit:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
ou
sudo yunohost app upgrade technitium-dns -u https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
```
**Plus dinfos sur le packaging dapplications:** <https://yunohost.org/packaging_apps>
-64
View File
@@ -1,64 +0,0 @@
<!--
NOTA: Este README foi creado automáticamente por <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
NON debe editarse manualmente.
-->
# Technitium DNS para YunoHost
[![Nivel de integración](https://dash.yunohost.org/integration/technitium-dns.svg)](https://dash.yunohost.org/appci/app/technitium-dns) ![Estado de funcionamento](https://ci-apps.yunohost.org/ci/badges/technitium-dns.status.svg) ![Estado de mantemento](https://ci-apps.yunohost.org/ci/badges/technitium-dns.maintain.svg)
[![Instalar Technitium DNS con YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=technitium-dns)
*[Le este README en outros idiomas.](./ALL_README.md)*
> *Este paquete permíteche instalar Technitium DNS de xeito rápido e doado nun servidor YunoHost.*
> *Se non usas YunoHost, le a [documentación](https://yunohost.org/install) para saber como instalalo.*
## Vista xeral
Technitium DNS Server is an open source tool that can be used for blocking Internet Ads using DNS Sinkhole, self hosting a local DNS server for privacy & security or, used for experimentation/testing by software developers on their computer.
### Features
- Block ads & malware using one or more block list URLs.
- High performance DNS server based on async IO that can serve millions of requests per minute even on a commodity desktop PC hardware (load tested on Intel i7-8700 CPU with more than 100,000 request/second over Gigabit Ethernet).
- Self host DNS-over-TLS and DNS-over-HTTPS DNS service on your network.
- Use public DNS resolvers like Cloudflare, Google & Quad9 with DNS-over-TLS and DNS-over-HTTPS protocols as forwarders.
- Advanced caching with features like serve stale, prefetching and auto prefetching.
- Supports working as an authoritative as well as a recursive DNS server.
- DNSSEC validation support with RSA & ECDSA algorithms for recursive resolver, forwarders, and conditional forwarders.
- DNSSEC support for all supported DNS transport protocols including encrypted DNS protocols (DoT, DoH, & DoH JSON).
- CNAME cloaking feature to block domain names that resolve to CNAME which are blocked.
- Self host your domain names on your own DNS server.
- Wildcard sub domain support.
... and much more!
**Versión proporcionada:** 11.3.0~ynh2
## Capturas de pantalla
![Captura de pantalla de Technitium DNS](./doc/screenshots/example.jpg)
## Documentación e recursos
- Web oficial da app: <https://technitium.com/dns/>
- Documentación oficial para usuarias: <https://technitium.com/dns/help.html>
- Documentación oficial para admin: <https://technitium.com/dns/help.html>
- Repositorio de orixe do código: <https://github.com/TechnitiumSoftware/DnsServer>
- Tenda YunoHost: <https://apps.yunohost.org/app/technitium-dns>
- Informar dun problema: <https://github.com/YunoHost-Apps/technitium-dns_ynh/issues>
## Info de desenvolvemento
Envía a túa colaboración á [rama `testing`](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
Para probar a rama `testing`, procede deste xeito:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
ou
sudo yunohost app upgrade technitium-dns -u https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
```
**Máis info sobre o empaquetado da app:** <https://yunohost.org/packaging_apps>
-64
View File
@@ -1,64 +0,0 @@
<!--
N.B.: Questo README è stato automaticamente generato da <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
NON DEVE essere modificato manualmente.
-->
# Technitium DNS per YunoHost
[![Livello di integrazione](https://dash.yunohost.org/integration/technitium-dns.svg)](https://dash.yunohost.org/appci/app/technitium-dns) ![Stato di funzionamento](https://ci-apps.yunohost.org/ci/badges/technitium-dns.status.svg) ![Stato di manutenzione](https://ci-apps.yunohost.org/ci/badges/technitium-dns.maintain.svg)
[![Installa Technitium DNS con YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=technitium-dns)
*[Leggi questo README in altre lingue.](./ALL_README.md)*
> *Questo pacchetto ti permette di installare Technitium DNS su un server YunoHost in modo semplice e veloce.*
> *Se non hai YunoHost, consulta [la guida](https://yunohost.org/install) per imparare a installarlo.*
## Panoramica
Technitium DNS Server is an open source tool that can be used for blocking Internet Ads using DNS Sinkhole, self hosting a local DNS server for privacy & security or, used for experimentation/testing by software developers on their computer.
### Features
- Block ads & malware using one or more block list URLs.
- High performance DNS server based on async IO that can serve millions of requests per minute even on a commodity desktop PC hardware (load tested on Intel i7-8700 CPU with more than 100,000 request/second over Gigabit Ethernet).
- Self host DNS-over-TLS and DNS-over-HTTPS DNS service on your network.
- Use public DNS resolvers like Cloudflare, Google & Quad9 with DNS-over-TLS and DNS-over-HTTPS protocols as forwarders.
- Advanced caching with features like serve stale, prefetching and auto prefetching.
- Supports working as an authoritative as well as a recursive DNS server.
- DNSSEC validation support with RSA & ECDSA algorithms for recursive resolver, forwarders, and conditional forwarders.
- DNSSEC support for all supported DNS transport protocols including encrypted DNS protocols (DoT, DoH, & DoH JSON).
- CNAME cloaking feature to block domain names that resolve to CNAME which are blocked.
- Self host your domain names on your own DNS server.
- Wildcard sub domain support.
... and much more!
**Versione pubblicata:** 11.3.0~ynh2
## Screenshot
![Screenshot di Technitium DNS](./doc/screenshots/example.jpg)
## Documentazione e risorse
- Sito web ufficiale dellapp: <https://technitium.com/dns/>
- Documentazione ufficiale per gli utenti: <https://technitium.com/dns/help.html>
- Documentazione ufficiale per gli amministratori: <https://technitium.com/dns/help.html>
- Repository upstream del codice dellapp: <https://github.com/TechnitiumSoftware/DnsServer>
- Store di YunoHost: <https://apps.yunohost.org/app/technitium-dns>
- Segnala un problema: <https://github.com/YunoHost-Apps/technitium-dns_ynh/issues>
## Informazioni per sviluppatori
Si prega di inviare la tua pull request alla [branch di `testing`](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
Per provare la branch di `testing`, si prega di procedere in questo modo:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
o
sudo yunohost app upgrade technitium-dns -u https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
```
**Maggiori informazioni riguardo il pacchetto di questapp:** <https://yunohost.org/packaging_apps>
+2
View File
@@ -0,0 +1,2 @@
listen-address=127.0.0.1
bind-interfaces
+1
View File
@@ -0,0 +1 @@
5 0 * * * ln -sf $(ls -t /var/log/__APP__/dns/*.log | head -n 1) /var/log/__APP__/__APP__.log
+2 -12
View File
@@ -2,17 +2,7 @@
location __PATH__/ {
proxy_pass http://127.0.0.1:__PORT__;
include proxy_params_no_auth;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Include SSOWAT user panel.
include conf.d/yunohost_panel.conf.inc;
}
+3 -1
View File
@@ -9,10 +9,12 @@ Group=__APP__
WorkingDirectory=__INSTALL_DIR__/sources/
ExecStart=__INSTALL_DIR__/dotnet/dotnet __INSTALL_DIR__/sources/DnsServerApp.dll __DATA_DIR__
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dns-server
Environment=DNS_SERVER_LOG_FOLDER_PATH=/var/log/__APP__/dns
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
-2
View File
@@ -13,5 +13,3 @@ Technitium DNS Server is an open source tool that can be used for blocking Inter
- CNAME cloaking feature to block domain names that resolve to CNAME which are blocked.
- Self host your domain names on your own DNS server.
- Wildcard sub domain support.
... and much more!
+15
View File
@@ -0,0 +1,15 @@
Technitium DNS Server est un outil open source qui peut être utilisé pour bloquer les publicités Internet à l'aide de DNS Sinkhole, pour héberger automatiquement un serveur DNS local pour des raisons de confidentialité et de sécurité ou pour l'expérimentation/les tests par les développeurs de logiciels sur leur ordinateur.
### Caractéristiques
- Bloquez les publicités et les logiciels malveillants à l'aide d'une ou plusieurs URL de liste de blocage.
- Serveur DNS hautes performances basé sur des E/S asynchrones qui peuvent traiter des millions de requêtes par minute, même sur un matériel PC de bureau standard (charge testée sur un processeur Intel i7-8700 avec plus de 100000 requêtes/seconde sur Gigabit Ethernet).
- Auto-hébergez les services DNS DNS-over-TLS et DNS-over-HTTPS sur votre réseau.
- Utilisez des résolveurs DNS publics comme Cloudflare, Google et Quad9 avec les protocoles DNS-over-TLS et DNS-over-HTTPS comme redirecteurs.
- Mise en cache avancée avec des fonctionnalités telles que le service obsolète, la prélecture et la prélecture automatique.
- Prend en charge le travail en tant que serveur DNS faisant autorité et récursif.
- Prise en charge de la validation DNSSEC avec les algorithmes RSA et ECDSA pour le résolveur récursif, les redirecteurs et les redirecteurs conditionnels.
- Prise en charge DNSSEC de tous les protocoles de transport DNS pris en charge, y compris les protocoles DNS cryptés (DoT, DoH et DoH JSON).
- Fonctionnalité de masquage CNAME pour bloquer les noms de domaine résolus en CNAME qui sont bloqués.
- Hébergez vous-même vos noms de domaine sur votre propre serveur DNS.
- Prise en charge des sous-domaines génériques.
+9
View File
@@ -0,0 +1,9 @@
After upgrading, in `Settings` > `General` you must set `DNS Server Local End Points` to your ynh server's IP address(es) and then scroll to the bottom and `Save Settings` to restart the DNS server.
eg:
```
192.168.0.88:53
[2981:2cb2:8e86:91f6:4dab:cc4b:2fba:463b]:53
```
If your server does not have an IPv6 address, you only need to enter the IPv4 address.
-3
View File
@@ -1,3 +0,0 @@
## Limitations
Requires a full dedicated domain.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 557 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

+30 -14
View File
@@ -4,9 +4,10 @@ packaging_format = 2
id = "technitium-dns"
name = "Technitium DNS"
description.en = "Block ads & malware at DNS level for your entire network! Self host a DNS server for privacy & security"
description.en = "DNS server for privacy and security"
description.fr = "Serveur DNS pour la confidentialité et la sécurité"
version = "11.3.0~ynh2"
version = "15.2.0~ynh1"
maintainers = ["Navan Chauhan"]
@@ -20,14 +21,18 @@ cpe = "cpe:2.3:a:technitium:dnsserver"
fund = "https://patreon.com/technitium"
[integration]
yunohost = ">= 11.2"
yunohost = ">= 12.1.38"
helpers_version = "2.1"
architectures = ["amd64", "arm64", "armhf"]
multi_instance = false
ldap = false
sso = false
disk = "50M" # FIXME: replace with an **estimate** minimum disk requirement. e.g. 20M, 400M, 1G, ...
ram.build = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ...
ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ...
disk = "50M"
ram.build = "50M"
ram.runtime = "50M"
[install]
[install.domain]
@@ -39,29 +44,40 @@ ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requiremen
[resources]
[resources.sources.main]
url = "https://download.technitium.com/dns/archive/11.3/DnsServerPortable.tar.gz"
sha256 = "316290e7ea1c79a856498e7c780ad83a5cc63603f9fb5dee5a22fda42c1689af"
url = "https://github.com/TechnitiumSoftware/DnsServer/archive/refs/tags/v15.2.0.tar.gz"
sha256 = "9247b3c70a8f58d336741819b4550b29937815dc535d1cc0f36ffd7cedb8860c"
in_subdir = false
# Careful, this autoupdate does not put the right asset, it only serves as a notification!
autoupdate.strategy = "latest_github_tag"
autoupdate.asset = "tarball"
autoupdate.needs_manual_tweaks = true
prefetch = false
[resources.sources.prebuilt]
url = "https://download.technitium.com/dns/archive/15.2.0/DnsServerPortable.tar.gz"
sha256 = "2e39fb8d0718475790cc025e083a1bcfd837a5e79e4a1d0ed775881bd90287ef"
in_subdir = false
[resources.sources.dotnet]
amd64.url = "https://download.visualstudio.microsoft.com/download/pr/cd076f88-c72a-411d-8d7c-a5ed352dce9c/fd020c0de8e056bb5c4a7ef6d1d983d4/aspnetcore-runtime-7.0.16-linux-x64.tar.gz"
amd64.sha256 = "7ceb03d3b508e68cbe38618037266a37ea7aa4373c1d07991d9499aba16d6dad"
arm64.url = "https://download.visualstudio.microsoft.com/download/pr/9aca092c-f9c0-48d7-a01f-3c1c2eaac903/01b345ddecc7a90d5c99d016fa5180a6/aspnetcore-runtime-7.0.9-linux-arm64.tar.gz"
arm64.sha256 = "8dc8e5d1373189547aa716c578f9b29afcd7d8d94fd1208650d0809b3af9388b"
armhf.url = "https://download.visualstudio.microsoft.com/download/pr/3463b963-3438-43db-84eb-e660956c99d6/b8486eb997e3991c5c04800ae8665cc2/aspnetcore-runtime-7.0.9-linux-arm.tar.gz"
armhf.sha256 = "581bdd9ccef0209cd6ec6b9ff172142eefd9f09332ac98814705af3f91b068ae"
amd64.url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.7/aspnetcore-runtime-10.0.7-linux-x64.tar.gz"
amd64.sha256 = "e7371614247bbc481196434d3cc2095e187b569c1929ab5c1af056682f1ca512"
arm64.url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.7/aspnetcore-runtime-10.0.7-linux-arm64.tar.gz"
arm64.sha256 = "5c95e878081d8b0476f36ff141a965573cecbc37f2e0555d2374b49d67572b00"
armhf.url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.7/aspnetcore-runtime-10.0.7-linux-arm.tar.gz"
armhf.sha256 = "79c4f9fbc5d028c939acb8bdc3899d1e788e2bad032d9a09f22eb21c9a9b8d16"
in_subdir = false
[resources.system_user]
[resources.install_dir]
group = "www-data:r-x"
[resources.data_dir]
group = "www-data:r-x"
[resources.permissions]
main.url = "/"
main.auth_header = false
[resources.ports]
main.default = 5380
-17
View File
@@ -1,17 +0,0 @@
#!/bin/bash
#=================================================
# COMMON VARIABLES
#=================================================
#=================================================
# PERSONAL HELPERS
#=================================================
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
#=================================================
# FUTURE OFFICIAL HELPERS
#=================================================
+7 -18
View File
@@ -4,45 +4,34 @@
# IMPORT GENERIC HELPERS
#=================================================
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
#=================================================
# DECLARE DATA AND CONF FILES TO BACKUP
#=================================================
ynh_print_info --message="Declaring files to be backed up..."
ynh_print_info "Declaring files to be backed up..."
#=================================================
# BACKUP THE APP MAIN DIR
#=================================================
ynh_backup --src_path="$install_dir"
ynh_backup "$install_dir"
#=================================================
# BACKUP THE DATA DIR
#=================================================
ynh_backup --src_path="$data_dir" --is_big
ynh_backup "$data_dir"
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup --src_path="/etc/logrotate.d/$app"
ynh_backup --src_path="/etc/systemd/system/$app.service"
ynh_backup "/etc/systemd/system/$app.service"
#=================================================
# BACKUP VARIOUS FILES
#=================================================
ynh_backup --src_path="/var/log/$app/"
ynh_backup "/var/log/$app"
#=================================================
# END OF SCRIPT
#=================================================
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
+7 -8
View File
@@ -4,32 +4,31 @@
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Stopping $app's systemd service..." --weight=1
ynh_script_progression "Stopping $app's systemd service..."
ynh_systemd_action --service_name="$app" --action="stop" --log_path="/var/log/$app/$app.log"
ynh_systemctl --service="$app" --action="stop" --log_path=systemd --wait_until="was stopped successfully"
#=================================================
# MODIFY URL IN NGINX CONF
#=================================================
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1
ynh_script_progression "Updating NGINX web server configuration..."
ynh_change_url_nginx_config
ynh_config_change_url_nginx
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
ynh_script_progression "Starting $app's systemd service..."
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
ynh_systemctl --service="$app" --action="start" --log_path=systemd --wait_until="was started successfully"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Change of URL completed for $app" --last
ynh_script_progression "Change of URL completed for $app"
+56 -21
View File
@@ -4,49 +4,84 @@
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..." --weight=1
ynh_script_progression "Setting up source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir/sources"
ynh_setup_source --source_id="prebuilt" --dest_dir="$install_dir/sources"
ynh_setup_source --source_id="dotnet" --dest_dir="$install_dir/dotnet"
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"
chmod -R o-rwx "$data_dir"
chown -R "$app:www-data" "$data_dir"
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
ynh_script_progression "Adding system configurations related to $app..."
# Create a dedicated NGINX config
ynh_add_nginx_config
ynh_config_add_nginx
ynh_config_add_systemd
mkdir -p "/var/log/$app/dns"
chown -R "$app:$app" "/var/log/$app"
ynh_hide_warnings yunohost firewall allow Both 53
# Create a dedicated systemd config
ynh_add_systemd_config
yunohost service add "$app" --description="Technitium DNS Server" --log="/var/log/$app/$app.log" --needs_exposed_ports="53"
# Use logrotate to manage application logfile(s)
ynh_use_logrotate
ynh_config_add --template="dnsmasq.conf" --destination="/etc/dnsmasq.d/$app.conf"
ynh_systemctl --service="dnsmasq" --action="restart"
#=================================================
# ADD A CRON JOB
#=================================================
ynh_config_add --template="logsymlink.cron" --destination="/etc/cron.d/$app"
chmod 644 "/etc/cron.d/$app"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
ynh_systemctl --service="$app" --action="start" --log_path=systemd --wait_until="was started successfully"
# Start a systemd service
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
#=================================================
# LINK LOGS
#=================================================
ln -sf $(ls -t /var/log/$app/dns/*.log | head -n 1) /var/log/$app/$app.log
#=================================================
# SET LOCAL ENDPOINT IP(S)
#=================================================
gateway_v4=$(ip -4 route show default | awk '{print $3}' | head -n1)
ipv4=$(ip -4 route get "$gateway_v4" 2>/dev/null | grep -oP 'src \K\S+')
gateway_v6=$(ip -6 route show default | awk '{print $3}' | head -n1)
if [ -n "$gateway_v6" ]; then
ipv6=$(ip -6 route get "$gateway_v6" 2>/dev/null | grep -oP 'src \K\S+' | grep -v '^fe80' || true)
else
ipv6=""
fi
if [ -n "$ipv6" ]; then
endpoints="$ipv4:53,[$ipv6]:53"
else
endpoints="$ipv4:53"
fi
mytoken1=$(curl -s "http://127.0.0.1:5380/api/user/createToken?user=admin&pass=admin&tokenName=mytoken1" | jq -r '.token')
curl -s "http://localhost:5380/api/settings/set?dnsServerLocalEndPoints=$endpoints&token=$mytoken1"
curl -s "http://localhost:5380/api/settings/set?dnsServerDomain=$domain&token=$mytoken1"
#=================================================
# RESTART SYSTEMD SERVICE
#=================================================
ynh_script_progression "Starting $app's systemd service..."
ynh_systemctl --service="$app" --action="restart" --log_path=systemd --wait_until="was started successfully"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Installation of $app completed" --last
ynh_script_progression "Installation of $app completed"
+9 -12
View File
@@ -4,33 +4,30 @@
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# REMOVE SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Removing system configurations related to $app..." --weight=1
ynh_script_progression "Removing system configurations related to $app..."
# 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
if ynh_hide_warnings yunohost service status "$app" >/dev/null; then
yunohost service remove "$app"
fi
# Remove the dedicated systemd config
ynh_remove_systemd_config
ynh_hide_warnings yunohost firewall disallow Both 53
# Remove the app-specific logrotate config
ynh_remove_logrotate
ynh_config_remove_systemd
# Remove the dedicated NGINX config
ynh_remove_nginx_config
ynh_config_remove_nginx
# Remove the log files
ynh_secure_remove --file="/var/log/$app"
ynh_safe_rm "/etc/cron.d/$app"
ynh_safe_rm "/etc/dnsmasq.d/$app.conf"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Removal of $app completed" --last
ynh_script_progression "Removal of $app completed"
+26 -21
View File
@@ -4,59 +4,64 @@
# IMPORT GENERIC HELPERS
#=================================================
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
#=================================================
# RESTORE THE APP MAIN DIR
#=================================================
ynh_script_progression --message="Restoring the app main directory..." --weight=1
ynh_script_progression "Restoring the app main directory..."
ynh_restore_file --origin_path="$install_dir"
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"
ynh_restore "$install_dir"
#=================================================
# RESTORE THE DATA DIRECTORY
#=================================================
ynh_script_progression --message="Restoring the data directory..." --weight=1
ynh_script_progression "Restoring the data directory..."
ynh_restore_file --origin_path="$data_dir" --not_mandatory
chmod -R o-rwx "$data_dir"
chown -R "$app:www-data" "$data_dir"
ynh_restore "$data_dir"
#=================================================
# RESTORE SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1
ynh_script_progression "Restoring system configurations related to $app..."
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore_file --origin_path="/etc/systemd/system/$app.service"
ynh_restore "/var/log/$app"
ynh_hide_warnings yunohost firewall allow Both 53
ynh_restore "/etc/systemd/system/$app.service"
systemctl enable "$app.service" --quiet
yunohost service add "$app" --description="Technitium DNS Server" --log="/var/log/$app/$app.log" --needs_exposed_ports=53
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
ynh_config_add --template="dnsmasq.conf" --destination="/etc/dnsmasq.d/$app.conf"
ynh_systemctl --service="dnsmasq" --action="restart"
#=================================================
# ADD A CRON JOB
#=================================================
ynh_config_add --template="logsymlink.cron" --destination="/etc/cron.d/$app"
chown root: "/etc/cron.d/$app"
chmod 644 "/etc/cron.d/$app"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
ynh_script_progression "Starting $app's systemd service..."
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
ynh_systemctl --service="$app" --action="start" --log_path=systemd --wait_until="was started successfully"
#=================================================
# RELOAD NGINX
#=================================================
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
ynh_script_progression "Reloading NGINX web server..."
ynh_systemd_action --service_name=nginx --action=reload
ynh_systemctl --service=nginx --action=reload
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Restoration completed for $app" --last
ynh_script_progression "Restoration completed for $app"
+30 -23
View File
@@ -4,63 +4,70 @@
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Stopping $app's systemd service..." --weight=1
ynh_script_progression "Stopping $app's systemd service..."
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log"
ynh_systemctl --service="$app" --action="stop" --log_path=systemd --wait_until="was stopped successfully"
#=================================================
# ENSURE DOWNWARD COMPATIBILITY
#=================================================
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
ynh_script_progression "Ensuring downward compatibility..."
if [ ! -d "$install_dir/dotnet" ]; then
# We expect legacy install in /opt
ynh_secure_remove --file="/opt/dotnet"
ynh_secure_remove --file="/usr/bin/dotnet"
ynh_safe_rm "/opt/dotnet"
ynh_safe_rm "/usr/bin/dotnet"
fi
if ynh_app_upgrading_from_version_before_or_equal_to 14.3.0~ynh1; then
mkdir -p "/var/log/$app"
mv "$data_dir/logs" "/var/log/$app/dns"
chown -R "$app:$app" "/var/log/$app"
ln -sf "/var/log/$app/dns" "$data_dir/logs"
ln -sf $(ls -t /var/log/$app/dns/*.log | head -n 1) /var/log/$app/$app.log
ynh_config_add --template="dnsmasq.conf" --destination="/etc/dnsmasq.d/$app.conf"
ynh_systemctl --service="dnsmasq" --action="restart"
ynh_hide_warnings yunohost firewall allow Both 53
fi
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Upgrading source files..." --weight=1
ynh_script_progression "Upgrading source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir/sources" --full_replace=1
ynh_setup_source --source_id="dotnet" --dest_dir="$install_dir/dotnet" --full_replace=1
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"
ynh_setup_source --source_id="prebuilt" --dest_dir="$install_dir/sources" --full_replace
ynh_setup_source --source_id="dotnet" --dest_dir="$install_dir/dotnet" --full_replace
#=================================================
# REAPPLY SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1
ynh_script_progression "Upgrading system configurations related to $app..."
# Create a dedicated NGINX config
ynh_add_nginx_config
ynh_config_add_nginx
# Create a dedicated systemd config
ynh_add_systemd_config
ynh_config_add_systemd
yunohost service add "$app" --description="Technitium DNS Server" --log="/var/log/$app/$app.log" --needs_exposed_ports=53
# Use logrotate to manage app-specific logfile(s)
ynh_use_logrotate --non-append
#=================================================
# ADD A CRON JOB
#=================================================
ynh_config_add --template="logsymlink.cron" --destination="/etc/cron.d/$app"
chmod 644 "/etc/cron.d/$app"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
ynh_script_progression "Starting $app's systemd service..."
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
ynh_systemctl --service="$app" --action="start" --log_path=systemd --wait_until="was started successfully"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Upgrade of $app completed" --last
ynh_script_progression "Upgrade of $app completed"
+15
View File
@@ -3,3 +3,18 @@
test_format = 1.0
[default]
# ------------
# Tests to run
# ------------
# -------------------------------
# Default args to use for install
# -------------------------------
# -------------------------------
# Commits to test upgrade from
# -------------------------------
#test_upgrade_from.f20d6449b36f1a891c5c7ab058691c836aa18833.name = "Upgrade from 13.4.1~ynh1"
test_upgrade_from.8567147.name = "Upgrade from 14.3.0~ynh1"