Compare commits
61 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3cf985f240 | |||
| 5a92cfa3b0 | |||
| e93a4d7623 | |||
| 4ac9eba0de | |||
| 97fb4248d9 | |||
| 41db53fe0c | |||
| 38bac532aa | |||
| 2a365886e2 | |||
| c81dbef6fe | |||
| 082d01d5dd | |||
| 76a5fcc951 | |||
| 8f50f5c5c0 | |||
| 1d625c7a0c | |||
| 84c3f7ab1a | |||
| 4f54fdaf43 | |||
| 40e2c40d1c | |||
| 251cfb6975 | |||
| efee1e5c05 | |||
| 4f74409542 | |||
| c84cece0bd | |||
| 03e90c9381 | |||
| ccf06c46ab | |||
| 8b4d40c877 | |||
| 1761677be4 | |||
| ac5b49d846 | |||
| 8567147fbc | |||
| 1205a5c6bc | |||
| 1a4de3a5d9 | |||
| 91ce9211f2 | |||
| 6eea8934c0 | |||
| a4d0de3447 | |||
| b3e89c69a4 | |||
| dd39208bb1 | |||
| b4c764eef4 | |||
| f36e59d5eb | |||
| ea52ada4b7 | |||
| fa2ba2ae89 | |||
| 7e0b262893 | |||
| 57dba8793f | |||
| 5d41c130e0 | |||
| 65b7261b08 | |||
| 1c9006325f | |||
| e15abca524 | |||
| f0fe8a8a47 | |||
| fc23a6a064 | |||
| 9651cf48f8 | |||
| 11843bfcca | |||
| b5860f330b | |||
| 3b4d88c124 | |||
| 9e74e08845 | |||
| 53b36a9cc7 | |||
| 4a736636dd | |||
| 5c31b7a602 | |||
| 164afcc359 | |||
| 6d9dbda379 | |||
| 19ca365a66 | |||
| f20d6449b3 | |||
| b4999ea706 | |||
| e4daa2a53f | |||
| 56dd175ccf | |||
| f3eb54b2ea |
@@ -1,2 +1,5 @@
|
||||
*~
|
||||
*.sw[op]
|
||||
'*~'
|
||||
'*.sw[op]'
|
||||
'.DS_Store'
|
||||
|
||||
@@ -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)
|
||||
@@ -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>
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/technitium-dns)  
|
||||
DNS server for privacy and security
|
||||
|
||||
[](https://install-app.yunohost.org/?app=technitium-dns)
|
||||
[](https://technitium.com/dns/)
|
||||
[?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
|
||||
|
||||

|
||||
|
||||
## 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>
|
||||
[](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.
|
||||
@@ -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
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/technitium-dns)  
|
||||
|
||||
[](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
|
||||
|
||||

|
||||
|
||||
## 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>
|
||||
@@ -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
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/technitium-dns)  
|
||||
|
||||
[](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
|
||||
|
||||

|
||||
|
||||
## 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>
|
||||
@@ -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
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/technitium-dns)  
|
||||
|
||||
[](https://install-app.yunohost.org/?app=technitium-dns)
|
||||
|
||||
*[Lire le README dans d'autres langues.](./ALL_README.md)*
|
||||
|
||||
> *Ce package vous permet d’installer Technitium DNS rapidement et simplement sur un serveur YunoHost.*
|
||||
> *Si vous n’avez pas YunoHost, consultez [ce guide](https://yunohost.org/install) pour savoir comment l’installer et en profiter.*
|
||||
|
||||
## Vue d’ensemble
|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
## Documentations et ressources
|
||||
|
||||
- Site officiel de l’app : <https://technitium.com/dns/>
|
||||
- Documentation officielle utilisateur : <https://technitium.com/dns/help.html>
|
||||
- Documentation officielle de l’admin : <https://technitium.com/dns/help.html>
|
||||
- Dépôt de code officiel de l’app : <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 d’infos sur le packaging d’applications :** <https://yunohost.org/packaging_apps>
|
||||
@@ -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
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/technitium-dns)  
|
||||
|
||||
[](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
|
||||
|
||||

|
||||
|
||||
## 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>
|
||||
@@ -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
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/technitium-dns)  
|
||||
|
||||
[](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
|
||||
|
||||

|
||||
|
||||
## Documentazione e risorse
|
||||
|
||||
- Sito web ufficiale dell’app: <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 dell’app: <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 quest’app:** <https://yunohost.org/packaging_apps>
|
||||
@@ -1,63 +0,0 @@
|
||||
<!--
|
||||
注意:此 README 由 <https://github.com/YunoHost/apps/tree/master/tools/readme_generator> 自动生成
|
||||
请勿手动编辑。
|
||||
-->
|
||||
|
||||
# YunoHost 上的 Technitium DNS
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/technitium-dns)  
|
||||
|
||||
[](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
|
||||
|
||||
## 截图
|
||||
|
||||

|
||||
|
||||
## 文档与资源
|
||||
|
||||
- 官方应用网站: <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>
|
||||
@@ -0,0 +1,2 @@
|
||||
listen-address=127.0.0.1
|
||||
bind-interfaces
|
||||
@@ -0,0 +1 @@
|
||||
5 0 * * * ln -sf $(ls -t /var/log/__APP__/dns/*.log | head -n 1) /var/log/__APP__/__APP__.log
|
||||
+2
-12
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 489 KiB After Width: | Height: | Size: 214 KiB |
+21
-10
@@ -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.38"
|
||||
helpers_version = "2.1"
|
||||
architectures = ["amd64", "arm64", "armhf"]
|
||||
multi_instance = false
|
||||
|
||||
@@ -43,30 +44,40 @@ 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 = "/"
|
||||
main.auth_header = false
|
||||
|
||||
[resources.ports]
|
||||
main.default = 5380
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# COMMON VARIABLES
|
||||
#=================================================
|
||||
|
||||
#=================================================
|
||||
# PERSONAL HELPERS
|
||||
#=================================================
|
||||
|
||||
#=================================================
|
||||
# EXPERIMENTAL HELPERS
|
||||
#=================================================
|
||||
|
||||
#=================================================
|
||||
# FUTURE OFFICIAL HELPERS
|
||||
#=================================================
|
||||
+7
-18
@@ -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
@@ -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
@@ -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
-11
@@ -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
@@ -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
@@ -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
@@ -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"
|
||||
Reference in New Issue
Block a user