68 Commits

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

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

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

* Auto-update READMEs

* Update manifest.toml (#49)

* Update manifest.toml

* Bump ASP.net core to 9.0

---------

Co-authored-by: orhtej2 <2871798+orhtej2@users.noreply.github.com>
2025-12-30 13:17:18 +01:00
eric_G 1a4de3a5d9 Update screenshot.png 2025-11-21 16:02:58 +01:00
eric_G 91ce9211f2 cleaning 2025-11-21 15:58:59 +01:00
Thomas 6eea8934c0 Merge pull request #42 from YunoHost-Apps/testing
Testing
2025-10-05 15:51:39 +02:00
yunohost-bot a4d0de3447 Auto-update READMEs 2025-10-05 15:51:34 +02:00
yunohost-bot b3e89c69a4 Bump package revision 2025-10-05 15:51:34 +02:00
yunohost-bot dd39208bb1 Auto-update READMEs 2025-10-05 15:51:10 +02:00
Thomas b4c764eef4 Merge pull request #41 from Thovi98/helpers2.1
convert to helpers2.1
2025-10-05 15:51:07 +02:00
Thomas f36e59d5eb convert to helpers2.1 2025-09-18 11:59:20 +02:00
eric_G ea52ada4b7 Merge pull request #39 from YunoHost-Apps/testing
Testing
2025-05-02 22:29:11 +02:00
eric_G fa2ba2ae89 Merge pull request #38 from YunoHost-Apps/ci-auto-update-13.6.0
Upgrade to v13.6.0
2025-05-02 22:28:56 +02:00
yalh76 7e0b262893 Update manifest.toml 2025-04-29 22:16:31 +02:00
yunohost-bot 57dba8793f Auto-update READMEs 2025-04-27 00:22:04 +02:00
yunohost-bot 5d41c130e0 Upgrade sources
- `main` v13.6.0: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.6.0
2025-04-27 00:22:03 +02:00
yalh76 65b7261b08 Merge pull request #37 from YunoHost-Apps/testing
Upgrade to v13.5.0
2025-04-10 01:45:17 +02:00
yunohost-bot 1c9006325f Auto-update READMEs 2025-04-09 17:31:28 +02:00
yalh76 e15abca524 Merge pull request #36 from YunoHost-Apps/ci-auto-update-13.5.0
Upgrade to v13.5.0
2025-04-09 17:31:16 +02:00
yalh76 f0fe8a8a47 Update manifest.toml 2025-04-08 03:37:19 +02:00
yunohost-bot fc23a6a064 Upgrade sources
- `main` v13.5.0: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.5.0
2025-04-08 00:20:49 +02:00
yalh76 9651cf48f8 Merge pull request #35 from YunoHost-Apps/testing
Upgrade to v13.4.3
2025-02-24 23:05:41 +01:00
yalh76 11843bfcca Merge pull request #34 from YunoHost-Apps/ci-auto-update-13.4.3
Upgrade to v13.4.3
2025-02-24 20:52:44 +01:00
yalh76 b5860f330b Update manifest.toml 2025-02-24 04:12:40 +01:00
yunohost-bot 3b4d88c124 Auto-update READMEs 2025-02-24 00:22:59 +01:00
yunohost-bot 9e74e08845 Upgrade sources
- `main` v13.4.3: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.4.3
2025-02-24 00:22:53 +01:00
yalh76 53b36a9cc7 Merge pull request #33 from YunoHost-Apps/testing
Upgrade to v13.4.2
2025-02-16 20:05:30 +01:00
yalh76 4a736636dd Merge pull request #32 from YunoHost-Apps/ci-auto-update-13.4.2
Upgrade to v13.4.2
2025-02-16 18:58:47 +01:00
yalh76 5c31b7a602 Update tests.toml 2025-02-16 16:17:38 +01:00
yalh76 164afcc359 Update manifest.toml 2025-02-16 16:15:34 +01:00
yunohost-bot 6d9dbda379 Auto-update READMEs 2025-02-16 00:18:02 +01:00
yunohost-bot 19ca365a66 Upgrade sources
- `main` v13.4.2: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.4.2
2025-02-16 00:17:59 +01:00
yalh76 f20d6449b3 Merge pull request #31 from YunoHost-Apps/testing
Upgrade to v13.4.1
2025-02-12 23:58:56 +01:00
yalh76 b4999ea706 Merge pull request #30 from YunoHost-Apps/ci-auto-update-13.4.1
Upgrade to v13.4.1
2025-02-12 23:36:30 +01:00
yalh76 e4daa2a53f Update manifest.toml 2025-02-12 22:05:28 +01:00
yunohost-bot 56dd175ccf Auto-update READMEs 2025-02-03 00:22:41 +01:00
yunohost-bot f3eb54b2ea Upgrade sources
- `main` v13.4.1: https://github.com/TechnitiumSoftware/DnsServer/releases/tag/13.4.1
2025-02-03 00:22:24 +01:00
eric_G a8c7dc3136 Merge pull request #17 from YunoHost-Apps/testing
Testing
2024-06-24 18:00:56 +02:00
eric_G 47b395b7ee Merge pull request #15 from YunoHost-Apps/ci-auto-update-12.2.1
Upgrade to v12.2.1
2024-06-24 17:07:37 +02:00
eric_G 7aa327b160 Merge pull request #16 from yunohost-bot/delete-log-removal
[autopatch] Do not delete logs on app removal
2024-06-24 17:07:25 +02:00
Félix Piédallu ebd3dc99f6 Set autoupdate.needs_manual_tweaks = true 2024-06-19 20:13:43 +02:00
Félix Piédallu dcb8a049c0 Fix asset url 2024-06-19 20:13:37 +02:00
yunohost-bot 08a802b328 Auto-update READMEs 2024-06-16 01:46:58 +00:00
yunohost-bot b03b560b3c Upgrade to v12.2.1 2024-06-16 03:46:56 +02:00
24 changed files with 217 additions and 572 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.1.0~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.1.0~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.1.0~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.1.0~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.1.0~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.1.0~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 @@
5 0 * * * ln -sf $(ls -t /var/log/__APP__/dns/*.log | head -n 1) /var/log/__APP__/__APP__.log
+2 -12
View File
@@ -2,17 +2,7 @@
location __PATH__/ {
proxy_pass http://127.0.0.1:__PORT__;
include proxy_params_no_auth;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Include SSOWAT user panel.
include conf.d/yunohost_panel.conf.inc;
}
+3 -1
View File
@@ -9,10 +9,12 @@ Group=__APP__
WorkingDirectory=__INSTALL_DIR__/sources/
ExecStart=__INSTALL_DIR__/dotnet/dotnet __INSTALL_DIR__/sources/DnsServerApp.dll __DATA_DIR__
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dns-server
Environment=DNS_SERVER_LOG_FOLDER_PATH=/var/log/__APP__/dns
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
+9
View File
@@ -0,0 +1,9 @@
After upgrading, in `Settings` > `General` you must set `DNS Server Local End Points` to your ynh server's IP address(es) and then scroll to the bottom and `Save Settings` to restart the DNS server.
eg:
```
192.168.0.88:53
[2981:2cb2:8e86:91f6:4dab:cc4b:2fba:463b]:53
```
If your server does not have an IPv6 address, you only need to enter the IPv4 address.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 KiB

After

Width:  |  Height:  |  Size: 214 KiB

+22 -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.1.0~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,29 +44,40 @@ ram.runtime = "50M"
[resources]
[resources.sources.main]
url = "https://download.technitium.com/dns/archive/12.1/DnsServerPortable.tar.gz"
sha256 = "1b4336c6e601640dd75d768fb38a4bac99b300c6d52618aa21202fb82c37899a"
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
-17
View File
@@ -1,17 +0,0 @@
#!/bin/bash
#=================================================
# COMMON VARIABLES
#=================================================
#=================================================
# PERSONAL HELPERS
#=================================================
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
#=================================================
# FUTURE OFFICIAL HELPERS
#=================================================
+7 -18
View File
@@ -4,45 +4,34 @@
# IMPORT GENERIC HELPERS
#=================================================
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
#=================================================
# DECLARE DATA AND CONF FILES TO BACKUP
#=================================================
ynh_print_info --message="Declaring files to be backed up..."
ynh_print_info "Declaring files to be backed up..."
#=================================================
# BACKUP THE APP MAIN DIR
#=================================================
ynh_backup --src_path="$install_dir"
ynh_backup "$install_dir"
#=================================================
# BACKUP THE DATA DIR
#=================================================
ynh_backup --src_path="$data_dir" --is_big
ynh_backup "$data_dir"
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup --src_path="/etc/logrotate.d/$app"
ynh_backup --src_path="/etc/systemd/system/$app.service"
ynh_backup "/etc/systemd/system/$app.service"
#=================================================
# BACKUP VARIOUS FILES
#=================================================
ynh_backup --src_path="/var/log/$app/"
ynh_backup "/var/log/$app"
#=================================================
# END OF SCRIPT
#=================================================
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
+7 -8
View File
@@ -4,32 +4,31 @@
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Stopping $app's systemd service..." --weight=1
ynh_script_progression "Stopping $app's systemd service..."
ynh_systemd_action --service_name="$app" --action="stop" --log_path="/var/log/$app/$app.log"
ynh_systemctl --service="$app" --action="stop" --log_path=systemd --wait_until="was stopped successfully"
#=================================================
# MODIFY URL IN NGINX CONF
#=================================================
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1
ynh_script_progression "Updating NGINX web server configuration..."
ynh_change_url_nginx_config
ynh_config_change_url_nginx
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
ynh_script_progression "Starting $app's systemd service..."
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
ynh_systemctl --service="$app" --action="start" --log_path=systemd --wait_until="was started successfully"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Change of URL completed for $app" --last
ynh_script_progression "Change of URL completed for $app"
+56 -21
View File
@@ -4,49 +4,84 @@
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..." --weight=1
ynh_script_progression "Setting up source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir/sources"
ynh_setup_source --source_id="prebuilt" --dest_dir="$install_dir/sources"
ynh_setup_source --source_id="dotnet" --dest_dir="$install_dir/dotnet"
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"
chmod -R o-rwx "$data_dir"
chown -R "$app:www-data" "$data_dir"
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
ynh_script_progression "Adding system configurations related to $app..."
# Create a dedicated NGINX config
ynh_add_nginx_config
ynh_config_add_nginx
ynh_config_add_systemd
mkdir -p "/var/log/$app/dns"
chown -R "$app:$app" "/var/log/$app"
ynh_hide_warnings yunohost firewall allow Both 53
# Create a dedicated systemd config
ynh_add_systemd_config
yunohost service add "$app" --description="Technitium DNS Server" --log="/var/log/$app/$app.log" --needs_exposed_ports="53"
# Use logrotate to manage application logfile(s)
ynh_use_logrotate
ynh_config_add --template="dnsmasq.conf" --destination="/etc/dnsmasq.d/$app.conf"
ynh_systemctl --service="dnsmasq" --action="restart"
#=================================================
# ADD A CRON JOB
#=================================================
ynh_config_add --template="logsymlink.cron" --destination="/etc/cron.d/$app"
chmod 644 "/etc/cron.d/$app"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting $app's systemd service..." --weight=1
ynh_systemctl --service="$app" --action="start" --log_path=systemd --wait_until="was started successfully"
# Start a systemd service
ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/$app.log"
#=================================================
# LINK LOGS
#=================================================
ln -sf $(ls -t /var/log/$app/dns/*.log | head -n 1) /var/log/$app/$app.log
#=================================================
# SET LOCAL ENDPOINT IP(S)
#=================================================
gateway_v4=$(ip -4 route show default | awk '{print $3}' | head -n1)
ipv4=$(ip -4 route get "$gateway_v4" 2>/dev/null | grep -oP 'src \K\S+')
gateway_v6=$(ip -6 route show default | awk '{print $3}' | head -n1)
if [ -n "$gateway_v6" ]; then
ipv6=$(ip -6 route get "$gateway_v6" 2>/dev/null | grep -oP 'src \K\S+' | grep -v '^fe80' || true)
else
ipv6=""
fi
if [ -n "$ipv6" ]; then
endpoints="$ipv4:53,[$ipv6]:53"
else
endpoints="$ipv4:53"
fi
mytoken1=$(curl -s "http://127.0.0.1:5380/api/user/createToken?user=admin&pass=admin&tokenName=mytoken1" | jq -r '.token')
curl -s "http://localhost:5380/api/settings/set?dnsServerLocalEndPoints=$endpoints&token=$mytoken1"
curl -s "http://localhost:5380/api/settings/set?dnsServerDomain=$domain&token=$mytoken1"
#=================================================
# RESTART SYSTEMD SERVICE
#=================================================
ynh_script_progression "Starting $app's systemd service..."
ynh_systemctl --service="$app" --action="restart" --log_path=systemd --wait_until="was started successfully"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression --message="Installation of $app completed" --last
ynh_script_progression "Installation of $app completed"
+9 -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"