Jump to content

Recommended Posts

С dnsmasq'а все DNS запросы засылаю по DoH через Кинетиковский /usr/sbin/https_dns_proxy (не путать с opkg'шным /opt/sbin/https-dns-proxy, который у меня почему-то так и не заработал, не резолвит и всё :( )

/usr/sbin/https_dns_proxy настраивается через Web UI Кинетика (прошивка v 3.5.6), порты определяются прошивкой и я опасаюсь, что они могут поменяться и тогда дома инет "ляжет".

Поэтому я ищю альтернативу /usr/sbin/https_dns_proxy который был бы полностью под моим контролем. И тут мне попался этот dnsproxy 

Ещё dnsproxy поддерживает DoQ (DNS-over-QUIC). Тоже интересно попробовать

Link to comment
Share on other sites

В 25.12.2020 в 15:58, lbXKSxw1C сказал:

Кто-нибудь собирал пакет dnsproxy для opkg?

Makefile:

Скрытый текст

 


#
# Copyright (C) 2011-2020 Entware
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=dnsproxy
PKG_VERSION:=v0.33.7
PKG_RELEASE:=1

PKG_GOGET:=github.com/AdguardTeam/dnsproxy

GOPKG_SOURCE=GO_$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.bz2

#!!! uncomment PKG_SOURCE to download fixed version
PKG_SOURCE=$(GOPKG_SOURCE)
PKG_COMMIT=662b1052c36b71c9e6d7f314313cfdde9da0325a
PKG_HASH:=987d04fa0426993691aca980ae0c4f007d8984f041a82d75131d8bd12c762a84
PKG_MIRROR_HASH:=skip

PKG_LICENSE:=GPL-3.0-only
PKG_LICENSE_FILES:=LICENSE

PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/golang.mk

ifeq ($(BUILD_VARIANT),nohf)
GOARM:=GOARM=5
endif

define Package/dnsproxy/Default
	$(call Package/gopackage/Default)
	SECTION:=net
	CATEGORY:=Network
	SUBMENU:=IP Addresses and Names
	TITLE:=Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support
	URL:=https://github.com/AdguardTeam/dnsproxy
endef

define Package/dnsproxy
	$(call Package/dnsproxy/Default)
	VARIANT:=hf
endef

define Package/dnsproxy_nohf
	$(call Package/dnsproxy/Default)
	VARIANT:=nohf
	DEPENDS+=@(TARGET_armv7_2_6||TARGET_armv7_3_2)
endef

define Package/dnsproxy/description
    A simple DNS proxy server that supports all existing DNS
  protocols including DNS-over-TLS, DNS-over-HTTPS, DNSCrypt,
  and DNS-over-QUIC. Moreover, it can work as a DNS-over-HTTPS,
  DNS-over-TLS or DNS-over-QUIC server.
endef

Package/dnsproxy_nohf/description=$(Package/dnsproxy/description)

define Build/Compile
	( cd $(PKG_BUILD_DIR)/src/$(PKG_GOGET); \
		CGO_ENABLED=0 \
		GOOS=linux \
		GOARCH=$(GOARCH) \
		$(GOARM) \
		$(GOROOT)/bin/go build . ; \
	)
endef


define Package/dnsproxy/install
	$(INSTALL_DIR) $(1)/opt/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/$(PKG_GOGET)/dnsproxy $(1)/opt/bin
endef

Package/dnsproxy_nohf/install=$(Package/dnsproxy/install)

$(eval $(call BuildPackage,dnsproxy))
$(eval $(call BuildPackage,dnsproxy_nohf))

 

pkg: dnsproxy_v0.33.7-1_mipsel-3.4.ipk

Edited by TheBB
  • Thanks 1
Link to comment
Share on other sites

5 часов назад, TheBB сказал:

Makefile:

  Показать содержимое

 




#
# Copyright (C) 2011-2020 Entware
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=dnsproxy
PKG_VERSION:=v0.33.7
PKG_RELEASE:=1

PKG_GOGET:=github.com/AdguardTeam/dnsproxy

GOPKG_SOURCE=GO_$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.bz2

#!!! uncomment PKG_SOURCE to download fixed version
PKG_SOURCE=$(GOPKG_SOURCE)
PKG_COMMIT=662b1052c36b71c9e6d7f314313cfdde9da0325a
PKG_HASH:=987d04fa0426993691aca980ae0c4f007d8984f041a82d75131d8bd12c762a84
PKG_MIRROR_HASH:=skip

