From 9b4e72ddb8f8790b762b08b4ce11cb415326393c Mon Sep 17 00:00:00 2001 From: Stan Grishin Date: Tue, 29 Aug 2023 18:42:10 +0000 Subject: [PATCH] luci-app-https-dns-proxy: rewrite in javascript Signed-off-by: Stan Grishin (cherry picked from commit 6df7b92a50485d7a7c61c38c5abeaf96ad69a28c) --- .../luci-app-https-dns-proxy/Makefile | 4 +- .../resources/https-dns-proxy/status.js | 436 +++++++++++++++++ .../view/https-dns-proxy/overview.js | 383 +++++++++++++++ .../luasrc/controller/https-dns-proxy.lua | 27 - .../providers.disabled/ca.dnscrypt.dns1.lua | 8 - .../providers.disabled/ca.dnscrypt.dns2.lua | 8 - .../providers/app.tiar.doh.lua | 8 - .../https-dns-proxy/providers/app.tiar.jp.lua | 8 - .../ca.cira.canadianshield.family.lua | 8 - .../ca.cira.canadianshield.private.lua | 8 - .../ca.cira.canadianshield.protected.lua | 8 - .../ch.digitale-gesellschaft.dns.lua | 9 - .../providers/ch.switch.dns.lua | 8 - .../https-dns-proxy/providers/cn.360.doh.lua | 6 - .../providers/cn.edu.tsinghua.tuna.dns.lua | 6 - .../providers/cn.rubyfish.dns.lua | 7 - .../https-dns-proxy/providers/co.osxz.dns.lua | 8 - .../providers/com.ahadns.blitz.lua | 8 - .../providers/com.alidns.dns.lua | 8 - .../providers/com.blahdns.doh-ch.lua | 8 - .../providers/com.blahdns.doh-de.lua | 8 - .../providers/com.blahdns.doh-fi.lua | 8 - .../providers/com.blahdns.doh-jp.lua | 8 - .../providers/com.blahdns.doh-sg.lua | 8 - .../providers/com.cloudflare-dns.family.lua | 8 - .../providers/com.cloudflare-dns.lua | 9 - .../providers/com.cloudflare-dns.security.lua | 8 - .../providers/com.controld.freedns.family.lua | 8 - ...om.controld.freedns.malware-ads-social.lua | 8 - .../com.controld.freedns.malware-ads.lua | 8 - .../com.controld.freedns.malware.lua | 8 - .../providers/com.controld.freedns.p0.lua | 8 - .../providers/com.controld.freedns.p1.lua | 8 - .../providers/com.controld.freedns.p2.lua | 8 - .../providers/com.controld.freedns.p3.lua | 8 - .../com.controld.freedns.unfiltered.lua | 8 - .../providers/com.decloudus.dns.lua | 8 - .../providers/com.dnsforfamily.dns-doh.lua | 8 - .../providers/com.dnslify.doh.lua | 8 - .../providers/com.opendns.doh.lua | 8 - .../com.opendns.familyshield.doh.lua | 8 - .../providers/com.pumplex.dns.lua | 8 - .../providers/com.rethinkdns.basic.lua | 8 - .../https-dns-proxy/providers/cz.nic.odvr.lua | 8 - .../https-dns-proxy/providers/de.dnsforge.lua | 8 - .../providers/fi.lelux.resolver-eu.lua | 8 - .../https-dns-proxy/providers/google.dns.lua | 6 - .../providers/gr.libredns.doh-ads.lua | 8 - .../providers/gr.libredns.doh.lua | 8 - .../providers/io.adguard-dns.dns-family.lua | 8 - .../io.adguard-dns.dns-nonfiltering.lua | 8 - .../providers/io.adguard-dns.dns.lua | 8 - .../providers/io.nextdns.dns.lua | 8 - .../providers/io.seby.doh-2.lua | 8 - .../providers/jp.iij.dns.public.lua | 8 - .../providers/lu.restena.kaitain.lua | 8 - .../providers/net.ahadns.au.doh.lua | 8 - .../providers/net.ahadns.chi.doh.lua | 8 - .../providers/net.ahadns.es.doh.lua | 8 - .../providers/net.ahadns.in.doh.lua | 8 - .../providers/net.ahadns.it.doh.lua | 8 - .../providers/net.ahadns.la.doh.lua | 8 - .../providers/net.ahadns.nl.doh.lua | 8 - .../providers/net.ahadns.no.doh.lua | 8 - .../providers/net.ahadns.ny.doh.lua | 8 - .../providers/net.ahadns.pl.doh.lua | 8 - .../providers/net.applied-privacy.lua | 8 - .../providers/net.cfiec.dns.lua | 6 - .../providers/net.ffmuc.doh.lua | 8 - .../providers/net.he.ordns.lua | 8 - .../providers/net.idnet.doh.lua | 6 - .../providers/net.mullvad.doh.adblocker.lua | 9 - .../providers/net.mullvad.doh.lua | 9 - .../providers/net.quad9.dns.lua | 8 - .../providers/net.quad9.dns10.lua | 8 - .../providers/net.quad9.dns11.lua | 8 - .../providers/net.quad9.dns9.lua | 8 - .../providers/one.comss.dns.lua | 6 - .../providers/one.comss.east.dns.lua | 6 - .../providers/org.cleanbrowsing.doh-adult.lua | 8 - .../org.cleanbrowsing.doh-family.lua | 8 - .../org.cleanbrowsing.doh-security.lua | 8 - .../providers/org.snopyta.dns.doh.fi.lua | 8 - .../https-dns-proxy/providers/pub.doh.lua | 8 - .../https-dns-proxy/providers/sb.dns.lua | 9 - .../providers/tw.twnic.dns.lua | 8 - .../luasrc/model/cbi/https-dns-proxy.lua | 212 -------- .../luasrc/view/https-dns-proxy/buttons.htm | 75 --- .../luasrc/view/https-dns-proxy/css.htm | 9 - .../luasrc/view/https-dns-proxy/js.htm | 60 --- .../view/https-dns-proxy/status-textarea.htm | 13 - .../luasrc/view/https-dns-proxy/status.htm | 12 - .../po/templates/https-dns-proxy.pot | 463 +++++------------- .../usr/libexec/rpcd/luci.https-dns-proxy | 206 ++++++++ .../providers/app.tiarap.doh.json | 24 + .../providers/ca.cira.canadianshield.json | 28 ++ .../ch.digitale-gesellschaft.dns.json | 7 + .../providers/ch.switch.dns.json | 6 + .../https-dns-proxy/providers/cn.360.doh.json | 5 + .../providers/cn.rubyfish.dns.json | 6 + .../providers/co.oszx.dns.json | 24 + .../providers/com.adguard.dns.json | 24 + .../providers/com.ahadns.blitz.json | 13 + .../providers/com.alidns.dns.json | 5 + .../providers/com.blahdns.doh.json | 36 ++ .../providers/com.cloudflare-dns.json | 28 ++ .../providers/com.controld.freedns.json | 36 ++ .../providers/com.decloudus.dns.json | 6 + .../providers/com.dnsforfamily.dns-doh.json | 6 + .../providers/com.dnslify.doh.json | 6 + .../providers/com.opendns.doh.json | 24 + .../providers/com.rethinkdns.sky.json | 13 + .../providers/cz.nic.odvr.json | 5 + .../providers/de.dnsforge.json | 6 + .../providers/fi.lelux.resolver-eu.json | 6 + .../https-dns-proxy/providers/google.dns.json | 6 + .../providers/gr.libredns.doh.json | 24 + .../providers/io.nextdns.dns.json | 13 + .../providers/io.seby.doh-2.json | 6 + .../providers/jp.iij.dns.public.json | 6 + .../providers/lu.restena.kaitain.json | 7 + .../providers/net.ahadns.doh.json | 56 +++ .../providers/net.applied-privacy.doh.json | 6 + .../providers/net.cfiec.dns.json | 5 + .../providers/net.ffmuc.doh.json | 6 + .../providers/net.he.ordns.json | 6 + .../providers/net.idnet.doh.json | 5 + .../providers/net.mullvad.doh.json | 25 + .../https-dns-proxy/providers/net.quad9.json | 32 ++ .../providers/one.comss.dns.json | 23 + .../providers/org.cleanbrowsing.doh.json | 28 ++ .../providers/org.snopyta.dns.doh.fi.json | 6 + .../https-dns-proxy/providers/pub.doh.json | 5 + .../https-dns-proxy/providers/sb.dns.json | 7 + .../providers/tw.twnic.dns.json | 6 + .../luci/menu.d/luci-app-https-dns-proxy.json | 15 + .../rpcd/acl.d/luci-app-https-dns-proxy.json | 27 +- 137 files changed, 1763 insertions(+), 1417 deletions(-) create mode 100644 applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js create mode 100644 applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns1.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns2.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.jp.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.family.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.private.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.protected.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.switch.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.360.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.edu.tsinghua.tuna.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.rubyfish.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/co.osxz.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.ahadns.blitz.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.alidns.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-ch.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-de.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-fi.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-jp.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-sg.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.family.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.security.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.family.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads-social.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p0.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p1.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p2.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p3.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.unfiltered.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.decloudus.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnsforfamily.dns-doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnslify.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.familyshield.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.pumplex.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.rethinkdns.basic.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/de.dnsforge.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/fi.lelux.resolver-eu.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-family.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-nonfiltering.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.nextdns.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.seby.doh-2.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/jp.iij.dns.public.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/lu.restena.kaitain.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.au.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.chi.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.es.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.in.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.it.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.la.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.nl.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.no.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.ny.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.pl.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.applied-privacy.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ffmuc.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.he.ordns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.idnet.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.adblocker.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.east.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.snopyta.dns.doh.fi.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/pub.doh.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/sb.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/tw.twnic.dns.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm delete mode 100644 applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm create mode 100755 applications/luci-app-https-dns-proxy/root/usr/libexec/rpcd/luci.https-dns-proxy create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.switch.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.360.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.rubyfish.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.ahadns.blitz.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.alidns.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.decloudus.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnsforfamily.dns-doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnslify.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.rethinkdns.sky.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cz.nic.odvr.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/de.dnsforge.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/fi.lelux.resolver-eu.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/google.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.nextdns.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.seby.doh-2.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/jp.iij.dns.public.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/lu.restena.kaitain.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.applied-privacy.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.cfiec.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ffmuc.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.he.ordns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.idnet.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.snopyta.dns.doh.fi.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/pub.doh.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/sb.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/tw.twnic.dns.json create mode 100644 applications/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json diff --git a/applications/luci-app-https-dns-proxy/Makefile b/applications/luci-app-https-dns-proxy/Makefile index 6661542eae..4ed8b88163 100644 --- a/applications/luci-app-https-dns-proxy/Makefile +++ b/applications/luci-app-https-dns-proxy/Makefile @@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk PKG_LICENSE:=GPL-3.0-or-later PKG_MAINTAINER:=Stan Grishin -PKG_VERSION:=2022-10-15-14 +PKG_VERSION:=2023-05-25-4 LUCI_TITLE:=DNS Over HTTPS Proxy Web UI LUCI_DESCRIPTION:=Provides Web UI for DNS Over HTTPS Proxy -LUCI_DEPENDS:=+luci-compat +luci-base +https-dns-proxy +LUCI_DEPENDS:=+luci-base +https-dns-proxy LUCI_PKGARCH:=all include ../../luci.mk diff --git a/applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js b/applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js new file mode 100644 index 0000000000..bdc99fcbda --- /dev/null +++ b/applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js @@ -0,0 +1,436 @@ +// Copyright MOSSDeF, 2023 Stan Grishin +// This code wouldn't have been possible without help from: +// - [@stokito](https://github.com/stokito) +// - [@vsviridov](https://github.com/vsviridov) + +"require ui"; +"require rpc"; +"require uci"; +"require form"; +"require baseclass"; + +var pkg = { + get Name() { + return "https-dns-proxy"; + }, + get URL() { + return "https://docs.openwrt.melmac.net/" + pkg.Name + "/"; + }, + templateToRegexp: function (template) { + return RegExp( + "^" + + template + .split(/(\{\w+\})/g) + .map((part) => { + let placeholder = part.match(/^\{(\w+)\}$/); + if (placeholder) return `(?<${placeholder[1]}>.*?)`; + else return part.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + }) + .join("") + + "$" + ); + }, +}; + +var getInitList = rpc.declare({ + object: "luci." + pkg.Name, + method: "getInitList", + params: ["name"], +}); + +var getInitStatus = rpc.declare({ + object: "luci." + pkg.Name, + method: "getInitStatus", + params: ["name"], +}); + +var getPlatformSupport = rpc.declare({ + object: "luci." + pkg.Name, + method: "getPlatformSupport", + params: ["name"], +}); + +var getProviders = rpc.declare({ + object: "luci." + pkg.Name, + method: "getProviders", + params: ["name"], +}); + +var getRuntime = rpc.declare({ + object: "luci." + pkg.Name, + method: "getRuntime", + params: ["name"], +}); + +var _setInitAction = rpc.declare({ + object: "luci." + pkg.Name, + method: "setInitAction", + params: ["name", "action"], + expect: { result: false }, +}); + +var RPC = { + listeners: [], + on: function (event, callback) { + var pair = { event: event, callback: callback }; + this.listeners.push(pair); + return function unsubscribe() { + this.listeners = this.listeners.filter(function (listener) { + return listener !== pair; + }); + }.bind(this); + }, + emit: function (event, data) { + this.listeners.forEach(function (listener) { + if (listener.event === event) { + listener.callback(data); + } + }); + }, + getInitList: function (name) { + getInitList(name).then( + function (result) { + this.emit("getInitList", result); + }.bind(this) + ); + }, + getInitStatus: function (name) { + getInitStatus(name).then( + function (result) { + this.emit("getInitStatus", result); + }.bind(this) + ); + }, + getPlatformSupport: function (name) { + getPlatformSupport(name).then( + function (result) { + this.emit("getPlatformSupport", result); + }.bind(this) + ); + }, + getProviders: function (name) { + getProviders(name).then( + function (result) { + this.emit("getProviders", result); + }.bind(this) + ); + }, + getRuntime: function (name) { + getRuntime(name).then( + function (result) { + this.emit("getRuntime", result); + }.bind(this) + ); + }, + setInitAction: function (name, action) { + _setInitAction(name, action).then( + function (result) { + this.emit("setInitAction", result); + }.bind(this) + ); + }, +}; + +var status = baseclass.extend({ + render: function () { + return Promise.all([ + L.resolveDefault(getInitStatus(pkg.Name), {}), + L.resolveDefault(getProviders(pkg.Name), {}), + L.resolveDefault(getRuntime(pkg.Name), {}), + ]).then(function (data) { + var text; + var reply = { + status: (data[0] && data[0][pkg.Name]) || { + enabled: null, + running: null, + force_dns_active: null, + version: null, + }, + providers: (data[1] && data[1][pkg.Name]) || { providers: [] }, + runtime: (data[2] && data[2][pkg.Name]) || { instances: [] }, + }; + reply.providers.sort(function (a, b) { + return _(a.title).localeCompare(_(b.title)); + }); + reply.providers.push({ + title: "Custom", + template: "{option}", + params: { option: { type: "text" } }, + }); + + var header = E("h2", {}, _("HTTPS DNS Proxy - Status")); + var statusTitle = E( + "label", + { class: "cbi-value-title" }, + _("Service Status") + ); + if (reply.status.version) { + if (reply.status.running) { + text = _("Version %s - Running.").format(reply.status.version); + if (reply.status.force_dns_active) { + text += "
" + _("Force DNS ports:"); + reply.status.force_dns_ports.forEach((element) => { + text += " " + element; + }); + text += "."; + } + } else { + if (reply.status.enabled) { + text = _("Version %s - Stopped.").format(reply.status.version); + } else { + text = _("Version %s - Stopped (Disabled).").format( + reply.status.version + ); + } + } + } else { + text = _("Not installed or not found"); + } + var statusText = E("div", {}, text); + var statusField = E("div", { class: "cbi-value-field" }, statusText); + var statusDiv = E("div", { class: "cbi-value" }, [ + statusTitle, + statusField, + ]); + + var instancesDiv = []; + if (reply.runtime.instances) { + var instancesTitle = E( + "label", + { class: "cbi-value-title" }, + _("Service Instances") + ); + text = _("See the %sREADME%s for details.").format( + '', + "" + ); + var instancesDescr = E("div", { class: "cbi-value-description" }, ""); + + text = ""; + Object.values(reply.runtime.instances).forEach((element) => { + var resolver; + var address; + var port; + var name; + var option; + var found; + element.command.forEach((param, index, arr) => { + if (param === "-r") resolver = arr[index + 1]; + if (param === "-a") address = arr[index + 1]; + if (param === "-p") port = arr[index + 1]; + }); + resolver = resolver || "Unknown"; + address = address || "127.0.0.1"; + port = port || "Unknown"; + reply.providers.forEach((prov) => { + let regexp = pkg.templateToRegexp(prov.template); + if (!found && regexp.test(resolver)) { + found = true; + name = _(prov.title); + let match = resolver.match(regexp); + if (match[1] != null) { + if ( + prov.params && + prov.params.option && + prov.params.option.options + ) { + prov.params.option.options.forEach((opt) => { + if (opt.value === match[1]) option = _(opt.description); + }); + name += " (" + option + ")"; + } else { + if (match[1] != "") name += " (" + match[1] + ")"; + } + } + } + }); + if (address === "127.0.0.1") + text += _("%s%s%s proxy on port %s.%s").format( + "", + name, + "", + port, + "
" + ); + else + text += _("%s%s%s proxy at %s on port %s.%s").format( + "", + name, + "", + address, + port, + "
" + ); + }); + var instancesText = E("div", {}, text); + var instancesField = E("div", { class: "cbi-value-field" }, [ + instancesText, + instancesDescr, + ]); + instancesDiv = E("div", { class: "cbi-value" }, [ + instancesTitle, + instancesField, + ]); + } + + var btn_gap = E("span", {}, "  "); + var btn_gap_long = E( + "span", + {}, + "        " + ); + var btn_start = E( + "button", + { + class: "btn cbi-button cbi-button-apply", + disabled: true, + click: function (ev) { + ui.showModal(null, [ + E( + "p", + { class: "spinning" }, + _("Starting %s service").format(pkg.Name) + ), + ]); + return RPC.setInitAction(pkg.Name, "start"); + }, + }, + _("Start") + ); + + var btn_action = E( + "button", + { + class: "btn cbi-button cbi-button-apply", + disabled: true, + click: function (ev) { + ui.showModal(null, [ + E( + "p", + { class: "spinning" }, + _("Restarting %s service").format(pkg.Name) + ), + ]); + return RPC.setInitAction(pkg.Name, "restart"); + }, + }, + _("Restart") + ); + + var btn_stop = E( + "button", + { + class: "btn cbi-button cbi-button-reset", + disabled: true, + click: function (ev) { + ui.showModal(null, [ + E( + "p", + { class: "spinning" }, + _("Stopping %s service").format(pkg.Name) + ), + ]); + return RPC.setInitAction(pkg.Name, "stop"); + }, + }, + _("Stop") + ); + + var btn_enable = E( + "button", + { + class: "btn cbi-button cbi-button-apply", + disabled: true, + click: function (ev) { + ui.showModal(null, [ + E( + "p", + { class: "spinning" }, + _("Enabling %s service").format(pkg.Name) + ), + ]); + return RPC.setInitAction(pkg.Name, "enable"); + }, + }, + _("Enable") + ); + + var btn_disable = E( + "button", + { + class: "btn cbi-button cbi-button-reset", + disabled: true, + click: function (ev) { + ui.showModal(null, [ + E( + "p", + { class: "spinning" }, + _("Disabling %s service").format(pkg.Name) + ), + ]); + return RPC.setInitAction(pkg.Name, "disable"); + }, + }, + _("Disable") + ); + + if (reply.status.enabled) { + btn_enable.disabled = true; + btn_disable.disabled = false; + if (reply.status.running) { + btn_start.disabled = true; + btn_action.disabled = false; + btn_stop.disabled = false; + } else { + btn_start.disabled = false; + btn_action.disabled = true; + btn_stop.disabled = true; + } + } else { + btn_start.disabled = true; + btn_action.disabled = true; + btn_stop.disabled = true; + btn_enable.disabled = false; + btn_disable.disabled = true; + } + + var buttonsTitle = E( + "label", + { class: "cbi-value-title" }, + _("Service Control") + ); + var buttonsText = E("div", {}, [ + btn_start, + btn_gap, + btn_action, + btn_gap, + btn_stop, + btn_gap_long, + btn_enable, + btn_gap, + btn_disable, + ]); + var buttonsField = E("div", { class: "cbi-value-field" }, buttonsText); + var buttonsDiv = reply.status.version ? + E('div', {class: 'cbi-value'}, [ + buttonsTitle, + buttonsField, + ]) : ''; + return E("div", {}, [header, statusDiv, instancesDiv, buttonsDiv]); + }); + }, +}); + +RPC.on("setInitAction", function (reply) { + ui.hideModal(); + location.reload(); +}); + +return L.Class.extend({ + status: status, + getPlatformSupport: getPlatformSupport, + getProviders: getProviders, + getRuntime: getRuntime, +}); diff --git a/applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js b/applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js new file mode 100644 index 0000000000..a0d809cd32 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js @@ -0,0 +1,383 @@ +// Copyright 2023 MOSSDeF, Stan Grishin +// This code wouldn't have been possible without help from: +// - [@jow-](https://github.com/jow-) +// - [@stokito](https://github.com/stokito) +// - [@vsviridov](https://github.com/vsviridov) + +"use strict"; +"require form"; +"require rpc"; +"require uci"; +"require view"; +"require https-dns-proxy.status as hdp"; + +var pkg = { + get Name() { + return "https-dns-proxy"; + }, + get URL() { + return "https://docs.openwrt.melmac.net/" + pkg.Name + "/"; + }, + templateToRegexp: function (template) { + return RegExp( + "^" + + template + .split(/(\{\w+\})/g) + .map((part) => { + let placeholder = part.match(/^\{(\w+)\}$/); + if (placeholder) return `(?<${placeholder[1]}>.*?)`; + else return part.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + }) + .join("") + + "$" + ); + }, + templateToResolver: function (template, args) { + return template.replace(/{(\w+)}/g, (_, v) => args[v]); + }, +}; + +return view.extend({ + load: function () { + return Promise.all([ + L.resolveDefault(hdp.getPlatformSupport(pkg.Name), {}), + L.resolveDefault(hdp.getProviders(pkg.Name), {}), + uci.load(pkg.Name), + uci.load("dhcp"), + ]); + }, + + render: function (data) { + var reply = { + platform: (data[0] && data[0][pkg.Name]) || { + http2_support: null, + http3_support: null, + }, + providers: (data[1] && data[1][pkg.Name]) || { providers: [] }, + }; + reply.providers.sort(function (a, b) { + return _(a.title).localeCompare(_(b.title)); + }); + reply.providers.push({ + title: "Custom", + template: "{option}", + params: { option: { type: "text" } }, + }); + + var status, m, s, o, p; + var text; + + status = new hdp.status(); + + m = new form.Map(pkg.Name, _("HTTPS DNS Proxy - Configuration")); + + s = m.section(form.NamedSection, "config", pkg.Name); + o = s.option( + form.ListValue, + "dnsmasq_config_update", + _("Update DNSMASQ Config on Start/Stop"), + _( + "If update option is selected, the %s'DNS forwardings' section of DHCP and DNS%s will be automatically updated to use selected DoH providers (%smore information%s)." + ).format( + '', + "", + '', + "" + ) + ); + o.value("*", _("Update all configs")); + var sections = uci.sections("dhcp", "dnsmasq"); + sections.forEach((element) => { + var description; + var key; + if (element[".name"] === uci.resolveSID("dhcp", element[".name"])) { + key = element[".index"]; + description = "dnsmasq[" + element[".index"] + "]"; + } else { + key = element[".name"]; + description = element[".name"]; + } + o.value(key, _("Update %s only").format(description)); + }); + o.value("-", _("Do not update configs")); + o.default = "*"; + + o = s.option( + form.ListValue, + "force_dns", + _("Force Router DNS"), + _("Forces Router DNS use on local devices, also known as DNS Hijacking.") + ); + o.value("0", _("Let local devices use their own DNS servers if set")); + o.value("1", _("Force Router DNS server to all local devices")); + o.default = "1"; + + o = s.option( + form.ListValue, + "canary_domains_icloud", + _("Canary Domains iCloud"), + _( + "Blocks access to iCloud Private Relay resolvers, forcing local devices to use router for DNS resolution (%smore information%s)." + ).format( + '', + "" + ) + ); + o.value("0", _("Let local devices use iCloud Private Relay")); + o.value("1", _("Force Router DNS server to all local devices")); + o.depends("force_dns", "1"); + o.default = "1"; + + o = s.option( + form.ListValue, + "canary_domains_mozilla", + _("Canary Domains Mozilla"), + _( + "Blocks access to Mozilla Encrypted resolvers, forcing local devices to use router for DNS resolution (%smore information%s)." + ).format( + '', + "" + ) + ); + o.value("0", _("Let local devices use Mozilla Private Relay")); + o.value("1", _("Force Router DNS server to all local devices")); + o.depends("force_dns", "1"); + o.default = "1"; + + text = ""; + if (!reply.platform.http2_support) + text += + _( + "Please note that %s is not supported on this system (%smore information%s)." + ).format( + "HTTP/2", + '', + "" + ) + "
"; + if (!reply.platform.http3_support) + text += + _( + "Please note that %s is not supported on this system (%smore information%s)." + ).format( + "HTTP/3 (QUIC)", + '', + "" + ) + "
"; + + s = m.section( + form.GridSection, + "https-dns-proxy", + _("HTTPS DNS Proxy - Instances"), + text + ); + s.rowcolors = true; + s.sortable = true; + s.anonymous = true; + s.addremove = true; + + s.sectiontitle = (section_id) => { + var provText; + var found; + reply.providers.forEach((prov) => { + var option; + let regexp = pkg.templateToRegexp(prov.template); + let resolver = uci.get(pkg.Name, section_id, "resolver_url"); + resolver = resolver === undefined ? null : resolver; + if (!found && resolver && regexp.test(resolver)) { + found = true; + provText = _(prov.title); + let match = resolver.match(regexp); + if (match[1] != null) { + if ( + prov.params && + prov.params.option && + prov.params.option.options + ) { + prov.params.option.options.forEach((opt) => { + if (opt.value === match[1]) { + option = _(opt.description); + } + }); + provText += " (" + option + ")"; + } else { + if (match[1] !== "") provText += " (" + match[1] + ")"; + } + } + } + }); + return provText || _("Unknown"); + }; + + var _provider; + _provider = s.option(form.ListValue, "_provider", _("Provider")); + _provider.modalonly = true; + _provider.cfgvalue = function (section_id) { + let resolver = this.map.data.get( + this.map.config, + section_id, + "resolver_url" + ); + if (resolver === undefined || resolver === null) return null; + let found; + let ret; + reply.providers.forEach((prov, i) => { + let regexp = pkg.templateToRegexp(prov.template); + if (!found && regexp.test(resolver)) { + found = true; + ret = prov.template; + } + }); + return ret || ""; + }; + _provider.write = function (section_id, formvalue) { + uci.set(pkg.Name, section_id, "resolver_url", formvalue); + }; + + reply.providers.forEach((prov, i) => { + if (prov.http2_only && !reply.platform.http2_support) return; + if (prov.http3_only && !reply.platform.http3_support) return; + _provider.value(prov.template, _(prov.title)); + if ( + prov.params && + prov.params.option && + prov.params.option.type && + prov.params.option.type === "select" + ) { + let optName = prov.params.option.description || _("Parameter"); + var _paramList = s.option(form.ListValue, "_paramList_" + i, optName); + _paramList.template = prov.template; + _paramList.modalonly = true; + if (prov.params.option.default) { + _paramList.default = prov.params.option.default; + } + prov.params.option.options.forEach((opt) => { + let val = opt.value || ""; + let descr = opt.description || ""; + _paramList.value(val, descr); + }); + _paramList.depends("_provider", prov.template); + _paramList.write = function (section_id, formvalue) { + let template = this.map.data.get( + this.map.config, + section_id, + "resolver_url" + ); + if (_paramList.template !== template) return 0; + let resolver = pkg.templateToResolver(template, { + option: formvalue || "", + }); + uci.set(pkg.Name, section_id, "resolver_url", resolver); + }; + _paramList.remove = _paramList.write; + } else if ( + prov.params && + prov.params.option && + prov.params.option.type && + prov.params.option.type === "text" + ) { + let optName = prov.params.option.description || _("Parameter"); + var _paramText = s.option(form.Value, "_paramText_" + i, optName); + _paramText.template = prov.template; + _paramText.modalonly = true; + _paramText.depends("_provider", prov.template); + _paramText.optional = !( + prov.params.option.default && prov.params.option.default !== "" + ); + _paramText.cfgvalue = function (section_id) { + let resolver = this.map.data.get( + this.map.config, + section_id, + "resolver_url" + ); + if (resolver === undefined || resolver === null) return null; + let regexp = pkg.templateToRegexp(prov.template); + let match = resolver.match(regexp); + return (match && match[1]) || null; + }; + _paramText.write = function (section_id, formvalue) { + let template = this.map.data.get( + this.map.config, + section_id, + "resolver_url" + ); + if (_paramText.template !== template) return 0; + let resolver = pkg.templateToResolver(template, { + option: formvalue || "", + }); + uci.set(pkg.Name, section_id, "resolver_url", resolver); + }; + _paramText.remove = _paramText.write; + } + }); + + o = s.option(form.Value, "bootstrap_dns", _("Bootstrap DNS")); + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.Value, "listen_addr", _("Listen Address")); + o.datatype = "ipaddr"; + o.default = ""; + o.optional = true; + o.placeholder = "127.0.0.1"; + var n = 0; + o = s.option(form.Value, "listen_port", _("Listen Port")); + o.datatype = "port"; + o.default = ""; + o.optional = true; + o.placeholder = n + 5053; + o = s.option(form.Value, "user", _("Run As User")); + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.Value, "group", _("Run As Group")); + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.Value, "dscp_codepoint", _("DSCP Codepoint")); + o.datatype = "and(uinteger, range(0,63))"; + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.Value, "verbosity", _("Logging Verbosity")); + o.datatype = "and(uinteger, range(0,4))"; + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.Value, "logfile", _("Logging File Path")); + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.Value, "polling_interval", _("Polling Interval")); + o.datatype = "and(uinteger, range(5,3600))"; + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.Value, "proxy_server", _("Proxy Server")); + o.default = ""; + o.modalonly = true; + o.optional = true; + o = s.option(form.ListValue, "use_http1", _("Use HTTP/1")); + o.modalonly = true; + o.optional = true; + o.rmempty = true; + o.value("", _("Use negotiated HTTP version")); + o.value("1", _("Force use of HTTP/1")); + o.default = ""; + o = s.option( + form.ListValue, + "use_ipv6_resolvers_only", + _("Use IPv6 resolvers") + ); + o.modalonly = true; + o.optional = true; + o.rmempty = true; + o.value("", _("Use any family DNS resolvers")); + o.value("1", _("Force use of IPv6 DNS resolvers")); + o.default = ""; + + return Promise.all([status.render(), m.render()]); + }, +}); diff --git a/applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua b/applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua deleted file mode 100644 index f7122df478..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua +++ /dev/null @@ -1,27 +0,0 @@ -module("luci.controller.https-dns-proxy", package.seeall) -function index() - if nixio.fs.access("/etc/config/https-dns-proxy") then - entry({"admin", "services", "https-dns-proxy"}, cbi("https-dns-proxy"), _("DNS HTTPS Proxy")).acl_depends = { "luci-app-https-dns-proxy" } - entry({"admin", "services", "https-dns-proxy", "action"}, call("https_dns_proxy_action"), nil).leaf = true - end -end - -function https_dns_proxy_action(name) - local packageName = "https-dns-proxy" - local http = require "luci.http" - local sys = require "luci.sys" - local util = require "luci.util" - if name == "start" then - sys.init.start(packageName) - elseif name == "action" then - util.exec("/etc/init.d/" .. packageName .. " reload >/dev/null 2>&1") - elseif name == "stop" then - sys.init.stop(packageName) - elseif name == "enable" then - sys.init.enable(packageName) - elseif name == "disable" then - sys.init.disable(packageName) - end - http.prepare_content("text/plain") - http.write("0") -end diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns1.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns1.lua deleted file mode 100644 index 2fa9985592..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns1.lua +++ /dev/null @@ -1,8 +0,0 @@ -return{ - name="DnsCryptCa-DNS1", - label=_("DNSCrypt.ca (DNS1)"), - resolver_url="https://dns1.dnscrypt.ca:453/dns-query", - bootstrap_dns="45.76.37.222,185.112.145.13,93.95.226.53,2001:19f0:5001:185a:5400:ff:fe50:56d5", - help_link="https://dnscrypt.ca/", - help_link_text="dnscrypt.ca" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns2.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns2.lua deleted file mode 100644 index f31dd38a23..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns2.lua +++ /dev/null @@ -1,8 +0,0 @@ -return{ - name="DnsCryptCa-DNS2", - label=_("DNSCrypt.ca (DNS2)"), - resolver_url="https://dns2.dnscrypt.ca:453/dns-query", - bootstrap_dns="45.76.37.222,185.112.145.13,93.95.226.53,2001:19f0:5001:185a:5400:ff:fe50:56d5", - help_link="https://dnscrypt.ca/", - help_link_text="dnscrypt.ca" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.doh.lua deleted file mode 100644 index e3d8d1e11f..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.tiar.app", - label = _("Tiarap Public DNS - SG"), - resolver_url = "https://doh.tiar.app/dns-query", - bootstrap_dns = "174.138.21.128,2400:6180:0:d0::5f6e:4001", - help_link = "https://tiarap.org/", - help_link_text = "Tiarap.org" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.jp.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.jp.lua deleted file mode 100644 index 06885628c5..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.jp.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.tiar.jp", - label = _("Tiarap Public DNS - JP"), - resolver_url = "https://doh.tiar.jp/dns-query", - bootstrap_dns = "172.104.93.80,2400:8902::f03c:91ff:feda:c514", - help_link = "https://tiarap.org/", - help_link_text = "Tiarap.org" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.family.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.family.lua deleted file mode 100644 index dfe1af44c0..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.family.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "family.canadianshield.cira.ca", - label = _("CIRA Canadian Shield (Family)"), - resolver_url = "https://family.canadianshield.cira.ca/dns-query", - bootstrap_dns = "149.112.121.30,149.112.122.30,2620:10A:80BB::30,2620:10A:80BC::30", - help_link = "https://www.cira.ca/cybersecurity-services/canadian-shield/", - help_link_text = "CIRA Canadian Shield" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.private.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.private.lua deleted file mode 100644 index 5b37a9a4ca..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.private.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "private.canadianshield.cira.ca", - label = _("CIRA Canadian Shield (Private)"), - resolver_url = "https://private.canadianshield.cira.ca/dns-query", - bootstrap_dns = "149.112.121.10,149.112.122.10,2620:10A:80BB::10,2620:10A:80BC::10", - help_link = "https://www.cira.ca/cybersecurity-services/canadian-shield/", - help_link_text = "CIRA Canadian Shield" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.protected.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.protected.lua deleted file mode 100644 index 810f479bda..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.protected.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "protected.canadianshield.cira.ca", - label = _("CIRA Canadian Shield (Protected)"), - resolver_url = "https://protected.canadianshield.cira.ca/dns-query", - bootstrap_dns = "149.112.121.20,149.112.122.20,2620:10A:80BB::20,2620:10A:80BC::20", - help_link = "https://www.cira.ca/cybersecurity-services/canadian-shield/", - help_link_text = "CIRA Canadian Shield" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.lua deleted file mode 100644 index 3253cf49ea..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - name = "dns.digitale-gesellschaft.ch", - label = _("Digitale Gesellschaft - CH"), - resolver_url = "https://dns.digitale-gesellschaft.ch/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - http2_only = true, - help_link = "https://www.digitale-gesellschaft.ch/dns/", - help_link_text = "Digitale Gesellschaft" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.switch.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.switch.dns.lua deleted file mode 100644 index 9f0c594e0a..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.switch.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.switch.ch", - label = _("Switch DNS - CH"), - resolver_url = "https://dns.switch.ch/dns-query", - bootstrap_dns = "130.59.31.248,2001:620:0:ff::2", - help_link = "https://www.switch.ch/security/info/public-dns/", - help_link_text = "Switch.ch" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.360.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.360.doh.lua deleted file mode 100644 index f582a821ff..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.360.doh.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "doh.360.cn", - label = _("360 Secure DNS - CN"), - resolver_url = "https://doh.360.cn/dns-query", - bootstrap_dns = "101.226.4.6,218.30.118.6,123.125.81.6,140.207.198.6" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.edu.tsinghua.tuna.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.edu.tsinghua.tuna.dns.lua deleted file mode 100644 index 6e40de3b13..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.edu.tsinghua.tuna.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "dns.tuna.tsinghua.edu.cn", - label = _("Tsinghua University Secure DNS - CN"), - resolver_url = "https://dns.tuna.tsinghua.edu.cn:8443/dns-query", - bootstrap_dns = "208.67.222.222,208.67.220.220", -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.rubyfish.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.rubyfish.dns.lua deleted file mode 100644 index b64bd9ceb8..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.rubyfish.dns.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - name = "dns.rubyfish.cn", - label = _("rubyfish.cn"), - resolver_url = "https://dns.rubyfish.cn/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - http2_only = true -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/co.osxz.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/co.osxz.dns.lua deleted file mode 100644 index f54c912e7f..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/co.osxz.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.oszx.co", - label = _("OSZX DNS - UK"), - resolver_url = "https://dns.oszx.co/dns-query", - bootstrap_dns = "51.38.83.141,2001:41d0:801:2000::d64", - help_link = "https://dns.oszx.co/#mdoh", - help_link_text = "OSZX.co" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.ahadns.blitz.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.ahadns.blitz.lua deleted file mode 100644 index 5a67fcbdb7..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.ahadns.blitz.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "blitz.ahadns.com", - label = _("AhaDNS Blitz (Configurable)"), - resolver_url = "https://blitz.ahadns.com/", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://blitz-setup.ahadns.com/", - help_link_text = "AhaDNS Blitz" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.alidns.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.alidns.dns.lua deleted file mode 100644 index 1654feab0b..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.alidns.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name="dns.alidns.com", - label=_("AliDNS - CN"), - resolver_url="https://dns.alidns.com/dns-query", - bootstrap_dns="223.5.5.5,223.6.6.6,2400:3200::1,2400:3200:baba::1", - help_link = "https://alidns.com/", - help_link_text = "AliDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-ch.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-ch.lua deleted file mode 100644 index 8e22f59bb2..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-ch.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh-ch.blahdns.com", - label = _("BlahDNS - CH"), - resolver_url = "https://doh-ch.blahdns.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://blahdns.com/", - help_link_text = "BlahDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-de.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-de.lua deleted file mode 100644 index d252c521ac..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-de.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh-de.blahdns.com", - label = _("BlahDNS - DE"), - resolver_url = "https://doh-de.blahdns.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://blahdns.com/", - help_link_text = "BlahDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-fi.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-fi.lua deleted file mode 100644 index 75f01ed17c..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-fi.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh-fi.blahdns.com", - label = _("BlahDNS - FI"), - resolver_url = "https://doh-fi.blahdns.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://blahdns.com/", - help_link_text = "BlahDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-jp.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-jp.lua deleted file mode 100644 index 3cb783d42e..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-jp.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh-jp.blahdns.com", - label = _("BlahDNS - JP"), - resolver_url = "https://doh-jp.blahdns.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://blahdns.com/", - help_link_text = "BlahDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-sg.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-sg.lua deleted file mode 100644 index 32b684d261..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-sg.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh-sg.blahdns.com", - label = _("BlahDNS - SG"), - resolver_url = "https://doh-sg.blahdns.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://blahdns.com/", - help_link_text = "BlahDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.family.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.family.lua deleted file mode 100644 index 69fe4d2d24..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.family.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "family.cloudflare-dns.com", - label = _("Cloudflare (Family Protection)"), - resolver_url = "https://family.cloudflare-dns.com/dns-query", - bootstrap_dns = "1.1.1.3,1.0.0.3,2606:4700:4700::1113,2606:4700:4700::1003", - help_link = "https://one.one.one.one/family/", - help_link_text = "Cloudflare.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua deleted file mode 100644 index eb78366ac2..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - name = "cloudflare-dns.com", - label = _("Cloudflare"), - resolver_url = "https://cloudflare-dns.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001", - help_link = "https://one.one.one.one/family/", - help_link_text = "Cloudflare.com", - default = true -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.security.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.security.lua deleted file mode 100644 index 3013305bd5..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.security.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "security.cloudflare-dns.com", - label = _("Cloudflare (Security Protection)"), - resolver_url = "https://security.cloudflare-dns.com/dns-query", - bootstrap_dns = "1.1.1.2,1.0.0.2,2606:4700:4700::1112,2606:4700:4700::1002", - help_link = "https://one.one.one.one/family/", - help_link_text = "Cloudflare.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.family.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.family.lua deleted file mode 100644 index e7d6ffda93..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.family.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "freedns.controld.com-family", - label = _("ControlD (Family)"), - resolver_url = "https://freedns.controld.com/family", - bootstrap_dns = "76.76.2.4,2606:1a40::4", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads-social.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads-social.lua deleted file mode 100644 index 4b8ee02729..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads-social.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "ControlD-Malware-Ads-Social", - label = _("ControlD (Block Malware + Ads + Social)"), - resolver_url = "https://freedns.controld.com/p3", - bootstrap_dns = "76.76.2.3,2606:1a40::3", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads.lua deleted file mode 100644 index 947ed59a1c..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "ControlD-Malware-Ads", - label = _("ControlD (Block Malware + Ads)"), - resolver_url = "https://freedns.controld.com/p2", - bootstrap_dns = "76.76.2.2,2606:1a40::2", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware.lua deleted file mode 100644 index 77f062b1b4..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "ControlD-Malware", - label = _("ControlD (Block Malware)"), - resolver_url = "https://freedns.controld.com/p1", - bootstrap_dns = "76.76.2.1,2606:1a40::1", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p0.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p0.lua deleted file mode 100644 index a520c9694f..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p0.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "freedns.controld.com-p0", - label = _("ControlD (Unfiltered)"), - resolver_url = "https://freedns.controld.com/p0", - bootstrap_dns = "76.76.2.0,2606:1a40::0", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p1.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p1.lua deleted file mode 100644 index eac144e92d..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p1.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "freedns.controld.com-p1", - label = _("ControlD (Block Malware)"), - resolver_url = "https://freedns.controld.com/p1", - bootstrap_dns = "76.76.2.1,2606:1a40::1", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p2.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p2.lua deleted file mode 100644 index 0e7c846a6a..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p2.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "freedns.controld.com-p2", - label = _("ControlD (Block Malware + Ads)"), - resolver_url = "https://freedns.controld.com/p2", - bootstrap_dns = "76.76.2.2,2606:1a40::2", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p3.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p3.lua deleted file mode 100644 index 0249678de0..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p3.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "freedns.controld.com-p3", - label = _("ControlD (Block Malware + Ads + Social)"), - resolver_url = "https://freedns.controld.com/p3", - bootstrap_dns = "76.76.2.3,2606:1a40::3", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.unfiltered.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.unfiltered.lua deleted file mode 100644 index d4128df343..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.unfiltered.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "ControlD-Unfiltered", - label = _("ControlD (Unfiltered)"), - resolver_url = "https://freedns.controld.com/p0", - bootstrap_dns = "76.76.2.0,2606:1a40::0", - help_link = "https://kb.controld.com/tutorials", - help_link_text = "ControlD" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.decloudus.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.decloudus.dns.lua deleted file mode 100644 index 1135c093d8..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.decloudus.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.decloudus.com", - label = _("DeCloudUs DNS"), - resolver_url = "https://dns.decloudus.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://decloudus.com/", - help_link_text = "DeCloudUs.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnsforfamily.dns-doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnsforfamily.dns-doh.lua deleted file mode 100644 index 41b63ffbd7..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnsforfamily.dns-doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dnsforfamily", - label = _("DNS For Family"), - resolver_url = "https://dns-doh.dnsforfamily.com/dns-query", - bootstrap_dns = "94.130.180.225,78.47.64.161", - help_link = "https://dnsforfamily.com/#DNS_Servers_DNS_Over_HTTPS", - help_link_text = "DNSForFamily.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnslify.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnslify.doh.lua deleted file mode 100644 index e531bcc8d4..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnslify.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.dnslify.com", - label = _("DNSlify DNS"), - resolver_url = "https://doh.dnslify.com/dns-query", - bootstrap_dns = "185.235.81.1,185.235.81.2,2a0d:4d00:81::1,2a0d:4d00:81::2", - help_link = "https://www.dnslify.com/services/doh/", - help_link_text = "DNSlify.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.doh.lua deleted file mode 100644 index 16a833110f..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.opendns.com", - label = _("OpenDNS"), - resolver_url = "https://doh.opendns.com/dns-query", - bootstrap_dns = "208.67.222.222,208.67.220.220", - help_link = "https://support.opendns.com/hc/en-us/articles/360038086532-Using-DNS-over-HTTPS-DoH-with-OpenDNS", - help_link_text = "OpenDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.familyshield.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.familyshield.doh.lua deleted file mode 100644 index 8686d8c5f5..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.familyshield.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.familyshield.opendns.com", - label = _("OpenDNS (Family Shield)"), - resolver_url = "https://doh.familyshield.opendns.com/dns-query", - bootstrap_dns = "208.67.222.123,208.67.220.123", - help_link = "https://support.opendns.com/hc/en-us/articles/360038086532-Using-DNS-over-HTTPS-DoH-with-OpenDNS", - help_link_text = "OpenDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.pumplex.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.pumplex.dns.lua deleted file mode 100644 index b61630af26..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.pumplex.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.pumplex.com", - label = _("OSZX DNS (Pumplex)"), - resolver_url = "https://dns.pumplex.com/dns-query", - bootstrap_dns = "51.38.82.198,2001:41d0:801:2000::1b28", - help_link = "https://dns.oszx.co/#mdoh", - help_link_text = "OSZX.co" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.rethinkdns.basic.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.rethinkdns.basic.lua deleted file mode 100644 index 966ccd757a..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.rethinkdns.basic.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "basic.rethinkdns.com", - label = _("Rethink DNS (Configurable)"), - resolver_url = "https://basic.rethinkdns.com/", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://www.rethinkdns.com/configure", - help_link_text = "RethinkDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua deleted file mode 100644 index 5568fc7bbb..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "odvr.nic.cz", - label = _("ODVR (nic.cz)"), - resolver_url = "https://odvr.nic.cz/doh", - bootstrap_dns = "193.17.47.1,185.43.135.1,2001:148f:ffff::1,2001:148f:fffe::1", - help_link = "https://www.nic.cz/odvr/", - help_link_text = "nic.cz" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/de.dnsforge.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/de.dnsforge.lua deleted file mode 100644 index a6fe548fc1..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/de.dnsforge.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dnsforge.de", - label = _("DNS Forge - DE"), - resolver_url = "https://dnsforge.de/dns-query", - bootstrap_dns = "176.9.93.198,176.9.1.117,2a01:4f8:151:34aa::198,2a01:4f8:141:316d::117", - help_link = "https://dnsforge.de/", - help_link_text = "DNSForge.de" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/fi.lelux.resolver-eu.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/fi.lelux.resolver-eu.lua deleted file mode 100644 index 5954ea78cf..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/fi.lelux.resolver-eu.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "resolver-eu.lelux.fi", - label = _("Lelux DNS - FI"), - resolver_url = "https://resolver-eu.lelux.fi/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://lelux.fi/resolver/", - help_link_text = "Lelux.fi" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua deleted file mode 100644 index a23e9e5318..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "dns.google", - label = _("Google"), - resolver_url = "https://dns.google/dns-query", - bootstrap_dns = "8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua deleted file mode 100644 index 63e4290f00..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.libredns.gr-ads", - label = _("LibreDNS - GR (No Ads)"), - resolver_url = "https://doh.libredns.gr/ads", - bootstrap_dns = "116.202.176.26,1.1.1.1", - help_link = "https://libredns.gr/", - help_link_text = "LibreDNS.gr" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua deleted file mode 100644 index 67f9e5ffd7..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.libredns.gr", - label = _("LibreDNS - GR"), - resolver_url = "https://doh.libredns.gr/dns-query", - bootstrap_dns = "116.202.176.26,1.1.1.1", - help_link = "https://libredns.gr/", - help_link_text = "LibreDNS.gr" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-family.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-family.lua deleted file mode 100644 index eecb562da7..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-family.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns-family.adguard.com", - label = _("AdGuard (Family Protection)"), - resolver_url = "https://dns-family.adguard.com/dns-query", - bootstrap_dns = "94.140.14.140,94.140.14.141,2a10:50c0::1:ff,2a10:50c0::2:ff", - help_link = "https://adguard-dns.io/en/public-dns.html", - help_link_text = "AdGuard.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-nonfiltering.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-nonfiltering.lua deleted file mode 100644 index cfa938db83..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-nonfiltering.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns-unfiltered.adguard.com", - label = _("AdGuard (Non-filtering)"), - resolver_url = "https://dns-unfiltered.adguard.com/dns-query", - bootstrap_dns = "94.140.14.140,94.140.14.141,2a10:50c0::1:ff,2a10:50c0::2:ff", - help_link = "https://adguard-dns.io/en/public-dns.html", - help_link_text = "AdGuard.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns.lua deleted file mode 100644 index 90269504e0..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.adguard.com", - label = _("AdGuard (Standard)"), - resolver_url = "https://dns.adguard.com/dns-query", - bootstrap_dns = "94.140.14.140,94.140.14.141,2a10:50c0::1:ff,2a10:50c0::2:ff", - help_link = "https://adguard-dns.io/en/public-dns.html", - help_link_text = "AdGuard.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.nextdns.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.nextdns.dns.lua deleted file mode 100644 index 53aca92edd..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.nextdns.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.nextdns.io", - label = _("NextDNS.io (Configurable)"), - resolver_url = "https://dns.nextdns.io/", - bootstrap_dns = "45.90.28.49,45.90.30.49", - help_link = " https://my.nextdns.io", - help_link_text = "NextDNS.io" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.seby.doh-2.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.seby.doh-2.lua deleted file mode 100644 index 6746e50573..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.seby.doh-2.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh-2.seby.io", - label = _("Seby DNS - AU"), - resolver_url = "https://doh-2.seby.io/dns-query", - bootstrap_dns = "45.76.113.31,139.99.222.72", - help_link = "https://dns.seby.io/", - help_link_text = "Seby.io" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/jp.iij.dns.public.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/jp.iij.dns.public.lua deleted file mode 100644 index bd7660e116..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/jp.iij.dns.public.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "public.dns.iij.jp", - label = _("IIJ Public DNS - JP"), - resolver_url = "https://public.dns.iij.jp/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://www.iij.ad.jp/", - help_link_text = "IIJ.ad.jp" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/lu.restena.kaitain.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/lu.restena.kaitain.lua deleted file mode 100644 index 474a47bdaa..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/lu.restena.kaitain.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "kaitain.restena.lu", - label = _("Restena DNS - LU"), - resolver_url = "https://kaitain.restena.lu/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://www.restena.lu/en/service/public-dns-resolver", - help_link_text = "Restena.lu" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.au.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.au.doh.lua deleted file mode 100644 index 4105111cf9..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.au.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.au.ahadns.net", - label = _("AhaDNS - AU (Block Malware + Ads)"), - resolver_url = "https://doh.au.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.chi.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.chi.doh.lua deleted file mode 100644 index 382893edcc..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.chi.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.chi.ahadns.net", - label = _("AhaDNS - US/Chicago (Block Malware + Ads)"), - resolver_url = "https://doh.chi.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.es.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.es.doh.lua deleted file mode 100644 index 3ebbcc43c1..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.es.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.es.ahadns.net", - label = _("AhaDNS - ES (Block Malware + Ads)"), - resolver_url = "https://doh.es.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.in.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.in.doh.lua deleted file mode 100644 index c2a128e2fd..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.in.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.in.ahadns.net", - label = _("AhaDNS - IN (Block Malware + Ads)"), - resolver_url = "https://doh.in.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.it.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.it.doh.lua deleted file mode 100644 index 7c2d1a51c7..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.it.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.it.ahadns.net", - label = _("AhaDNS - IT (Block Malware + Ads)"), - resolver_url = "https://doh.it.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.la.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.la.doh.lua deleted file mode 100644 index 7d643cfa24..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.la.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.la.ahadns.net", - label = _("AhaDNS - US/Los Angeles (Block Malware + Ads)"), - resolver_url = "https://doh.la.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.nl.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.nl.doh.lua deleted file mode 100644 index ce709d1520..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.nl.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.nl.ahadns.net", - label = _("AhaDNS - NL (Block Malware + Ads)"), - resolver_url = "https://doh.nl.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.no.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.no.doh.lua deleted file mode 100644 index d89ccfb572..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.no.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.no.ahadns.net", - label = _("AhaDNS - NO (Block Malware + Ads)"), - resolver_url = "https://doh.no.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.ny.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.ny.doh.lua deleted file mode 100644 index 6451ae9109..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.ny.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.ny.ahadns.net", - label = _("AhaDNS - US/New York (Block Malware + Ads)"), - resolver_url = "https://doh.ny.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.pl.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.pl.doh.lua deleted file mode 100644 index f5563a5937..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.pl.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.pl.ahadns.net", - label = _("AhaDNS - PL (Block Malware + Ads)"), - resolver_url = "https://doh.pl.ahadns.net/dns-query", - bootstrap_dns = "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", - help_link = "https://ahadns.com/dns-over-https/", - help_link_text = "AhaDNS.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.applied-privacy.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.applied-privacy.lua deleted file mode 100644 index 11f738cc48..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.applied-privacy.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.applied-privacy.net", - label = _("Applied Privacy DNS - AT/DE"), - resolver_url = "https://doh.applied-privacy.net/query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://applied-privacy.net/services/dns/", - help_link_text = "Applied-Privacy.net" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua deleted file mode 100644 index d64f5c085a..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "dns.cfiec.net", - label = _("CFIEC Public DNS (IPv6 Only)"), - resolver_url = "https://dns.cfiec.net/dns-query", - bootstrap_dns = "240C::6666,240C::6644" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ffmuc.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ffmuc.doh.lua deleted file mode 100644 index 83582082c0..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ffmuc.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.ffmuc.net", - label = _("FFMUC DNS - DE"), - resolver_url = "https://doh.ffmuc.net/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://ffmuc.net/wiki/doku.php?id=knb:dohdot", - help_link_text = "FFMUC.net" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.he.ordns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.he.ordns.lua deleted file mode 100644 index 24a4f40763..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.he.ordns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "ordns.he.net", - label = _("Hurricane Electric"), - resolver_url = "https://ordns.he.net/dns-query", - bootstrap_dns = "74.82.42.42,2001:470:20::2", - help_link = "https://forums.he.net/index.php?topic=3996.0", - help_link_text = "he.net" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.idnet.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.idnet.doh.lua deleted file mode 100644 index 9213b9988d..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.idnet.doh.lua +++ /dev/null @@ -1,6 +0,0 @@ -return{ - name = "doh.idnet.net", - label = _("IDNet.net - UK"), - resolver_url = "https://doh.idnet.net/dns-query", - bootstrap_dns = "212.69.36.23,212.69.40.23" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.adblocker.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.adblocker.lua deleted file mode 100644 index f5a37fa4a8..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.adblocker.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - name="adblock.doh.mullvad.net", - label=_("Mullvad (AdBlock)"), - resolver_url="https://adblock.doh.mullvad.net/dns-query", - bootstrap_dns="1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link="https://mullvad.net/en/help/dns-over-https-and-dns-over-tls/", - help_link_text="Mullvad.net", - http2_only = true -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.lua deleted file mode 100644 index 2857f642d2..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - name="doh.mullvad.net", - label=_("Mullvad"), - resolver_url="https://doh.mullvad.net/dns-query", - bootstrap_dns="1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link="https://mullvad.net/en/help/dns-over-https-and-dns-over-tls/", - help_link_text="Mullvad.net", - http2_only = true -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua deleted file mode 100644 index c627be3d68..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.quad9.net", - label = _("Quad 9 (Recommended)"), - resolver_url = "https://dns.quad9.net/dns-query", - bootstrap_dns = "9.9.9.9,149.112.112.112,2620:fe::fe,2620:fe::9", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua deleted file mode 100644 index 7abbdc4efc..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns10.quad9.net", - label = _("Quad 9 (Unsecured)"), - resolver_url = "https://dns10.quad9.net/dns-query", - bootstrap_dns = "9.9.9.10,149.112.112.10,2620:fe::10,2620:fe::fe:10", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua deleted file mode 100644 index 7e7dcdd56c..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns11.quad9.net", - label = _("Quad 9 (Secured with ECS Support)"), - resolver_url = "https://dns11.quad9.net/dns-query", - bootstrap_dns = "9.9.9.11,149.112.112.11,2620:fe::11,2620:fe::fe:11", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua deleted file mode 100644 index 6c2994ab41..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns9.quad9.net", - label = _("Quad 9 (Secured)"), - resolver_url = "https://dns9.quad9.net/dns-query", - bootstrap_dns = "9.9.9.9,149.112.112.9,2620:fe::fe,2620:fe::9", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.dns.lua deleted file mode 100644 index fe42ae3014..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "dns.comss.one", - label = _("Comss.ru DNS (West)"), - resolver_url = "https://dns.comss.one/dns-query", - bootstrap_dns = "92.38.152.163,93.115.24.204,2a03:90c0:56::1a5,2a02:7b40:5eb0:e95d::1" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.east.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.east.dns.lua deleted file mode 100644 index 9aff7f23df..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.east.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "dns.east.comss.one", - label = _("Comss.ru DNS (East)"), - resolver_url = "https://dns.east.comss.one/dns-query", - bootstrap_dns = "92.223.109.31,91.230.211.67,2a03:90c0:b5::1a,2a04:2fc0:39::47" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua deleted file mode 100644 index 09b3e250b7..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.cleanbrowsing.org-doh-adult-filter", - label = _("CleanBrowsing (Adult Filter)"), - resolver_url = "https://doh.cleanbrowsing.org/doh/adult-filter/", - bootstrap_dns = "185.228.168.168,1.1.1.1", - help_link = "https://cleanbrowsing.org/guides/dnsoverhttps", - help_link_text = "CleanBrowsing.org" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua deleted file mode 100644 index cd55277978..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.cleanbrowsing.org-doh-family-filter", - label = _("CleanBrowsing (Family Filter)"), - resolver_url = "https://doh.cleanbrowsing.org/doh/family-filter/", - bootstrap_dns = "185.228.168.168,1.1.1.1", - help_link = "https://cleanbrowsing.org/guides/dnsoverhttps", - help_link_text = "CleanBrowsing.org" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua deleted file mode 100644 index 339a0c2361..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "doh.cleanbrowsing.org-doh-security-filter", - label = _("CleanBrowsing (Security Filter)"), - resolver_url = "https://doh.cleanbrowsing.org/doh/security-filter/", - bootstrap_dns = "185.228.168.168,1.1.1.1", - help_link = "https://cleanbrowsing.org/guides/dnsoverhttps", - help_link_text = "CleanBrowsing.org" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.snopyta.dns.doh.fi.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.snopyta.dns.doh.fi.lua deleted file mode 100644 index b89b27da91..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.snopyta.dns.doh.fi.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "fi.doh.dns.snopyta.org", - label = _("Snopyta DNS - FI"), - resolver_url = "https://fi.doh.dns.snopyta.org/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", - help_link = "https://snopyta.org/service/dns/", - help_link_text = "Snopyta.org" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/pub.doh.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/pub.doh.lua deleted file mode 100644 index 1dfee88707..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/pub.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return{ - name = "doh.pub", - label = _("DNSPod Public DNS - CN"), - resolver_url = "https://doh.pub/dns-query", - bootstrap_dns = "119.29.29.29,119.28.28.28", - help_link = "https://www.dnspod.com/Products/Public.DNS", - help_link_text = "DNSPod.com" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/sb.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/sb.dns.lua deleted file mode 100644 index 5b23d3dd46..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/sb.dns.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - name = "doh.dns.sb", - label = _("DNS.SB"), - resolver_url = "https://doh.dns.sb/dns-query", - bootstrap_dns = "185.222.222.222,185.184.222.222", - http2_only = true, - help_link = "https://dns.sb/doh/", - help_link_text = "DNS.sb" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/tw.twnic.dns.lua b/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/tw.twnic.dns.lua deleted file mode 100644 index 628dd8be57..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/tw.twnic.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "dns.twnic.tw", - label = _("Quad 101 - TW"), - resolver_url = "https://dns.twnic.tw/dns-query", - bootstrap_dns = "101.101.101.101,101.102.103.104,2001:de4::101,2001:de4::102", - help_link = "https://blog.twnic.tw/2018/12/28/1803/", - help_link_text = "TWNIC.tw" -} diff --git a/applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua b/applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua deleted file mode 100644 index 8fa613a3d5..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua +++ /dev/null @@ -1,212 +0,0 @@ -local sys = require "luci.sys" -local util = require "luci.util" -local fs = require "nixio.fs" -local dispatcher = require "luci.dispatcher" -local i18n = require "luci.i18n" -local uci = require("luci.model.uci").cursor() - -local packageName = "https-dns-proxy" -local readmeURL = "https://docs.openwrt.melmac.net/" .. packageName .. "/" -local providers_dir = "/usr/lib/lua/luci/" .. packageName .. "/providers/" -local helperText = "" -local http2Supported = false - -function getPackageVersion() - local opkgFile = "/usr/lib/opkg/status" - local line - local flag = false - for line in io.lines(opkgFile) do - if flag then - return line:match('[%d%.$-]+') or "" - elseif line:find("Package: " .. packageName:gsub("%-", "%%%-")) then - flag = true - end - end - return "" -end - -function createHelperText() - local initText = translate("For more information on different options check") .. " " - for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - if p.help_link and (not p.http2_only or http2Supported) then - local url, domain - url = p.help_link - domain = p.help_link_text or url:match('^%w+://([^/]+)') - if not helperText:find(domain) then - if helperText == "" then - helperText = initText - else - helperText = helperText .. ", " - end - helperText = helperText .. [[]] .. domain .. [[]] - end - end - end - if helperText ~= "" then - local a = helperText:gsub('(.*),%s.*$', '%1') - helperText = a .. " " .. translate("and") .. helperText:sub(#a + 2) .. "." - end -end - -function getProviderName(value) - for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - value = value:gsub('[%p%c%s]', '') - p.url_match = p.resolver_url:gsub('[%p%c%s]', '') - if value:match(p.url_match) then - return p.label - end - end - return translate("Unknown Provider") -end - -local packageStatus, packageStatusCode -local ubusStatus = util.ubus("service", "list", { name = packageName }) -local packageVersion = getPackageVersion() - -if packageVersion == "" then - packageStatusCode, packageStatus = -1, translatef("%s is not installed or not found", packageName) -else - packageStatusCode, packageStatus = 1, "" - for n = 1,20 do - if ubusStatus and ubusStatus[packageName] and - ubusStatus[packageName]["instances"] and - ubusStatus[packageName]["instances"]["instance" .. n] and - ubusStatus[packageName]["instances"]["instance" .. n]["running"] then - local value, k, v, url, url_flag, la, la_flag, lp, lp_flag - for k, v in pairs(ubusStatus[packageName]["instances"]["instance" .. n]["command"]) do - if la_flag then la, la_flag = v, false end - if lp_flag then lp, lp_flag = v, false end - if url_flag then url, url_flag = v, false end - if v == "-a" then la_flag = true end - if v == "-p" then lp_flag = true end - if v == "-r" then url_flag = true end - end - la = la or "127.0.0.1" - lp = lp or n + 5053 - packageStatus = packageStatus .. translatef("%s DoH at %s:%s", getProviderName(url), la, lp) .. "\n" - else - break - end - end - if packageStatus == "" then - packageStatusCode = 0 - packageStatus = translate("Stopped") - if not sys.init.enabled(packageName) then - packageStatus = packageStatus .. " (" .. translate("disabled") .. ")" - end - end -end - -if sys.call("grep -q 'Provides: libnghttp2' /usr/lib/opkg/status") == 0 then - http2Supported = true -end - -m = Map("https-dns-proxy", translate("DNS HTTPS Proxy Settings")) - -h = m:section(TypedSection, "_dummy", translatef("Service Status [%s %s]", packageName, packageVersion)) -h.template = "cbi/nullsection" -ss = h:option(DummyValue, "_dummy", translate("Service Status")) -ss.template = packageName .. "/status" -ss.value = packageStatus -if packageStatusCode ~= -1 then - buttons = h:option(DummyValue, "_dummy", translate("Service Control")) - buttons.template = packageName .. "/buttons" -end - -c = m:section(NamedSection, "config", "https-dns-proxy", translate("Configuration")) -d1 = c:option(ListValue, "dnsmasq_config_update", translate("Update DNSMASQ Config on Start/Stop"), translatef("If update option is selected, the 'DNS forwardings' section of %sDHCP and DNS%s will be automatically updated to use selected DoH providers (%smore information%s).", "", "", "", "")) -d1:value('*', translate("Update all configs")) -local dnsmasq_num = 0 -uci:foreach("dhcp", "dnsmasq", function(s) -d1:value(tostring(dnsmasq_num), translatef("Update %s config", "dhcp.@dnsmasq[" .. tostring(dnsmasq_num) .. "]")) -dnsmasq_num = dnsmasq_num + 1 -end) -d1:value('-', translate("Do not update configs")) -d1.default = '*' -f1 = c:option(ListValue, "force_dns", translate("Force Router DNS"), translate("Forces Router DNS use on local devices, also known as DNS Hijacking.")) -f1:value("0", translate("Let local devices use their own DNS servers if set")) -f1:value("1", translate("Force Router DNS server to all local devices")) -f1.default = "1" -cdi = c:option(ListValue, "canary_domains_icloud", translate("Canary Domains iCloud"), translatef("Blocks access to iCloud Private Relay resolvers, forcing local devices to use router for DNS resolution (%smore information%s).", "", "")) -cdi:value("0", translate("Let local devices use iCloud Private Relay")) -cdi:value("1", translate("Force Router DNS server to all local devices")) -cdi:depends({force_dns="1"}) -cdi.default = "1" -cdm = c:option(ListValue, "canary_domains_mozilla", translate("Canary Domains Mozilla"), translatef("Blocks access to Mozilla resolvers, forcing local devices to use router for DNS resolution (%smore information%s).", "", "")) -cdm:value("0", translate("Let local devices use Mozilla resolvers")) -cdm:value("1", translate("Force Router DNS server to all local devices")) -cdm:depends({force_dns="1"}) -cdm.default = "1" - -createHelperText() -s3 = m:section(TypedSection, "https-dns-proxy", translate("Instances"), - helperText) -s3.template = "cbi/tblsection" -s3.sortable = false -s3.anonymous = true -s3.addremove = true - -prov = s3:option(ListValue, "resolver_url", translate("Resolver")) -for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - if not p.http2_only or http2Supported then - prov:value(p.resolver_url, p.label) - end - if p.default then - prov.default = p.resolver_url - end -end -prov.forcewrite = true -prov.write = function(self, section, value) - if not value then return end - for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - value = value:gsub('[%p%c%s]', '') - p.url_match = p.resolver_url:gsub('[%p%c%s]', '') - if value:match(p.url_match) then - if p.bootstrap_dns then - uci:set(packageName, section, "bootstrap_dns", p.bootstrap_dns) - end - if p.resolver_url then - uci:set(packageName, section, "resolver_url", p.resolver_url) - end - end - end - uci:save(packageName) -end - -la = s3:option(Value, "listen_addr", translate("Listen Address")) -la.datatype = "host" -la.placeholder = "127.0.0.1" -la.rmempty = true - -local n = 0 -uci:foreach(packageName, packageName, function(s) - if s[".name"] == section then - return false - end - n = n + 1 -end) - -lp = s3:option(Value, "listen_port", translate("Listen Port")) -lp.datatype = "port" -lp.value = n + 5053 - -dscp = s3:option(Value, "dscp_codepoint", translate("DSCP Codepoint")) -dscp.datatype = "range(0,63)" -dscp.rmempty = true - -ps = s3:option(Value, "proxy_server", translate("Proxy Server")) -ps.rmempty = true - -return m diff --git a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm b/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm deleted file mode 100644 index 6fd7ebd355..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm +++ /dev/null @@ -1,75 +0,0 @@ -<%# Copyright 2020 Stan Grishin -%> - -<%+https-dns-proxy/css%> -<%+https-dns-proxy/js%> - -<%- - local packageName = "https-dns-proxy" - local serviceRunning, serviceEnabled = false, false; - - serviceEnabled = luci.sys.init.enabled(packageName) - local ubusStatus = luci.util.ubus("service", "list", { name = packageName }) - if ubusStatus and ubusStatus[packageName] then - serviceRunning = true - end - - if serviceEnabled then - btn_start_status = true - btn_action_status = true - btn_stop_status = true - btn_enable_status = false - btn_disable_status = true - else - btn_start_status = false - btn_action_status = false - btn_stop_status = false - btn_enable_status = true - btn_disable_status = false - end - if serviceRunning then - btn_start_status = false - btn_action_status = true - btn_stop_status = true - else - btn_action_status = false - btn_stop_status = false - end --%> - -<%+cbi/valueheader%> - - - - - - -   -   -   -   - - - - -<%+cbi/valuefooter%> - -<%-if not btn_start_status then%> - -<%-end%> -<%-if not btn_action_status then%> - -<%-end%> -<%-if not btn_stop_status then%> - -<%-end%> -<%-if not btn_enable_status then%> - -<%-end%> -<%-if not btn_disable_status then%> - -<%-end%> diff --git a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm b/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm deleted file mode 100644 index 6fb3d51d3b..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm b/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm deleted file mode 100644 index fac92a3925..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm +++ /dev/null @@ -1,60 +0,0 @@ - - diff --git a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm b/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm deleted file mode 100644 index 3840cd19d4..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm +++ /dev/null @@ -1,13 +0,0 @@ -<%# -Copyright 2017-2019 Stan Grishin (stangri@melmac.net) -This is free software, licensed under the Apache License, Version 2.0 --%> - -<%+cbi/valueheader%> - - - -<%+cbi/valuefooter%> diff --git a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm b/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm deleted file mode 100644 index b02c7faa82..0000000000 --- a/applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm +++ /dev/null @@ -1,12 +0,0 @@ -<%# -Copyright 2017-2018 Dirk Brenken (dev@brenken.org) -This is free software, licensed under the Apache License, Version 2.0 --%> - -<%+cbi/valueheader%> - -
- <%=self:cfgvalue(section):gsub('\n', '
' )%> -
- -<%+cbi/valuefooter%> diff --git a/applications/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot b/applications/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot index b4c2232910..f2019142fb 100644 --- a/applications/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot +++ b/applications/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot @@ -1,491 +1,258 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92 -msgid "%s DoH at %s:%s" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:258 +msgid "%s%s%s proxy at %s on port %s.%s" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:73 -msgid "%s is not installed or not found" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:250 +msgid "%s%s%s proxy on port %s.%s" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.360.doh.lua:3 -msgid "360 Secure DNS - CN" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns-nonfiltering.lua:3 -msgid "AdGuard (Non-filtering)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.adguard-dns.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.au.doh.lua:3 -msgid "AhaDNS - AU (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.es.doh.lua:3 -msgid "AhaDNS - ES (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.in.doh.lua:3 -msgid "AhaDNS - IN (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.it.doh.lua:3 -msgid "AhaDNS - IT (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.nl.doh.lua:3 -msgid "AhaDNS - NL (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.no.doh.lua:3 -msgid "AhaDNS - NO (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.pl.doh.lua:3 -msgid "AhaDNS - PL (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.chi.doh.lua:3 -msgid "AhaDNS - US/Chicago (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.la.doh.lua:3 -msgid "AhaDNS - US/Los Angeles (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.ny.doh.lua:3 -msgid "AhaDNS - US/New York (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.ahadns.blitz.lua:3 -msgid "AhaDNS Blitz (Configurable)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.alidns.dns.lua:3 -msgid "AliDNS - CN" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.applied-privacy.lua:3 -msgid "Applied Privacy DNS - AT/DE" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-ch.lua:3 -msgid "BlahDNS - CH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-de.lua:3 -msgid "BlahDNS - DE" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-fi.lua:3 -msgid "BlahDNS - FI" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-jp.lua:3 -msgid "BlahDNS - JP" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.blahdns.doh-sg.lua:3 -msgid "BlahDNS - SG" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:141 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:136 msgid "" -"Blocks access to Mozilla resolvers, forcing local devices to use router for " -"DNS resolution (%smore information%s)." +"Blocks access to Mozilla Encrypted resolvers, forcing local devices to use " +"router for DNS resolution (%smore information%s)." msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:120 msgid "" "Blocks access to iCloud Private Relay resolvers, forcing local devices to " "use router for DNS resolution (%smore information%s)." msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua:3 -msgid "CFIEC Public DNS (IPv6 Only)" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:316 +msgid "Bootstrap DNS" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.family.lua:3 -msgid "CIRA Canadian Shield (Family)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.private.lua:3 -msgid "CIRA Canadian Shield (Private)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.protected.lua:3 -msgid "CIRA Canadian Shield (Protected)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:141 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:134 msgid "Canary Domains Mozilla" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:118 msgid "Canary Domains iCloud" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.family.lua:3 -msgid "Cloudflare (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.security.lua:3 -msgid "Cloudflare (Security Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.east.dns.lua:3 -msgid "Comss.ru DNS (East)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/one.comss.dns.lua:3 -msgid "Comss.ru DNS (West)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:122 -msgid "Configuration" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads-social.lua:3 -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p3.lua:3 -msgid "ControlD (Block Malware + Ads + Social)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware-ads.lua:3 -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p2.lua:3 -msgid "ControlD (Block Malware + Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.malware.lua:3 -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p1.lua:3 -msgid "ControlD (Block Malware)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.family.lua:3 -msgid "ControlD (Family)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.p0.lua:3 -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.controld.freedns.unfiltered.lua:3 -msgid "ControlD (Unfiltered)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnsforfamily.dns-doh.lua:3 -msgid "DNS For Family" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/de.dnsforge.lua:3 -msgid "DNS Forge - DE" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:110 -msgid "DNS HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns1.lua:3 -msgid "DNSCrypt.ca (DNS1)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ca.dnscrypt.dns2.lua:3 -msgid "DNSCrypt.ca (DNS2)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/pub.doh.lua:3 -msgid "DNSPod Public DNS - CN" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.dnslify.doh.lua:3 -msgid "DNSlify DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:205 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:339 msgid "DSCP Codepoint" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.decloudus.dns.lua:3 -msgid "DeCloudUs DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft - CH" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:376 +msgid "Disable" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:56 -msgid "Disable" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:370 +msgid "Disabling %s service" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:130 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:102 msgid "Do not update configs" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:357 msgid "Enable" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ffmuc.doh.lua:3 -msgid "FFMUC DNS - DE" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:351 +msgid "Enabling %s service" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:29 -msgid "For more information on different options check" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:171 +msgid "Force DNS ports:" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:132 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:108 msgid "Force Router DNS" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:134 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:138 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:112 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:127 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:146 msgid "Force Router DNS server to all local devices" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:132 -msgid "Forces Router DNS use on local devices, also known as DNS Hijacking." +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:367 +msgid "Force use of HTTP/1" +msgstr "" + +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:378 +msgid "Force use of IPv6 DNS resolvers" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:109 +msgid "Forces Router DNS use on local devices, also known as DNS Hijacking." msgstr "" #: applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json:3 msgid "Grant UCI and file access for luci-app-https-dns-proxy" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.he.ordns.lua:3 -msgid "Hurricane Electric" +#: applications/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json:3 +msgid "HTTPS DNS Proxy" +msgstr "" + +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:72 +msgid "HTTPS DNS Proxy - Configuration" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.idnet.doh.lua:3 -msgid "IDNet.net - UK" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:173 +msgid "HTTPS DNS Proxy - Instances" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/jp.iij.dns.public.lua:3 -msgid "IIJ Public DNS - JP" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:161 +msgid "HTTPS DNS Proxy - Status" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:123 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:80 msgid "" -"If update option is selected, the 'DNS forwardings' section of %sDHCP and " +"If update option is selected, the %s'DNS forwardings' section of DHCP and " "DNS%s will be automatically updated to use selected DoH providers (%smore " "information%s)." msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:148 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/fi.lelux.resolver-eu.lua:3 -msgid "Lelux DNS - FI" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:145 +msgid "Let local devices use Mozilla Private Relay" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:142 -msgid "Let local devices use Mozilla resolvers" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:137 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:126 msgid "Let local devices use iCloud Private Relay" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:133 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:111 msgid "Let local devices use their own DNS servers if set" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua:3 -msgid "LibreDNS - GR" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua:3 -msgid "LibreDNS - GR (No Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:188 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:320 msgid "Listen Address" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:201 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:326 msgid "Listen Port" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.lua:3 -msgid "Mullvad" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:349 +msgid "Logging File Path" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.mullvad.doh.adblocker.lua:3 -msgid "Mullvad (AdBlock)" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:344 +msgid "Logging Verbosity" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.nextdns.dns.lua:3 -msgid "NextDNS.io (Configurable)" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:187 +msgid "Not installed or not found" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:249 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:281 +msgid "Parameter" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.pumplex.dns.lua:3 -msgid "OSZX DNS (Pumplex)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/co.osxz.dns.lua:3 -msgid "OSZX DNS - UK" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:154 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:163 +msgid "" +"Please note that %s is not supported on this system (%smore information%s)." msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.doh.lua:3 -msgid "OpenDNS" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:353 +msgid "Polling Interval" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.opendns.familyshield.doh.lua:3 -msgid "OpenDNS (Family Shield)" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:215 +msgid "Provider" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:209 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:358 msgid "Proxy Server" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/tw.twnic.dns.lua:3 -msgid "Quad 101 - TW" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:319 +msgid "Restart" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:155 -msgid "Resolver" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:313 +msgid "Restarting %s service" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/lu.restena.kaitain.lua:3 -msgid "Restena DNS - LU" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:335 +msgid "Run As Group" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.rethinkdns.basic.lua:3 -msgid "Rethink DNS (Configurable)" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:331 +msgid "Run As User" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/io.seby.doh-2.lua:3 -msgid "Seby DNS - AU" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:203 +msgid "See the %sREADME%s for details." msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:118 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:402 msgid "Service Control" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:114 -msgid "Service Status" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:201 +msgid "Service Instances" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:112 -msgid "Service Status [%s %s]" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:165 +msgid "Service Status" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.snopyta.dns.doh.fi.lua:3 -msgid "Snopyta DNS - FI" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:300 +msgid "Start" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:40 -msgid "Start" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:294 +msgid "Starting %s service" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:46 +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:338 msgid "Stop" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Stopped" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:332 +msgid "Stopping %s service" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ch.switch.dns.lua:3 -msgid "Switch DNS - CH" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:211 +msgid "Unknown" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.jp.lua:3 -msgid "Tiarap Public DNS - JP" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:100 +msgid "Update %s only" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/app.tiar.doh.lua:3 -msgid "Tiarap Public DNS - SG" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:78 +msgid "Update DNSMASQ Config on Start/Stop" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.edu.tsinghua.tuna.dns.lua:3 -msgid "Tsinghua University Secure DNS - CN" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:88 +msgid "Update all configs" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:65 -msgid "Unknown Provider" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:362 +msgid "Use HTTP/1" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:127 -msgid "Update %s config" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:372 +msgid "Use IPv6 resolvers" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:123 -msgid "Update DNSMASQ Config on Start/Stop" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:377 +msgid "Use any family DNS resolvers" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:124 -msgid "Update all configs" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:366 +msgid "Use negotiated HTTP version" msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:50 -msgid "and" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:169 +msgid "Version %s - Running." msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:101 -msgid "disabled" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:181 +msgid "Version %s - Stopped (Disabled)." msgstr "" -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" +#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:179 +msgid "Version %s - Stopped." msgstr "" diff --git a/applications/luci-app-https-dns-proxy/root/usr/libexec/rpcd/luci.https-dns-proxy b/applications/luci-app-https-dns-proxy/root/usr/libexec/rpcd/luci.https-dns-proxy new file mode 100755 index 0000000000..8400af5f1f --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/libexec/rpcd/luci.https-dns-proxy @@ -0,0 +1,206 @@ +#!/bin/sh +# Copyright 2023 MOSSDeF, Stan Grishin (stangri@melmac.ca) +# shellcheck disable=SC1091,SC2039,SC3043 + +# TechRef: https://openwrt.org/docs/techref/rpcd + +# ubus -v list luci.https-dns-proxy +# ubus -S call luci.https-dns-proxy getInitList '{"name": "https-dns-proxy" }' +# ubus -S call luci.https-dns-proxy getInitStatus '{"name": "https-dns-proxy" }' +# ubus -S call luci.https-dns-proxy getPlatformSupport '{"name": "https-dns-proxy" }' +# ubus -S call luci.https-dns-proxy getProviders '{"name": "https-dns-proxy" }' +# ubus -S call luci.https-dns-proxy getRuntime '{"name": "https-dns-proxy" }' + +readonly packageName="https-dns-proxy" +readonly providersDir="/usr/share/${packageName}/providers" + +. /lib/functions.sh +. /usr/share/libubox/jshn.sh + +is_enabled() { "/etc/init.d/${1}" enabled; } +is_running() { [ "$(ubus call service list "{ 'name': '$1' }" | jsonfilter -q -e "@['$1'].instances[*].running" | uniq)" = 'true' ]; } +get_version() { grep -m1 -A2 -w "^Package: $1$" /usr/lib/opkg/status | sed -n 's/Version: //p'; } +check_http2() { grep -q 'Provides: libnghttp2' /usr/lib/opkg/status; } +check_http3() { grep -q 'Provides: libnghttp3' /usr/lib/opkg/status; } +ubus_get_ports() { ubus call service list "{ 'name': '$packageName' }" | jsonfilter -e "@['${packageName}'].instances[*].data.firewall.*.dest_port"; } +logger() { /usr/bin/logger -t "$packageName" "$@"; } +print_json_bool() { json_init; json_add_boolean "$1" "$2"; json_dump; json_cleanup; } + +get_init_list() { + local name="$1" + json_init + json_add_object "$name" + if is_enabled "$name"; then + json_add_boolean 'enabled' '1' + else + json_add_boolean 'enabled' '0' + fi + if is_running "$name"; then + json_add_boolean 'running' '1' + else + json_add_boolean 'running' '0' + fi + json_close_object + json_dump + json_cleanup +} + +get_init_status() { + local name + local i ports + local version + name="$(basename "$1")" + name="${name:-$packageName}" + ports="$(ubus_get_ports)" + [ -z "$version" ] && version="$(get_version "$name")" + json_init + json_add_object "$name" + if is_enabled "$name"; then + json_add_boolean 'enabled' '1' + else + json_add_boolean 'enabled' '0' + fi + if is_running "$name"; then + json_add_boolean 'running' '1' + else + json_add_boolean 'running' '0' + fi + if [ -n "$ports" ]; then + json_add_boolean 'force_dns_active' '1' + json_add_array 'force_dns_ports' + for i in $ports; do json_add_int '' "$i"; done + json_close_array + else + json_add_boolean 'force_dns_active' '0' + fi + json_add_string 'version' "$version" + json_close_array + json_close_object + json_dump + json_cleanup +} + +get_platform_support() { + local name + name="$(basename "$1")" + name="${name:-$packageName}" + json_init + json_add_object "$name" + if check_http2; then + json_add_boolean 'http2_support' '1' + else + json_add_boolean 'http2_support' '0' + fi + if check_http3; then + json_add_boolean 'http3_support' '1' + else + json_add_boolean 'http3_support' '0' + fi + json_close_object + json_dump + json_cleanup +} + +get_providers() { + local f + echo '{"https-dns-proxy":[' + for f in "$providersDir"/*; do + cat "$f" + echo ',' + done +# echo '{ "title": "Custom", "template": "{option}", "params": { "option": { "type": "text", }, }, },' + echo ']}' +} + +get_runtime() { ubus call service list "{ 'verbose': true, 'name': '$1' }"; } + +set_init_action() { + local name="$1" action="$2" cmd + case $action in + enable) + cmd="/etc/init.d/${name} enable";; + disable) + cmd="/etc/init.d/${name} disable";; + start|stop|restart) + cmd="/etc/init.d/${name} ${action}";; + esac + if [ -n "$cmd" ] && eval "${cmd}" >/dev/null 2>&1; then + print_json_bool "result" '1' + else + print_json_bool "result" '0' + fi +} + +case "$1" in + list) + json_init + json_add_object "getInitList" + json_add_string 'name' "name" + json_close_object + json_add_object "getInitStatus" + json_add_string 'name' 'name' + json_close_object + json_add_object "getPlatformSupport" + json_add_string 'name' 'name' + json_close_object + json_add_object "getProviders" + json_add_string 'name' "name" + json_close_object + json_add_object "getRuntime" + json_add_string 'name' "name" + json_close_object + json_add_object "setInitAction" + json_add_string 'name' "name" + json_add_string 'action' "action" + json_close_object + json_dump + json_cleanup + ;; + call) + case "$2" in + getInitList) + read -r input + json_load "$input" + json_get_var name "name" + json_cleanup + get_init_list "$name" + ;; + getInitStatus) + read -r input + json_load "$input" + json_get_var name 'name' + json_cleanup + get_init_status "$name" + ;; + getPlatformSupport) + read -r input + json_load "$input" + json_get_var name 'name' + json_cleanup + get_platform_support "$name" + ;; + getProviders) + read -r input + json_load "$input" + json_get_var name "name" + json_cleanup + get_providers "$name" + ;; + getRuntime) + read -r input + json_load "$input" + json_get_var name "name" + json_cleanup + get_runtime "$name" + ;; + setInitAction) + read -r input + json_load "$input" + json_get_var name "name" + json_get_var action "action" + json_cleanup + set_init_action "$name" "$action" + ;; + esac + ;; +esac diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json new file mode 100644 index 0000000000..6fe4ec72d5 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json @@ -0,0 +1,24 @@ +{ + "title": "Tiarap Public DNS (JP)", + "template": "https://doh.{option}/dns-query", + "bootstrap_dns": "172.104.93.80,2400:8902::f03c:91ff:feda:c514", + "help_link": "https://tiarap.org/", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(tiar.app|tiarap.org)", + "options": [ + { + "value": "tiar.app", + "description": "Direct" + }, + { + "value": "tiarap.org", + "description": "Cloudlfare Cached" + } + ], + "default": "tiar.app" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json new file mode 100644 index 0000000000..9fd0f9a8d9 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json @@ -0,0 +1,28 @@ +{ + "title": "CIRA Canadian Shield", + "template": "https://{option}.canadianshield.cira.ca/dns-query", + "bootstrap_dns": "149.112.121.30,149.112.122.30,2620:10A:80BB::30,2620:10A:80BC::30", + "help_link": "https://www.cira.ca/cybersecurity-services/canadian-shield/", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(family|private|protected)", + "options": [ + { + "value": "family", + "description": "Family Filter" + }, + { + "value": "private", + "description": "Private Filter" + }, + { + "value": "Protected", + "description": "Protected Filter" + } + ], + "default": "private" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.json new file mode 100644 index 0000000000..ec3b9466cc --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.json @@ -0,0 +1,7 @@ +{ + "title": "Digitale Gesellschaft (CH)", + "template": "https://dns.digitale-gesellschaft.ch/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "http2_only": true, + "help_link": "https://www.digitale-gesellschaft.ch/dns/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.switch.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.switch.dns.json new file mode 100644 index 0000000000..19e36079df --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.switch.dns.json @@ -0,0 +1,6 @@ +{ + "title": "Switch DNS (CH)", + "template": "https://dns.switch.ch/dns-query", + "bootstrap_dns": "130.59.31.248,2001:620:0:ff::2", + "help_link": "https://www.switch.ch/security/info/public-dns/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.360.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.360.doh.json new file mode 100644 index 0000000000..ef97fa27e5 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.360.doh.json @@ -0,0 +1,5 @@ +{ + "title": "DoH 360 DNS (CN)", + "template": "https://doh.360.cn/dns-query", + "bootstrap_dns": "101.226.4.6,218.30.118.6,123.125.81.6,140.207.198.6" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.rubyfish.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.rubyfish.dns.json new file mode 100644 index 0000000000..ee75e953a2 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.rubyfish.dns.json @@ -0,0 +1,6 @@ +{ + "title": "RubyFish (CN)", + "template": "https://dns.rubyfish.cn/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "http2_only": true +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json new file mode 100644 index 0000000000..943aca80bc --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json @@ -0,0 +1,24 @@ +{ + "title": "OSZX DNS (UK)", + "template": "https://doh.{option}/dns-query", + "bootstrap_dns": "51.38.82.198,2001:41d0:801:2000::1b28", + "help_link": "https://dns.oszx.co/#mdoh", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(oszx.co|pumplex.com)", + "options": [ + { + "value": "oszx.co", + "description": "AdBlocking Filter" + }, + { + "value": "pumplex.com", + "description": "Standard" + } + ], + "default": "oszx.co" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json new file mode 100644 index 0000000000..f685ba4d60 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json @@ -0,0 +1,24 @@ +{ + "title": "AdGuard", + "template": "https://dns{option}.adguard.com/dns-query", + "bootstrap_dns": "176.103.130.130,176.103.130.131", + "help_link": "https://adguard.com/en/adguard-dns/overview.html", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(-family|)", + "options": [ + { + "value": "-family", + "description": "Family Filter" + }, + { + "value": "", + "description": "Standard" + } + ], + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.ahadns.blitz.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.ahadns.blitz.json new file mode 100644 index 0000000000..b2c463fd1a --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.ahadns.blitz.json @@ -0,0 +1,13 @@ +{ + "title": "AhaDNS Blitz", + "template": "https://blitz.ahadns.com/{option}", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://blitz-setup.ahadns.com/", + "params": { + "option": { + "description": "Filters", + "type": "text", + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.alidns.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.alidns.dns.json new file mode 100644 index 0000000000..b32694b417 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.alidns.dns.json @@ -0,0 +1,5 @@ +{ + "title": "AliDNS", + "template": "https://dns.alidns.com/dns-query", + "bootstrap_dns": "223.5.5.5,223.6.6.6,2400:3200::1,2400:3200:baba::1" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json new file mode 100644 index 0000000000..a101c9030d --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json @@ -0,0 +1,36 @@ +{ + "title": "BlahDNS", + "template": "https://doh-{option}.blahdns.com/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://blahdns.com/", + "params": { + "option": { + "description": "Location", + "type": "select", + "regex": "(ch|de|fi|jp|sg)", + "options": [ + { + "value": "ch", + "description": "Switzerland" + }, + { + "value": "de", + "description": "Germany" + }, + { + "value": "fi", + "description": "Finland" + }, + { + "value": "jp", + "description": "Japan" + }, + { + "value": "sg", + "description": "Singapore" + } + ], + "default": "ch" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json new file mode 100644 index 0000000000..16f668911d --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json @@ -0,0 +1,28 @@ +{ + "title": "Cloudflare", + "template": "https://{option}cloudflare-dns.com/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001", + "help_link": "https://one.one.one.one/", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(family.||security.)", + "options": [ + { + "value": "family.", + "description": "Family Filter" + }, + { + "value": "", + "description": "Standard" + }, + { + "value": "security.", + "description": "Security Filter" + } + ], + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json new file mode 100644 index 0000000000..8ee2dc3804 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json @@ -0,0 +1,36 @@ +{ + "title": "ControlD", + "template": "https://freedns.controld.com/{option}", + "bootstrap_dns": "76.76.2.0,2606:1a40::0", + "help_link": "https://kb.controld.com/tutorials", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(family|p0|p1|p2|p3)", + "options": [ + { + "value": "family", + "description": "Family Filter" + }, + { + "value": "p0", + "description": "Standard" + }, + { + "value": "p1", + "description": "Malware Filter" + }, + { + "value": "p2", + "description": "Ads + Malware Filter" + }, + { + "value": "p3", + "description": "Ads + Malware + Social Filter" + } + ], + "default": "p0" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.decloudus.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.decloudus.dns.json new file mode 100644 index 0000000000..9d7053c5eb --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.decloudus.dns.json @@ -0,0 +1,6 @@ +{ + "title": "DeCloudUs DNS", + "template": "https://dns.decloudus.com/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://decloudus.com/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnsforfamily.dns-doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnsforfamily.dns-doh.json new file mode 100644 index 0000000000..c39427dade --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnsforfamily.dns-doh.json @@ -0,0 +1,6 @@ +{ + "title": "DNS For Family", + "template": "https://dns-doh.dnsforfamily.com/dns-query", + "bootstrap_dns": "94.130.180.225,78.47.64.161", + "help_link": "https://dnsforfamily.com/#DNS_Servers_DNS_Over_HTTPS" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnslify.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnslify.doh.json new file mode 100644 index 0000000000..73421f5c66 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnslify.doh.json @@ -0,0 +1,6 @@ +{ + "title": "DNSlify DNS", + "template": "https://doh.dnslify.com/dns-query", + "bootstrap_dns": "185.235.81.1,185.235.81.2,2a0d:4d00:81::1,2a0d:4d00:81::2", + "help_link": "https://www.dnslify.com/services/doh/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json new file mode 100644 index 0000000000..b9989d5383 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json @@ -0,0 +1,24 @@ +{ + "title": "OpenDNS", + "template": "https://doh.{option}opendns.com/dns-query", + "bootstrap_dns": "208.67.222.222,208.67.220.220", + "help_link": "https://support.opendns.com/hc/en-us/articles/360038086532-Using-DNS-over-HTTPS-DoH-with-OpenDNS", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(family.|)", + "options": [ + { + "value": "family.", + "description": "Family Filter" + }, + { + "value": "", + "description": "Standard" + } + ], + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.rethinkdns.sky.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.rethinkdns.sky.json new file mode 100644 index 0000000000..890438966f --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.rethinkdns.sky.json @@ -0,0 +1,13 @@ +{ + "title": "Rethink DNS", + "template": "https://sky.rethinkdns.com/{option}", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://www.rethinkdns.com/configure", + "params": { + "option": { + "description": "Filters", + "type": "text", + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cz.nic.odvr.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cz.nic.odvr.json new file mode 100644 index 0000000000..296f38ae0d --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cz.nic.odvr.json @@ -0,0 +1,5 @@ +{ + "title": "ODVR (CZ)", + "template": "https://odvr.nic.cz/doh", + "bootstrap_dns": "193.17.47.1,185.43.135.1" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/de.dnsforge.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/de.dnsforge.json new file mode 100644 index 0000000000..a334e6a677 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/de.dnsforge.json @@ -0,0 +1,6 @@ +{ + "title": "DNS Forge (DE)", + "template": "https://dnsforge.de/dns-query", + "bootstrap_dns": "176.9.93.198,176.9.1.117,2a01:4f8:151:34aa::198,2a01:4f8:141:316d::117", + "help_link": "https://dnsforge.de/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/fi.lelux.resolver-eu.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/fi.lelux.resolver-eu.json new file mode 100644 index 0000000000..6372c9e5ac --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/fi.lelux.resolver-eu.json @@ -0,0 +1,6 @@ +{ + "title": "Lelux DNS (FI)", + "template": "https://resolver-eu.lelux.fi/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://lelux.fi/resolver/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/google.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/google.dns.json new file mode 100644 index 0000000000..64d8e86f24 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/google.dns.json @@ -0,0 +1,6 @@ +{ + "title": "Google", + "template": "https://dns.google/dns-query", + "bootstrap_dns": "8.8.8.8,8.8.4.4", + "default": true +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json new file mode 100644 index 0000000000..037289f515 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json @@ -0,0 +1,24 @@ +{ + "title": "LibreDNS (GR)", + "template": "https://doh.libredns.gr/{option}", + "bootstrap_dns": "116.202.176.26", + "help_link": "https://libredns.gr/", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(ads|dns-query)", + "options": [ + { + "value": "ads", + "description": "AdBlocking Filter" + }, + { + "value": "dns-query", + "description": "Standard" + } + ], + "default": "dns-query" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.nextdns.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.nextdns.dns.json new file mode 100644 index 0000000000..753b78523c --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.nextdns.dns.json @@ -0,0 +1,13 @@ +{ + "title": "NextDNS.io", + "template": "https://dns.nextdns.io/{option}", + "bootstrap_dns": "45.90.28.49,45.90.30.49", + "help_link": "https://my.nextdns.io", + "params": { + "option": { + "description": "Username", + "type": "text", + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.seby.doh-2.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.seby.doh-2.json new file mode 100644 index 0000000000..90b6be7927 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.seby.doh-2.json @@ -0,0 +1,6 @@ +{ + "title": "Seby DNS (AU)", + "template": "https://doh-2.seby.io/dns-query", + "bootstrap_dns": "45.76.113.31,139.99.222.72", + "help_link": "https://dns.seby.io/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/jp.iij.dns.public.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/jp.iij.dns.public.json new file mode 100644 index 0000000000..ffd8be7515 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/jp.iij.dns.public.json @@ -0,0 +1,6 @@ +{ + "title": "IIJ Public DNS (JP)", + "template": "https://public.dns.iij.jp/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://www.iij.ad.jp/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/lu.restena.kaitain.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/lu.restena.kaitain.json new file mode 100644 index 0000000000..1dcc11f903 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/lu.restena.kaitain.json @@ -0,0 +1,7 @@ +{ + "title": "Restena DNS (LU)", + "template": "https://kaitain.restena.lu/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://www.restena.lu/en/service/public-dns-resolver", + "http2_only": true +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json new file mode 100644 index 0000000000..2acdcee955 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json @@ -0,0 +1,56 @@ +{ + "title": "AhaDNS Regional", + "template": "https://doh.{option}.ahadns.net/dns-query", + "bootstrap_dns": "185.213.26.187,45.67.219.208,5.2.75.75,45.79.120.233,2a0d:5600:33:3::3,2a04:bdc7:100:70::70,2a04:52c0:101:75::75,2400:8904:e001:43::43", + "help_link": "https://ahadns.com/dns-over-https/", + "params": { + "option": { + "description": "Location", + "type": "select", + "regex": "(au|chi|es|in|it|la|nl|no|ny|pl)", + "options": [ + { + "value": "au", + "description": "Australia" + }, + { + "value": "chi", + "description": "US/Chicago" + }, + { + "value": "es", + "description": "Spain" + }, + { + "value": "in", + "description": "India" + }, + { + "value": "it", + "description": "Italy" + }, + { + "value": "la", + "description": "US/Los Angeles" + }, + { + "value": "nl", + "description": "Netherlands" + }, + { + "value": "no", + "description": "Norway" + }, + { + "value": "ny", + "description": "US/New York" + }, + { + "value": "pl", + "description": "Poland" + } + ], + "default": "chi" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.applied-privacy.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.applied-privacy.doh.json new file mode 100644 index 0000000000..d24e7f1016 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.applied-privacy.doh.json @@ -0,0 +1,6 @@ +{ + "title": "Applied Privacy DNS (AT)", + "template": "https://doh.applied-privacy.net/query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://applied-privacy.net/services/dns/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.cfiec.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.cfiec.dns.json new file mode 100644 index 0000000000..fcca173586 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.cfiec.dns.json @@ -0,0 +1,5 @@ +{ + "title": "CFIEC Public IPv6 Only DNS (CN)", + "template": "https://dns.cfiec.net/dns-query", + "bootstrap_dns": "240C::6666,240C::6644" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ffmuc.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ffmuc.doh.json new file mode 100644 index 0000000000..5c0d6a0416 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ffmuc.doh.json @@ -0,0 +1,6 @@ +{ + "title": "FFMUC DNS (DE)", + "template": "https://doh.ffmuc.net/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://ffmuc.net/wiki/doku.php?id=knb:dohdot" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.he.ordns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.he.ordns.json new file mode 100644 index 0000000000..6a2be8c6c6 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.he.ordns.json @@ -0,0 +1,6 @@ +{ + "title": "Hurricane Electric", + "template": "https://ordns.he.net/dns-query", + "bootstrap_dns": "74.82.42.42,2001:470:20::2", + "help_link": "https://forums.he.net/index.php?topic=3996.0" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.idnet.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.idnet.doh.json new file mode 100644 index 0000000000..9e6fdf779f --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.idnet.doh.json @@ -0,0 +1,5 @@ +{ + "title": "IDNet (UK)", + "template": "https://doh.idnet.net/dns-query", + "bootstrap_dns": "212.69.36.23,212.69.40.23" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json new file mode 100644 index 0000000000..18dad9c214 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json @@ -0,0 +1,25 @@ +{ + "title": "Mullvad", + "template": "https://{option}doh.mullvad.net/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://mullvad.net/en/help/dns-over-https-and-dns-over-tls/", + "http2_only": true, + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(adblock.|)", + "options": [ + { + "value": "adblock.", + "description": "AdBlocking Filter" + }, + { + "value": "", + "description": "Standard" + } + ], + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json new file mode 100644 index 0000000000..b3b5d6f92f --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json @@ -0,0 +1,32 @@ +{ + "title": "Quad 9", + "template": "https://{option}.quad9.net/dns-query", + "bootstrap_dns": "9.9.9.9,149.112.112.112,2620:fe::fe,2620:fe::9", + "help_link": "https://www.quad9.net/doh-quad9-dns-servers/", + "params": { + "option": { + "description": "Variant", + "type": "select", + "regex": "(dns|dns9|dns10|dns11)", + "options": [ + { + "value": "dns", + "description": "Standard" + }, + { + "value": "dns9", + "description": "Secured" + }, + { + "value": "dns10", + "description": "Unsecured" + }, + { + "value": "dns11", + "description": "Secured with ECS Support" + } + ], + "default": "dns" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json new file mode 100644 index 0000000000..85dd5cc663 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json @@ -0,0 +1,23 @@ +{ + "title": "Comss DNS (RU)", + "template": "https://dns.{option}comss.one/dns-query", + "bootstrap_dns": "92.38.152.163,93.115.24.204,2a03:90c0:56::1a5,2a02:7b40:5eb0:e95d::1", + "params": { + "option": { + "description": "Location", + "type": "select", + "regex": "(east.|)", + "options": [ + { + "value": "east.", + "description": "Siberia" + }, + { + "value": "", + "description": "Moscow, St Petersburg" + } + ], + "default": "" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json new file mode 100644 index 0000000000..fa21e53b24 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json @@ -0,0 +1,28 @@ +{ + "title": "CleanBrowsing", + "template": "https://doh.cleanbrowsing.org/doh/{option}-filter/", + "bootstrap_dns": "185.228.168.168", + "help_link": "https://cleanbrowsing.org/guides/dnsoverhttps", + "params": { + "option": { + "description": "Filter", + "type": "select", + "regex": "(adult|family|security)", + "options": [ + { + "value": "adult", + "description": "Adult Content Filter" + }, + { + "value": "family", + "description": "Family Filter" + }, + { + "value": "security", + "description": "Security Filter" + } + ], + "default": "security" + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.snopyta.dns.doh.fi.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.snopyta.dns.doh.fi.json new file mode 100644 index 0000000000..521933c52d --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.snopyta.dns.doh.fi.json @@ -0,0 +1,6 @@ +{ + "title": "Snopyta DNS (FI)", + "template": "https://fi.doh.dns.snopyta.org/dns-query", + "bootstrap_dns": "1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001,8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844", + "help_link": "https://snopyta.org/service/dns/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/pub.doh.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/pub.doh.json new file mode 100644 index 0000000000..0a381b1fdd --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/pub.doh.json @@ -0,0 +1,5 @@ +{ + "title": "DNSPod Public DNS (CN)", + "template": "https://doh.pub/dns-query", + "bootstrap_dns": "119.29.29.29,119.28.28.28" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/sb.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/sb.dns.json new file mode 100644 index 0000000000..f061b17a6b --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/sb.dns.json @@ -0,0 +1,7 @@ +{ + "title": "DoH DNS (SB)", + "template": "https://doh.dns.sb/dns-query", + "bootstrap_dns": "185.222.222.222,185.184.222.222", + "help_link": "https://dns.sb/doh/", + "http2_only": true +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/tw.twnic.dns.json b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/tw.twnic.dns.json new file mode 100644 index 0000000000..ddcd9a3a49 --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/tw.twnic.dns.json @@ -0,0 +1,6 @@ +{ + "title": "Quad 101 (TW)", + "template": "https://dns.twnic.tw/dns-query", + "bootstrap_dns": "101.101.101.101,101.102.103.104,2001:de4::101,2001:de4::102", + "help_link": "https://blog.twnic.tw/2018/12/28/1803/" +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json b/applications/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json new file mode 100644 index 0000000000..4b221459bb --- /dev/null +++ b/applications/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json @@ -0,0 +1,15 @@ +{ + "admin/services/https-dns-proxy": { + "title": "HTTPS DNS Proxy", + "order": 90, + "action": { + "type": "view", + "path": "https-dns-proxy/overview" + }, + "depends": { + "acl": [ + "luci-app-https-dns-proxy" + ] + } + } +} diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json b/applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json index 97f8c6df41..6603d3596a 100644 --- a/applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json +++ b/applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json @@ -2,28 +2,29 @@ "luci-app-https-dns-proxy": { "description": "Grant UCI and file access for luci-app-https-dns-proxy", "read": { - "cgi-io": [ - "exec" - ], - "file": { - "/usr/lib/opkg/status": [ - "read" - ], - "/usr/lib/lua/luci/https-dns-proxy/providers/*": [ - "read" - ], - "/etc/init.d/https-dns-proxy *": [ - "exec" + "ubus": { + "luci.https-dns-proxy": [ + "getInitList", + "getInitStatus", + "getPlatformSupport", + "getProviders", + "getRuntime" ] }, "uci": [ + "dhcp", "https-dns-proxy" ] }, "write": { "uci": [ "https-dns-proxy" - ] + ], + "ubus": { + "luci.https-dns-proxy": [ + "setInitAction" + ] + } } } } -- 2.30.2