From cff7ce4b24240ff92801b95eeef87ce901f01c23 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Wed, 3 Jul 2019 13:39:00 +0200 Subject: [PATCH] dnscrypt-proxy2: add a new package Signed-off-by: Josef Schlehofer --- net/dnscrypt-proxy2/Makefile | 83 +++++++++++++++++++++++++ net/dnscrypt-proxy2/files/blacklist.txt | 54 ++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 net/dnscrypt-proxy2/Makefile create mode 100644 net/dnscrypt-proxy2/files/blacklist.txt diff --git a/net/dnscrypt-proxy2/Makefile b/net/dnscrypt-proxy2/Makefile new file mode 100644 index 0000000000..3b761d50b6 --- /dev/null +++ b/net/dnscrypt-proxy2/Makefile @@ -0,0 +1,83 @@ +# +# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/) +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=dnscrypt-proxy2 +PKG_VERSION:=2.0.25 +PKG_RELEASE:=1 + +PKG_SOURCE:=dnscrypt-proxy-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/jedisct1/dnscrypt-proxy/tar.gz/$(PKG_VERSION)? +PKG_HASH:=774696004c9e306e1723b4cbbe66a961128a335543d318d0786492ce69b906fa +PKG_BUILD_DIR:=$(BUILD_DIR)/dnscrypt-proxy-$(PKG_VERSION) + +PKG_MAINTAINER:=Josef Schlehofer +PKG_LICENSE:=ISC +PKG_LICENSE_FILES:=LICENSE + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_USE_MIPS16:=0 + +GO_PKG:=github.com/jedisct1/dnscrypt-proxy + +include $(INCLUDE_DIR)/package.mk +include ../../lang/golang/golang-package.mk + +define Package/dnscrypt-proxy2 + SECTION:=net + CATEGORY:=Network + TITLE:=Flexible DNS proxy with encrypted DNS protocols + URL:=https://github.com/jedisct1/dnscrypt-proxy + DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle + CONFLICTS:=dnscrypt-proxy +endef + +define Package/dnscrypt-proxy2/install + $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) + + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/sbin/ + + $(INSTALL_DIR) $(1)/etc/dnscrypt-proxy2 + $(INSTALL_CONF) $(PKG_BUILD_DIR)/dnscrypt-proxy/example-dnscrypt-proxy.toml $(1)/etc/dnscrypt-proxy2/dnscrypt-proxy.toml + $(INSTALL_CONF) ./files/blacklist.txt $(1)/etc/dnscrypt-proxy2/blacklist.txt + + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/dnscrypt-proxy.init $(1)/etc/init.d/dnscrypt-proxy + + sed -i "s/^listen_addresses = .*/listen_addresses = ['127.0.0.53:53']/" $(1)/etc/dnscrypt-proxy2/dnscrypt-proxy.toml + sed -i "s/^ # blacklist_file = 'blacklist.txt'/blacklist_file = 'blacklist.txt'/" $(1)/etc/dnscrypt-proxy2/dnscrypt-proxy.toml +endef + +define Package/dnscrypt-proxy2/description + A flexible DNS proxy, with support for modern encrypted DNS protocols + such as DNSCrypt v2 and DNS-over-HTTPS. +endef + +define Package/dnscrypt-proxy2/conffiles +/etc/dnscrypt-proxy2/dnscrypt-proxy.toml +endef + +define Package/golang-github-jedisct1-dnscrypt-proxy2-dev +$(call Package/dnscrypt-proxy2) +$(call GoPackage/GoSubMenu) + TITLE+= (source files) + PKGARCH:=all +endef + +define Package/golang-github-jedisct1-dnscrypt-proxy2-dev/description +$(call Package/dnscrypt-proxy2/description) + + This package provides the source files for the client/bridge program. +endef + +$(eval $(call GoBinPackage,dnscrypt-proxy2)) +$(eval $(call BuildPackage,dnscrypt-proxy2)) +$(eval $(call GoSrcPackage,golang-github-jedisct1-dnscrypt-proxy2-dev)) +$(eval $(call BuildPackage,golang-github-jedisct1-dnscrypt-proxy2-dev)) diff --git a/net/dnscrypt-proxy2/files/blacklist.txt b/net/dnscrypt-proxy2/files/blacklist.txt new file mode 100644 index 0000000000..c975af3c56 --- /dev/null +++ b/net/dnscrypt-proxy2/files/blacklist.txt @@ -0,0 +1,54 @@ + +########################### +# Blacklist # +########################### + +## Rules for name-based query blocking, one per line +## +## Example of valid patterns: +## +## ads.* | matches anything with an "ads." prefix +## *.example.com | matches example.com and all names within that zone such as www.example.com +## example.com | identical to the above +## =example.com | block example.com but not *.example.com +## *sex* | matches any name containing that substring +## ads[0-9]* | matches "ads" followed by one or more digits +## ads*.example* | *, ? and [] can be used anywhere, but prefixes/suffixes are faster + +ad.* +ads.* +banner.* +banners.* +creatives.* +oas.* +oascentral.* +stats.* +tag.* +telemetry.* +tracker.* +*.local +eth0.me +*.workgroup + +*.test +*.onion +*.localhost +*.local +*.invalid +*.bind +*.lan +*.internal +*.intranet +*.private +*.workgroup + +*.10.in-addr.arpa +*.16.172.in-addr.arpa +*.168.192.in-addr.arpa +*.254.169.in-addr.arpa +*.d.f.ip6.arpa + +## Time-based rules + +# *.youtube.* @time-to-sleep +# facebook.com @work