51 Commits

Author SHA1 Message Date
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
24 changed files with 204 additions and 563 deletions
+3
View File
@@ -1,2 +1,5 @@
*~
*.sw[op]
'*~'
'*.sw[op]'
'.DS_Store'
-8
View File
@@ -1,8 +0,0 @@
# All available README files by language
- [Read the README in English](README.md)
- [Lea el README en español](README_es.md)
- [Irakurri README euskaraz](README_eu.md)
- [Lire le README en français](README_fr.md)
- [Le o README en galego](README_gl.md)
- [阅读中文(简体)的 README](README_zh_Hans.md)
+25 -44
View File
@@ -1,63 +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 in 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.
**Shipped version:** 12.2.1~ynh1
## Screenshots
![Screenshot of Technitium DNS](./doc/screenshots/screenshot.png)
## Documentation and resources
## 📦 Developer info
- 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>
[![Automatic tests level](https://apps.yunohost.org/badge/cilevel/technitium-dns)](https://ci-apps.yunohost.org/ci/apps/technitium-dns/)
## Developer info
🛠️ Upstream Technitium DNS repository: <https://github.com/TechnitiumSoftware/DnsServer>
Please send your pull request to the [`testing` branch](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
Pull request are welcome and should target the [`testing` branch](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
To try the `testing` branch, please proceed like that:
The `testing` branch can be tested using:
```
# fresh install:
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing
```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.
-63
View File
@@ -1,63 +0,0 @@
<!--
Este archivo README esta generado automaticamente<https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
No se debe editar a mano.
-->
# 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 funcional](https://ci-apps.yunohost.org/ci/badges/technitium-dns.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/technitium-dns.maintain.svg)
[![Instalar Technitium DNS con Yunhost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=technitium-dns)
*[Leer este README en otros idiomas.](./ALL_README.md)*
> *Este paquete le permite instalarTechnitium DNS rapidamente y simplement en un servidor YunoHost.*
> *Si no tiene YunoHost, visita [the guide](https://yunohost.org/install) para aprender como instalarla.*
## Descripción general
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.
**Versión actual:** 12.2.1~ynh1
## Capturas
![Captura de Technitium DNS](./doc/screenshots/screenshot.png)
## Documentaciones y recursos
- Sitio web oficial: <https://technitium.com/dns/>
- Documentación usuario oficial: <https://technitium.com/dns/help.html>
- Documentación administrador oficial: <https://technitium.com/dns/help.html>
- Repositorio del código fuente oficial de la aplicación : <https://github.com/TechnitiumSoftware/DnsServer>
- Catálogo YunoHost: <https://apps.yunohost.org/app/technitium-dns>
- Reportar un error: <https://github.com/YunoHost-Apps/technitium-dns_ynh/issues>
## Información para desarrolladores
Por favor enviar sus correcciones a la [`branch testing`](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing
Para probar la rama `testing`, sigue asÍ:
```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
```
**Mas informaciones sobre el empaquetado de aplicaciones:** <https://yunohost.org/packaging_apps>
-63
View File
@@ -1,63 +0,0 @@
<!--
Ohart ongi: README hau automatikoki sortu da <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>ri esker
EZ editatu eskuz.
-->
# Technitium DNS YunoHost-erako
[![Integrazio maila](https://dash.yunohost.org/integration/technitium-dns.svg)](https://dash.yunohost.org/appci/app/technitium-dns) ![Funtzionamendu egoera](https://ci-apps.yunohost.org/ci/badges/technitium-dns.status.svg) ![Mantentze egoera](https://ci-apps.yunohost.org/ci/badges/technitium-dns.maintain.svg)
[![Instalatu Technitium DNS YunoHost-ekin](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=technitium-dns)
*[Irakurri README hau beste hizkuntzatan.](./ALL_README.md)*
> *Pakete honek Technitium DNS YunoHost zerbitzari batean azkar eta zailtasunik gabe instalatzea ahalbidetzen dizu.*
> *YunoHost ez baduzu, kontsultatu [gida](https://yunohost.org/install) nola instalatu ikasteko.*
## Aurreikuspena
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.
**Paketatutako bertsioa:** 12.2.1~ynh1
## Pantaila-argazkiak
![Technitium DNS(r)en pantaila-argazkia](./doc/screenshots/screenshot.png)
## Dokumentazioa eta baliabideak
- Aplikazioaren webgune ofiziala: <https://technitium.com/dns/>
- Erabiltzaileen dokumentazio ofiziala: <https://technitium.com/dns/help.html>
- Administratzaileen dokumentazio ofiziala: <https://technitium.com/dns/help.html>
- Jatorrizko aplikazioaren kode-gordailua: <https://github.com/TechnitiumSoftware/DnsServer>
- YunoHost Denda: <https://apps.yunohost.org/app/technitium-dns>
- Eman errore baten berri: <https://github.com/YunoHost-Apps/technitium-dns_ynh/issues>
## Garatzaileentzako informazioa
Bidali `pull request`a [`testing` abarrera](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing).
`testing` abarra probatzeko, ondorengoa egin:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
edo
sudo yunohost app upgrade technitium-dns -u https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
```
**Informazio gehiago aplikazioaren paketatzeari buruz:** <https://yunohost.org/packaging_apps>
-62
View File
@@ -1,62 +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 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.
**Version incluse:** 12.2.1~ynh1
## Captures d’écran
![Capture d’écran de Technitium DNS](./doc/screenshots/screenshot.png)
## 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>
-63
View File
@@ -1,63 +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.
**Versión proporcionada:** 12.2.1~ynh1
## Capturas de pantalla
![Captura de pantalla de Technitium DNS](./doc/screenshots/screenshot.png)
## 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>
-63
View File
@@ -1,63 +0,0 @@
<!--
注意:此 README 由 <https://github.com/YunoHost/apps/tree/master/tools/readme_generator> 自动生成
请勿手动编辑。
-->
# YunoHost 上的 Technitium DNS
[![集成程度](https://dash.yunohost.org/integration/technitium-dns.svg)](https://dash.yunohost.org/appci/app/technitium-dns) ![工作状态](https://ci-apps.yunohost.org/ci/badges/technitium-dns.status.svg) ![维护状态](https://ci-apps.yunohost.org/ci/badges/technitium-dns.maintain.svg)
[![使用 YunoHost 安装 Technitium DNS](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=technitium-dns)
*[阅读此 README 的其它语言版本。](./ALL_README.md)*
> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 Technitium DNS。*
> *如果您还没有 YunoHost,请参阅[指南](https://yunohost.org/install)了解如何安装它。*
## 概况
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.
**分发版本:** 12.2.1~ynh1
## 截图
![Technitium DNS 的截图](./doc/screenshots/screenshot.png)
## 文档与资源
- 官方应用网站: <https://technitium.com/dns/>
- 官方用户文档: <https://technitium.com/dns/help.html>
- 官方管理文档: <https://technitium.com/dns/help.html>
- 上游应用代码库: <https://github.com/TechnitiumSoftware/DnsServer>
- YunoHost 商店: <https://apps.yunohost.org/app/technitium-dns>
- 报告 bug <https://github.com/YunoHost-Apps/technitium-dns_ynh/issues>
## 开发者信息
请向 [`testing` 分支](https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing) 发送拉取请求。
如要尝试 `testing` 分支,请这样操作:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
sudo yunohost app upgrade technitium-dns -u https://github.com/YunoHost-Apps/technitium-dns_ynh/tree/testing --debug
```
**有关应用打包的更多信息:** <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 @@
0,15,30,45 0 * * * ln -sf $(ls -t /var/log/__APP__/dns/*.log | head -n 1) /var/log/__APP__/__APP__.log
-3
View File
@@ -12,7 +12,4 @@ location __PATH__/ {
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
+1
View File
@@ -0,0 +1 @@
After upgrading, you must add your ynh server's local IP address(es) to `DNS Server Local End Points`: https://__DOMAIN__/#settingsTabPaneGeneral and then restart __APP__.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 KiB

After

Width:  |  Height:  |  Size: 214 KiB

+20 -10
View File
@@ -7,7 +7,7 @@ name = "Technitium DNS"
description.en = "DNS server for privacy and security"
description.fr = "Serveur DNS pour la confidentialité et la sécurité"
version = "12.2.1~ynh1"
version = "15.2.0~ynh1"
maintainers = ["Navan Chauhan"]
@@ -21,7 +21,8 @@ cpe = "cpe:2.3:a:technitium:dnsserver"
fund = "https://patreon.com/technitium"
[integration]
yunohost = ">= 11.2"
yunohost = ">= 12.1.18"
helpers_version = "2.1"
architectures = ["amd64", "arm64", "armhf"]
multi_instance = false
@@ -43,27 +44,36 @@ ram.runtime = "50M"
[resources]
[resources.sources.main]
url = "https://download.technitium.com/dns/archive/12.2.1/DnsServerPortable.tar.gz"
sha256 = "8119931c77107331884d445a58a51f7debeea396ae8cb032ce63dffba0d7e8b1"
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/ce31d92b-b514-4f9c-843b-29c466871369/b332eba5641cbc6eed1e3a98480972d2/aspnetcore-runtime-8.0.6-linux-x64.tar.gz"
amd64.sha256 = "d4f8ce14e12aba9ca970c15c1ce09486bffc930fe05d4520678763562ca6b48b"
arm64.url = "https://download.visualstudio.microsoft.com/download/pr/ccdcbb70-a5e9-4753-b6e3-4461ce56a69d/240803fc1ffba38ab3603778c03e9b87/aspnetcore-runtime-8.0.6-linux-arm64.tar.gz"
arm64.sha256 = "2d03221eb786ad84b865aa5eca84ad79bb2e8cde57e96cac9e0c4edaaec14c0f"
armhf.url = "https://download.visualstudio.microsoft.com/download/pr/c27a9707-8627-43d3-837e-fa144bab2984/40f243e656752b87ff033e568d49b510/aspnetcore-runtime-8.0.6-linux-arm.tar.gz"
armhf.sha256 = "b621a6cee65890a123bbf6282fc23190a8abe12af76279a1aa799b0e82f814bf"
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 = "/"
-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"
+55 -21
View File
@@ -4,49 +4,83 @@
# 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"
#=================================================
# 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 -11
View File
@@ -4,32 +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_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"