Browse Source
Light-weight (written in plain C) DNS-HTTPS, non-caching translation proxy when DNSCrypt-Proxy does not quite fit (or even does not work). WWW: https://github.com/aarond10/https_dns_proxyoverlay

5 changed files with 68 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||
PORTNAME= https_dns_proxy |
|||
PORTVERSION= g20231226 |
|||
CATEGORIES= dns net |
|||
|
|||
MAINTAINER= danfe@FreeBSD.org |
|||
COMMENT= Light-weight DNS-HTTPS, non-caching translation proxy |
|||
WWW= https://github.com/aarond10/https_dns_proxy |
|||
|
|||
LICENSE= MIT |
|||
LICENSE_FILE= ${WRKSRC}/LICENSE |
|||
|
|||
LIB_DEPENDS= libcares.so:dns/c-ares \
|
|||
libcurl.so:ftp/curl \
|
|||
libev.so:devel/libev |
|||
|
|||
USES= cmake |
|||
USE_GITHUB= yes |
|||
GH_ACCOUNT= aarond10 |
|||
GH_TAGNAME= 8afbba7 |
|||
|
|||
CMAKE_ARGS= -DSW_VERSION:STRING=2023.12.26-${GH_TAGNAME} |
|||
|
|||
PLIST_FILES= bin/${PORTNAME} |
|||
|
|||
do-install: |
|||
${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/${PORTNAME} \
|
|||
${STAGEDIR}${PREFIX}/bin |
|||
|
|||
.include <bsd.port.mk> |
@ -0,0 +1,3 @@ |
|||
TIMESTAMP = 1703626567 |
|||
SHA256 (aarond10-https_dns_proxy-g20231226-8afbba7_GH0.tar.gz) = 118c192d97587eeb54dbf40aff2cc919e9bd1d3c78a3c8489fddfe73009f9e4c |
|||
SIZE (aarond10-https_dns_proxy-g20231226-8afbba7_GH0.tar.gz) = 28002 |
@ -0,0 +1,20 @@ |
|||
--- CMakeLists.txt.orig 2023-12-26 21:36:07 UTC |
|||
+++ CMakeLists.txt |
|||
@@ -67,6 +67,7 @@ endif() |
|||
|
|||
find_path(LIBCARES_INCLUDE_DIR ares.h) |
|||
find_path(LIBEV_INCLUDE_DIR ev.h) |
|||
+cmake_path(GET LIBEV_INCLUDE_DIR PARENT_PATH LOCALBASE) |
|||
|
|||
if(CUSTOM_LIBCURL_INSTALL_PATH) |
|||
message(STATUS "Using custom libcurl from: ${CUSTOM_LIBCURL_INSTALL_PATH}") |
|||
@@ -108,7 +109,8 @@ set(TARGET_NAME "https_dns_proxy") |
|||
aux_source_directory(src SRC_LIST) |
|||
set(SRC_LIST ${SRC_LIST}) |
|||
add_executable(${TARGET_NAME} ${SRC_LIST}) |
|||
-set(LIBS ${LIBS} cares curl ev resolv) |
|||
+set(LIBS ${LIBS} cares curl ev) |
|||
+target_link_directories(${TARGET_NAME} PRIVATE ${LOCALBASE}/lib) |
|||
target_link_libraries(${TARGET_NAME} ${LIBS}) |
|||
set_property(TARGET ${TARGET_NAME} PROPERTY C_STANDARD 11) |
|||
|
@ -0,0 +1,15 @@ |
|||
https_dns_proxy is light-weight DNS<->HTTPS, non-caching translation |
|||
proxy for the RFC 8484 DNS-over-HTTPS standard. It receives regular |
|||
(UDP) DNS requests and issues them via DoH. |
|||
|
|||
Using DNS over HTTPS makes eavesdropping and spoofing of DNS traffic |
|||
between you and the HTTPS DNS provider (Google/Cloudflare) much less |
|||
likely, of course so long as you trust your DoH provider. Features: |
|||
|
|||
- Tiny size (<45kiB) |
|||
- Uses cURL for HTTP/2 and pipelining, keeping resolve latencies |
|||
extremely low |
|||
- Single-threaded, non-blocking select() server for use on |
|||
resource-starved embedded systems |
|||
- Designed to sit in front of dnsmasq or similar caching resolver |
|||
for transparent use |
Loading…
Reference in new issue