diff options
author | Sam James <sam@gentoo.org> | 2021-08-16 02:12:53 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-08-16 02:58:08 +0100 |
commit | 40e58581693abc41314d828dae36b80f49267e8c (patch) | |
tree | 967b7eb2077560c46fad7dc23c91df800d527a75 /net-dns | |
parent | net-analyzer/cbm: drop 0.3.1 (diff) | |
download | gentoo-40e58581693abc41314d828dae36b80f49267e8c.tar.gz gentoo-40e58581693abc41314d828dae36b80f49267e8c.tar.bz2 gentoo-40e58581693abc41314d828dae36b80f49267e8c.zip |
net-dns/dnscrypt-proxy: add 2.1.0
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-dns')
-rw-r--r-- | net-dns/dnscrypt-proxy/Manifest | 1 | ||||
-rw-r--r-- | net-dns/dnscrypt-proxy/dnscrypt-proxy-2.1.0.ebuild | 106 | ||||
-rw-r--r-- | net-dns/dnscrypt-proxy/files/dnscrypt-proxy-2.1.0-config-full-paths.patch | 76 |
3 files changed, 183 insertions, 0 deletions
diff --git a/net-dns/dnscrypt-proxy/Manifest b/net-dns/dnscrypt-proxy/Manifest index 6dc33183e09e..e799b8395ee6 100644 --- a/net-dns/dnscrypt-proxy/Manifest +++ b/net-dns/dnscrypt-proxy/Manifest @@ -1 +1,2 @@ DIST dnscrypt-proxy-2.0.45.tar.gz 2721610 BLAKE2B cddeafec2a2fa8179b722a1b4fe8527bcb3991f5d9e04e31667ea8c38deda5b8c9a3c3a3c16e4e2f5d1bfdb5f8d540c6d61273c34df27f4a78215736b240846f SHA512 becfe3c2d4567725e6b7e973647163e32dd2eaae361087bb05c90b6ddc3b0db0891c2725f6b5c255b8965990832bad53bd6ef137be54a342f46594f3633fe47a +DIST dnscrypt-proxy-2.1.0.tar.gz 6248378 BLAKE2B 6b0db8eae8bd380634a86ee2026fb6a3f64d0874a77633f9b8ef46bd37601ebf8d9163516b5ccc371d5354023d5c5c542384718aa885dd1f99809a7b98df5de2 SHA512 201a2741f4703872901fa9c045323444d2939d662316e0026f7aa33c7136e45a564225106884ed80522be5247e128c70ced176c83333ddaacc66dc0f87c74029 diff --git a/net-dns/dnscrypt-proxy/dnscrypt-proxy-2.1.0.ebuild b/net-dns/dnscrypt-proxy/dnscrypt-proxy-2.1.0.ebuild new file mode 100644 index 000000000000..19acce661454 --- /dev/null +++ b/net-dns/dnscrypt-proxy/dnscrypt-proxy-2.1.0.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGO_PN="github.com/DNSCrypt/${PN}" + +inherit fcaps go-module systemd + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://${EGO_PN}.git" +else + SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +DESCRIPTION="A flexible DNS proxy, with support for encrypted DNS protocols" +HOMEPAGE="https://github.com/DNSCrypt/dnscrypt-proxy" + +LICENSE="Apache-2.0 BSD ISC MIT MPL-2.0" +SLOT="0" +IUSE="+pie" + +BDEPEND=">=dev-lang/go-1.13" +RDEPEND=" + acct-group/dnscrypt-proxy + acct-user/dnscrypt-proxy +" + +FILECAPS=( cap_net_bind_service+ep usr/bin/dnscrypt-proxy ) + +PATCHES=( + "${FILESDIR}/${PN}-2.1.0-config-full-paths.patch" +) + +src_compile() { + pushd "${PN}" >/dev/null || die + go build -v -x -mod=readonly -mod=vendor -buildmode="$(usex pie pie default)" || die + popd >/dev/null || die +} + +src_test() { + cd "${PN}" || die + go test -mod=vendor -buildmode="$(usex pie pie default)" || die "Failed to run tests" +} + +src_install() { + pushd "${PN}" >/dev/null || die + + dobin dnscrypt-proxy + + insinto /etc/dnscrypt-proxy + newins example-dnscrypt-proxy.toml dnscrypt-proxy.toml + doins example-{allowed,blocked}-{ips.txt,names.txt} + doins example-{cloaking-rules.txt,forwarding-rules.txt} + + popd >/dev/null || die + + insinto /usr/share/dnscrypt-proxy + doins -r "utils/generate-domains-blocklist/." + + newinitd "${FILESDIR}"/dnscrypt-proxy.initd dnscrypt-proxy + newconfd "${FILESDIR}"/dnscrypt-proxy.confd dnscrypt-proxy + + systemd_newunit "${FILESDIR}"/dnscrypt-proxy.service dnscrypt-proxy.service + systemd_newunit "${FILESDIR}"/dnscrypt-proxy.socket dnscrypt-proxy.socket + + insinto /etc/logrotate.d + newins "${FILESDIR}"/dnscrypt-proxy.logrotate dnscrypt-proxy + + einstalldocs +} + +pkg_postinst() { + fcaps_pkg_postinst + go-module_pkg_postinst + + if ! use filecaps; then + ewarn "'filecaps' USE flag is disabled" + ewarn "${PN} will fail to listen on port 53" + ewarn "please do one the following:" + ewarn "1) re-enable 'filecaps'" + ewarn "2) change port to > 1024" + ewarn "3) configure to run ${PN} as root (not recommended)" + ewarn + fi + + if systemd_is_booted || has_version sys-apps/systemd; then + elog "Using systemd socket activation may cause issues with speed" + elog "latency and reliability of ${PN} and is discouraged by upstream" + elog "Existing installations advised to disable 'dnscrypt-proxy.socket'" + elog "It is disabled by default for new installations" + elog "check "$(systemd_get_systemunitdir)/${PN}.service" for details" + elog + + fi + + elog "After starting the service you will need to update your" + elog "/etc/resolv.conf and replace your current set of resolvers" + elog "with:" + elog + elog "nameserver 127.0.0.1" + elog + elog "Also see https://github.com/DNSCrypt/${PN}/wiki" +} diff --git a/net-dns/dnscrypt-proxy/files/dnscrypt-proxy-2.1.0-config-full-paths.patch b/net-dns/dnscrypt-proxy/files/dnscrypt-proxy-2.1.0-config-full-paths.patch new file mode 100644 index 000000000000..b0ab738a57e5 --- /dev/null +++ b/net-dns/dnscrypt-proxy/files/dnscrypt-proxy-2.1.0-config-full-paths.patch @@ -0,0 +1,76 @@ +diff --git a/dnscrypt-proxy/example-dnscrypt-proxy.toml b/dnscrypt-proxy/example-dnscrypt-proxy.toml +index e180a73..bc330dd 100644 +--- a/dnscrypt-proxy/example-dnscrypt-proxy.toml ++++ b/dnscrypt-proxy/example-dnscrypt-proxy.toml +@@ -341,7 +341,7 @@ reject_ttl = 10 + + ## See the `example-forwarding-rules.txt` file for an example + +-# forwarding_rules = 'forwarding-rules.txt' ++# forwarding_rules = '/etc/dnscrypt-proxy/forwarding-rules.txt' + + + +@@ -355,7 +355,7 @@ reject_ttl = 10 + ## + ## See the `example-cloaking-rules.txt` file for an example + +-# cloaking_rules = 'cloaking-rules.txt' ++# cloaking_rules = '/etc/dnscrypt-proxy/cloaking-rules.txt' + + ## TTL used when serving entries in cloaking-rules.txt + +@@ -408,7 +408,7 @@ cache_neg_max_ttl = 600 + ## check for connectivity and captive portals, along with hard-coded + ## IP addresses to return. + +-# map_file = 'example-captive-portals.txt' ++# map_file = '/etc/dnscrypt-proxy/example-captive-portals.txt' + + + +@@ -438,8 +438,8 @@ cache_neg_max_ttl = 600 + ## Certificate file and key - Note that the certificate has to be trusted. + ## See the documentation (wiki) for more information. + +-# cert_file = 'localhost.pem' +-# cert_key_file = 'localhost.pem' ++# cert_file = '/etc/dnscrypt-proxy/localhost.pem' ++# cert_key_file = '/etc/dnscrypt-proxy/localhost.pem' + + + +@@ -688,13 +688,13 @@ cache_neg_max_ttl = 600 + + # [sources.'odoh-servers'] + # urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/odoh-servers.md', 'https://download.dnscrypt.info/resolvers-list/v3/odoh-servers.md', 'https://ipv6.download.dnscrypt.info/resolvers-list/v3/odoh-servers.md', 'https://download.dnscrypt.net/resolvers-list/v3/odoh-servers.md'] +- # cache_file = 'odoh-servers.md' ++ # cache_file = '/var/cache/dnscrypt-proxy/odoh-servers.md' + # minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3' + # refresh_delay = 24 + # prefix = '' + # [sources.'odoh-relays'] + # urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/odoh-relays.md', 'https://download.dnscrypt.info/resolvers-list/v3/odoh-relays.md', 'https://ipv6.download.dnscrypt.info/resolvers-list/v3/odoh-relays.md', 'https://download.dnscrypt.net/resolvers-list/v3/odoh-relays.md'] +- # cache_file = 'odoh-relays.md' ++ # cache_file = '/var/cache/dnscrypt-proxy/odoh-relays.md' + # minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3' + # refresh_delay = 24 + # prefix = '' +@@ -704,7 +704,7 @@ cache_neg_max_ttl = 600 + # [sources.quad9-resolvers] + # urls = ['https://www.quad9.net/quad9-resolvers.md'] + # minisign_key = 'RWQBphd2+f6eiAqBsvDZEBXBGHQBJfeG6G+wJPPKxCZMoEQYpmoysKUN' +- # cache_file = 'quad9-resolvers.md' ++ # cache_file = '/var/cache/dnscrypt-proxy/quad9-resolvers.md' + # prefix = 'quad9-' + + ## Another example source, with resolvers censoring some websites not appropriate for children +@@ -712,7 +712,7 @@ cache_neg_max_ttl = 600 + + # [sources.'parental-control'] + # urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/parental-control.md', 'https://download.dnscrypt.info/resolvers-list/v3/parental-control.md', 'https://ipv6.download.dnscrypt.info/resolvers-list/v3/parental-control.md', 'https://download.dnscrypt.net/resolvers-list/v3/parental-control.md'] +- # cache_file = 'parental-control.md' ++ # cache_file = '/var/cache/dnscrypt-proxy/parental-control.md' + # minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3' + + |