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

  • 1 year later...

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.

  • Recently Browsing   0 members

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