Name: technitiumdnsserver Version: 13.2 Release: 1%{?dist} Summary: Self host a DNS server for privacy & security Group: Applications/System License: MIT license URL: https://technitium.com/dns/ %undefine _disable_source_fetch Source0: https://github.com/TechnitiumSoftware/TechnitiumLibrary/archive/refs/tags/dns-server-v%{version}.tar.gz #Source1: https://github.com/TechnitiumSoftware/DnsServer/archive/refs/tags/v%{version}.tar.gz Source1: https://github.com/TechnitiumSoftware/DnsServer/archive/bd641bc058761f60001f35edc62c53be4d62f97e.tar.gz %define debug_package %nil BuildRequires: dotnet-sdk-8.0 Requires: aspnetcore-runtime-8.0 = 8.0.11 %description Technitium DNS Server is an open source authoritative as well as recursive DNS server that can be used for self hosting a DNS server for privacy & security. It works out-of-the-box with no or minimal configuration and provides a user friendly web console accessible using any modern web browser. Nobody really bothers about domain name resolution since it works automatically behind the scenes and is complex to understand. Most computer software use the operating system's DNS resolver that usually query the configured ISP's DNS server using UDP protocol. This way works well for most people but, your ISP can see and control what website you can visit even when the website employ HTTPS security. Not only that, some ISPs can redirect, block or inject content into websites you visit even when you use a different DNS provider like Google DNS or Cloudflare DNS. Having Technitium DNS Server configured to use DNS-over-TLS⁠, DNS-over-HTTPS⁠, or DNS-over-QUIC⁠ forwarders, these privacy & security issues can be mitigated very effectively. Be it a home network or an organization's network, having a locally running DNS server gives you more insights into your network and helps to understand it better using the DNS logs and stats. It improves overall performance since most queries are served from the DNS cache making web sites load faster by not having to wait for frequent DNS resolutions. It also gives you an additional control over your network allowing you to block domain names network wide and also allows you to route your DNS traffic securely using encrypted DNS protocols. %prep #%setup -q -n aria2-release-%{version} mkdir -p technitiumdnsserver cd technitiumdnsserver mkdir TechnitiumLibrary mkdir DnsServer tar -xvf %{_sourcedir}/dns-server-v%{version}.tar.gz --strip-components=1 --directory TechnitiumLibrary #tar -xvf %{_sourcedir}/v%{version}.tar.gz --strip-components=1 --directory DnsServer tar -xvf %{_sourcedir}/bd641bc058761f60001f35edc62c53be4d62f97e.tar.gz --strip-components=1 --directory DnsServer %build cd technitiumdnsserver dotnet build TechnitiumLibrary/TechnitiumLibrary.ByteTree/TechnitiumLibrary.ByteTree.csproj -c Release dotnet build TechnitiumLibrary/TechnitiumLibrary.Net/TechnitiumLibrary.Net.csproj -c Release dotnet publish DnsServer/DnsServerApp/DnsServerApp.csproj -c Release %install cd technitiumdnsserver mkdir -p $RPM_BUILD_ROOT/opt/technitium/dns mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/system mkdir -p $RPM_BUILD_ROOT/run/technitium/dhcp mkdir -p $RPM_BUILD_ROOT/var/log/technitium/dhcp mkdir -p $RPM_BUILD_ROOT/var/log/technitium/stats #/opt/technitium/dns/data/scopes cp -r DnsServer/DnsServerApp/bin/Release/publish/* $RPM_BUILD_ROOT/opt/technitium/dns rm -rf $RPM_BUILD_ROOT/opt/technitium/dns/systemd.service cat >$RPM_BUILD_ROOT/usr/lib/systemd/system/dns.service</dev/null || groupadd -r dns getent passwd dns >/dev/null || useradd -s /sbin/nologin -g dns -r -b '/opt/technitium/dns' -d '/opt/technitium/dns' -M -c 'Self host a DNS server for privacy & security' dns %post if [ $1 == 1 ];then echo "-------------------------------------------------------" echo "Install Sucessful" echo "To Enable the service: systemctl enable dns.service" echo "To Start the service: systemctl start dns.service" echo "Install Path: /opt/technitium/dns/ echo "Data Path: /opt/technitium/dns/data echo "--------------------------------------------------------" fi #%postun #%systemd_postun %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %files /usr/lib/systemd/system/dns.service /opt/technitium/dns/DnsServerApp /opt/technitium/dns/DnsServerApp.deps.json /opt/technitium/dns/DnsServerApp.dll /opt/technitium/dns/DnsServerApp.pdb /opt/technitium/dns/DnsServerApp.runtimeconfig.json /opt/technitium/dns/DnsServerCore.ApplicationCommon.dll /opt/technitium/dns/DnsServerCore.ApplicationCommon.pdb /opt/technitium/dns/DnsServerCore.dll /opt/technitium/dns/DnsServerCore.pdb /opt/technitium/dns/TechnitiumLibrary.ByteTree.dll /opt/technitium/dns/TechnitiumLibrary.ByteTree.pdb /opt/technitium/dns/TechnitiumLibrary.IO.dll /opt/technitium/dns/TechnitiumLibrary.IO.pdb /opt/technitium/dns/TechnitiumLibrary.Net.dll /opt/technitium/dns/TechnitiumLibrary.Net.pdb /opt/technitium/dns/TechnitiumLibrary.dll /opt/technitium/dns/TechnitiumLibrary.pdb /opt/technitium/dns/dohwww/css/bootstrap.min.css /opt/technitium/dns/dohwww/css/bootstrap.min.css.map /opt/technitium/dns/dohwww/css/main.css /opt/technitium/dns/dohwww/favicon.ico /opt/technitium/dns/dohwww/img/firefox-doh.png /opt/technitium/dns/dohwww/img/logo.png /opt/technitium/dns/dohwww/index.html /opt/technitium/dns/dohwww/js/jquery.min.js /opt/technitium/dns/dohwww/js/main.js /opt/technitium/dns/dohwww/robots.txt /opt/technitium/dns/named.root /opt/technitium/dns/root-anchors.xml /opt/technitium/dns/start.bat /opt/technitium/dns/start.sh /opt/technitium/dns/www/css/bootstrap.min.css /opt/technitium/dns/www/css/bootstrap.min.css.map /opt/technitium/dns/www/css/font-awesome.min.css /opt/technitium/dns/www/css/main.css /opt/technitium/dns/www/favicon.ico /opt/technitium/dns/www/fonts/FontAwesome.otf /opt/technitium/dns/www/fonts/fontawesome-webfont.eot /opt/technitium/dns/www/fonts/fontawesome-webfont.svg /opt/technitium/dns/www/fonts/fontawesome-webfont.ttf /opt/technitium/dns/www/fonts/fontawesome-webfont.woff /opt/technitium/dns/www/fonts/fontawesome-webfont.woff2 /opt/technitium/dns/www/fonts/glyphicons-halflings-regular.eot /opt/technitium/dns/www/fonts/glyphicons-halflings-regular.svg /opt/technitium/dns/www/fonts/glyphicons-halflings-regular.ttf /opt/technitium/dns/www/fonts/glyphicons-halflings-regular.woff /opt/technitium/dns/www/fonts/glyphicons-halflings-regular.woff2 /opt/technitium/dns/www/img/loader-small.gif /opt/technitium/dns/www/img/loader.gif /opt/technitium/dns/www/img/logo.png /opt/technitium/dns/www/img/logo25x25.png /opt/technitium/dns/www/index.html /opt/technitium/dns/www/js/Chart.min.js /opt/technitium/dns/www/js/apps.js /opt/technitium/dns/www/js/auth.js /opt/technitium/dns/www/js/bootstrap.min.js /opt/technitium/dns/www/js/common.js /opt/technitium/dns/www/js/dhcp.js /opt/technitium/dns/www/js/jquery.min.js /opt/technitium/dns/www/js/logs.js /opt/technitium/dns/www/js/main.js /opt/technitium/dns/www/js/moment.min.js /opt/technitium/dns/www/js/other-zones.js /opt/technitium/dns/www/js/zone.js /opt/technitium/dns/www/robots.txt