PKG_LICENSE:=GPL-3.0-only
PKG_LICENSE_FILES:=LICENSE

PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/golang.mk

ifeq ($(BUILD_VARIANT),nohf)
GOARM:=GOARM=5
endif

define Package/dnsproxy/Default
	$(call Package/gopackage/Default)
	SECTION:=net
	CATEGORY:=Network
	SUBMENU:=IP Addresses and Names
	TITLE:=Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support
	URL:=https://github.com/AdguardTeam/dnsproxy
endef

define Package/dnsproxy
	$(call Package/dnsproxy/Default)
	VARIANT:=hf
endef

define Package/dnsproxy_nohf
	$(call Package/dnsproxy/Default)
	VARIANT:=nohf
	DEPENDS+=@(TARGET_armv7_2_6||TARGET_armv7_3_2)
endef

define Package/dnsproxy/description
    A simple DNS proxy server that supports all existing DNS
  protocols including DNS-over-TLS, DNS-over-HTTPS, DNSCrypt,
  and DNS-over-QUIC. Moreover, it can work as a DNS-over-HTTPS,
  DNS-over-TLS or DNS-over-QUIC server.
endef

Package/dnsproxy_nohf/description=$(Package/dnsproxy/description)

define Build/Compile
	( cd $(PKG_BUILD_DIR)/src/$(PKG_GOGET); \
		CGO_ENABLED=0 \
		GOOS=linux \
		GOARCH=$(GOARCH) \
		$(GOARM) \
		$(GOROOT)/bin/go build . ; \
	)
endef


define Package/dnsproxy/install
	$(INSTALL_DIR) $(1)/opt/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/$(PKG_GOGET)/dnsproxy $(1)/opt/bin
endef

Package/dnsproxy_nohf/install=$(Package/dnsproxy/install)

$(eval $(call BuildPackage,dnsproxy))
$(eval $(call BuildPackage,dnsproxy_nohf))

 

pkg: dnsproxy_v0.33.7-1_mipsel-3.4.ipk

Спасибо. А как его надо было собирать? И можно ли его включить в репозиторий Entware?

Проверил с несколькими конфигурациями через JSON всё работает. Создал /opt/etc/init.d/S09dnsproxy

#!/bin/sh

ENABLED=yes
PROCS=dnsproxy

ARGS="-l 0.0.0.0 -p 9253 -u https://cloudflare-dns.com/dns-query -b 1.1.1.1:53 -f 8.8.8.8:53 -f 94.140.14.140:53"

PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

P.S. Проверенные варианты для других DNS'ов:

-u https://dns.google/dns-query -b 8.8.8.8:53 -f 1.1.1.1:53 -f 94.140.14.140:53
-u https://dns-unfiltered.adguard.com/dns-query -b 94.140.14.140:53 -f 1.1.1.1:53 -f 8.8.8.8:53
-u quic://dns-unfiltered.adguard.com -b 94.140.14.140:53 -f 1.1.1.1:53 -f 8.8.8.8:53

  • Thanks 1
Link to comment
Share on other sites

16 часов назад, lbXKSxw1C сказал:

Компилировать исходники go лучше на Keenetic'е или кросскомиляция на PC?

Если cross, Makefile выше, если нативно (на устройстве), тогда начинать отсюда.

Link to comment
Share on other sites

  • 1 month later...

TheBB Вышло обновление dnsproxy - v0.34.1. Стал его компилировать при помощи этого make файла из под Ubunt'ы.

Пробовал задать GOOS=linux GOARCH=mipsle перед вызовом make, но выдаёт ошибку

go test: -race is only supported on linux/amd64, linux/ppc64le, linux/arm64, freebsd/amd64, netbsd/amd64, darwin/amd64 and windows/amd64
make: *** [Makefile:29: test] Ошибка 2

Подскажите, пожалуйста, в чём тут дело

Как можно добавить dnsproxy в entware репозиторий?

Link to comment
Share on other sites

26 минут назад, lbXKSxw1C сказал:

Подскажите, пожалуйста, в чём тут дело

http://forums.zyxmon.org/Подготовка компьютера для сборки (пакетов, прошивки)

https://github.com/Entware/Entware/wiki/Compile-packages-from-sources

---

dnsproxy/Makefile

dnsproxy_v0.34.1-1_mipsel-3.4.ipk

Edited by TheBB
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...