Commit Graph

86 Commits

Author SHA1 Message Date
Stan Grishin c87aa1617d https-dns-proxy: update to 2026.03.18-3
Maintainer: me
Compile tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1
Run tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1

Description:
update to 2026.03.18, release 3

  - update PKG_RELEASE to 3

files/etc/init.d/https-dns-proxy:
  - refactor nftable rules to explicitly add and flush the table and
    chains instead of block replacement
  - make nftable `delete table` call silent in `notrack_nft remove`
  - update `notrack_nft remove` to check for absence of nftable table
    instead of just checking the file
  - ensure `notrack_nft remove` sets _error=1 on failure
  - ignore dnsmasq instances with port 0 in
    `dnsmasq_instance_append_force_dns_port`

tests/run_tests.sh:
  - add test case to ensure dnsmasq port 0 is ignored
  - update `notrack_nft remove` test to confirm success when both file
    and table are absent

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2026-05-09 19:12:08 +03:00
Stan Grishin 97b710a5b3 https-dns-proxy: update to 2026.03.18-2
Maintainer: me
Compile tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1
Run tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1

Description:
Fix nftables rule directory creation

  - Bump PKG_RELEASE to 2.

files/etc/init.d/https-dns-proxy:
  - Add 'mkdir -p' before writing nftables rules to ensure the parent
    directory exists. This fixes an issue where the directory might not
    exist on initial installation, causing errors.

tests/run_tests.sh:
  - Add comprehensive regression tests for notrack_nft.
  - Mock 'nft' to track invocations and control return codes for testing.
  - Patch 'NOTRACK_NFT_FILE' to a test-specific path for isolated testing.
  - Verify 'notrack_nft' correctly creates the parent directory if missing.
  - Test content of generated nftables snippet, idempotence, and removal.

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2026-05-06 21:09:03 +03:00
Stan Grishin 81f0ef48e1 https-dns-proxy: update to 2026.03.18-1
Maintainer: me
Compile tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1
Run tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1

Description:
update to 2026.03.18, improve nftables rules

  - Update PKG_VERSION to 2026.03.18.
  - Set PKG_RELEASE to 1.
  - Update PKG_SOURCE_VERSION to 801881210ba8215dc9cd577222d8c10372423360.
  - Update PKG_MIRROR_HASH to 4c356c19b62fc7bdef3a67fd678e48f3659d709da10517c2eadef76e3409f5ce.

files/etc/init.d/https-dns-proxy:
  - Wrap the notrack chain in its own `inet https_dns_proxy_notrack`
    table. A top-level `chain` outside any table is invalid nftables
    syntax and is rejected on kernel 6.18+, breaking firewall load.
    Fixes mossdef-org/https-dns-proxy#7.
  - Syntax-check the generated snippet with `nft -c -f` after write
    and report OK/FAIL on the start path.
  - On remove, explicitly `nft delete table` in addition to removing
    the snippet file, so the live ruleset is cleaned up immediately
    rather than waiting for the next fw4 reload.

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2026-05-01 18:04:56 -07:00
Stan Grishin ebe149b7f3 https-dns-proxy: update to 2025.12.29-5
Maintainer: me
Compile tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1
Run tested: x86_64, Dell EMC Edge620, OpenWrt 25.12.1

Description:Add nftables notrack for localhost traffic

  - Removed. License is now included in the main project.

net/https-dns-proxy/Makefile:
  - Bumped PKG_RELEASE to 5.

net/https-dns-proxy/files/etc/config/https-dns-proxy:
  - Added 'option notrack_dns '1'' to the default configuration.

net/https-dns-proxy/files/etc/init.d/https-dns-proxy:
  - Defined NOTRACK_NFT_FILE constant.
  - Added 'notrack_dns' and 'notrack_ports' variables.
  - Implemented 'notrack_nft' function to manage nftables rules for notracking local DNS traffic.
  - Enabled loading of 'notrack_dns' boolean from configuration.
  - Modified start_instance to collect listen_port into notrack_ports if notrack_dns is enabled.
  - Modified start_service to call notrack_nft update/remove based on notrack_dns and collected ports.
  - Modified stop_service to call notrack_nft remove.
  - Updated service_started and service_stopped to trigger firewall config changes when notrack_dns is enabled.

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2026-04-25 08:16:17 +03:00
Stan Grishin 7d0db39fc8 https-dns-proxy: update to 2025.12.29-4
* add explicit LICENSE file to the repository
* pretty up Makefile
* minor shell script styling improvements
* better parsing if individual dnsmasq instances are used in config
* functional test

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2026-03-03 17:43:22 -08:00
Stan Grishin c46fe559b0 https-dns-proxy: update to 2025-12-29-1
* bump binary to 2025.12.29 with support for -S
* update README and delete README in files/
* bugfix: properly load global option for `force_ipv6_resolvers`
* add global and per-instance `source_addr` option

Thanks to @karl82 for adding source_addr support upstream.

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2026-01-08 18:04:03 -08:00
Stan Grishin ad2477e102 https-dns-proxy: update to 2025.10.07-r1
Makefile:
* update to latest upstream: https://github.com/aarond10/https_dns_proxy/commit/7b27ecd5598d03bbe79651cc80efca886d433cd9
* update version, release
* drop CONFIGURE_ARGS as the build is curl-independent
* update the link to the documentation

README:
* add small README with the link to documentation

Config:
* rename procd_fw_src_interfaces to force_dns_src_interface to better reflect meaning
* add heartbeat_domain, heartbeat_sleep_timeout, heartbeat_wait_timeout options
* add default user, group and listen_addr options to the main config
* drop the user, group and listen_addr options from the instance configs

Init-script:
* start much earlier so that on boot, the procd_add_raw_trigger works on all systems
* create a ubus() helper function so that service delete does not produce "Command not found"
* new options handling where the global config options can be used for instance options
* some renaming of global/instance variables due to abovementioned redesign
* new open port detection, no longer relying on netstat
* new uci_changes() logic where it returns 0 or 1 instead of text
* new append_parm logic for not adding default value options to CLI
* new boolean options handling logic
* move config loading to load_package_config() function
* new logic for calling procd_set_config_changed firewall based solely on "$force_dns"
* source network.sh based on "${IPKG_INSTROOT}" path
* rename procd_fw_src_interfaces to force_dns_src_interface to better reflect meaning
* rename use_http1 to force_http1
* rename use_ipv6_resolvers_only to force_ipv6_resolvers

Uci-defaults:
* migrate to new option names

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2025-10-09 11:26:35 -07:00
Aleksey Vasilenko 9edb3c8686 https-dns-proxy: match updated curl config options
- match updated curl config options

Signed-off-by: Aleksey Vasilenko <aleksey.vasilenko@gmail.com>
2025-08-24 22:27:19 +08:00
Stan Grishin aafff5ff98 https-dns-proxy: update to 2025.05.11
* update to 2025.05.11 from upstream: https://github.com/aarond10/https_dns_proxy/commit/a34e20d6e24df603427d91bac8f58c2d3a8aa0a6
* update default config with default value for procd_fw_src_interfaces

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2025-05-12 15:53:36 -07:00
Stan Grishin e67e30d0e1 https-dns-proxy: update to 2025.03.13 upstream
* fixes https://github.com/openwrt/packages/issues/25522

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2025-04-13 17:18:20 -07:00
Stan Grishin 706cad572c https-dns-proxy: bugfixes
* No more `/sbin/uci: Invalid argument output` when set to not update
  dnsmasq instances (thanks @tmcqueen-materials for investigation!)
* Do not wait for interface.up on boot, hopefully this resolves the
  boot-up start for everyone

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2025-02-18 10:23:20 -08:00
Stan Grishin 4337232f51 https-dns-proxy: bugfix: start on boot
* bugfix: working start on boot when interfaces are up
  (thanks @tmcqueen-materials and @b1ackbeat)
* improvement: better output when setting triggers on start

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2025-02-12 16:21:33 -08:00
Stan Grishin bee7227871 https-dns-proxy: bugfixes and improvements
* improvement: Makefile: prepend `r` to PKG_RELEASE in binary and init script versions to match package version
* bugfix: init script: more reliable/robust start on boot
* improvement: init script: more compact output()
* improvement: init script: better DNS Hijack login
* improvement: init script: fold some dnsmasq-related functions into dhcp_backup()

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2025-01-29 11:07:40 -08:00
Ryan Keane a0f153e9a2 network: Add SUBMENU variable for some packages
Add SUBMENU variable for some packages in Network category.
Add title for `dnscrypt-proxy` package.
Shorten TITLE variable for `xray-core` package.

Filesystem:
- cifs-utils

File Transfer:
- onionshare-cli

IP Addresses and Names:
- dnscrypt-proxy2
- family-dns
- https-dns-proxy
- mdns-repeater
- nextdns
- smartdns

Version Control Systems:
- git-lfs

Wireless:
- dawn

Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
2024-11-22 23:39:38 +02:00
Stan Grishin 9e600ac071 https-dns-proxy: update to 2023.12.26-1
Makefile:
* update to latest upstream version
* remove PKG_SOURCE_DATE/PKG_SOURCE_RELEASE as they are no longer needed
* set TARGET_CFLAGS/TARGET_LDFLAGS
* update CMAKE_OPTIONS
* add CONFIGURE_ARGS to prepare for building with HTTP/3
* update package URL to upstream repo instead of documentation
* update package/description
* add README.md with link to documentation

init-script:
* do not run within image builder
* add a line which can be uncommented to remove outdated doh_server entries

020-src-options.c-add-version.patch:
* remove it, as it's no longer needed with version set in CMAKE_OPTIONS

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2024-08-02 01:10:00 +00:00
Robert Marko 272f55e87f treewide: refresh hashes after move to use ZSTD as default
With the recent move to using ZSTD as the default compression format
for packaging git repo clones we must refresh all of the hashes for
the packages feed as well.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-07 12:06:34 +02:00
Stan Grishin b8a8c480fc https-dns-proxy: prepare migration to APK
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2024-03-24 13:05:05 +00:00
Stan Grishin bd501dd89c https-dns-proxy: update to upstream 2023-11-19
* update to upstream 2023-11-19
  (changes: https://github.com/aarond10/https_dns_proxy/commit/489c57efd46983e688579974a2ab7aeaa7df8d83)
* bugfix: include resolveip dependency in Makefile
  (fixes https://github.com/openwrt/packages/issues/23567)
* minor update for failed healthcheck logging

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2024-03-02 00:19:58 +00:00
Stan Grishin 8b6635bae9 https-dns-proxy: only restart firewall when needed
* only restart firewall when needed

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-12-11 13:18:36 +00:00
Stan Grishin 2e9f6c4446 https-dns-proxy: fix unintentional call of service_stopped in boot()
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-11-24 16:11:57 +00:00
Stan Grishin f519b68401 https-dns-proxy: bugfix: prevent erros from boot()
* fixes https://github.com/openwrt/packages/issues/22674
* rename resolver_health_check to is_resolver_running for readability
* reorder functions in the init file by name

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-11-23 22:39:40 +00:00
Stan Grishin 6b92b6c6d2 https-dns-proxy: bugfix: crashes on logging from upstream
* update to 2023-10-25 upstream version which fixes the crashes on logging on ath79
* remove no longer needed 030-src-logging.c-fix-crash.patch
* update 010-cmakelists-remove-cflags.patch to work with a new version
* update 020-src-options.c-add-version.patch to work with a new version

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-10-26 14:40:37 +00:00
Stan Grishin 5dd08fe23f https-dns-proxy: bugfix: prevent crashes on IPv6 systems
* update service triggers so that procd_add_raw_trigger is only
  executed on boot and not on other service actions
* remove outdated iface hotplug script

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-10-24 02:14:54 +00:00
Stan Grishin 38c026250f https-dns-proxy: bugfix: logging crashing instances on ath79
* finally fixes https://github.com/openwrt/packages/issues/19366
* simplify service_triggers
* improve output for dnsmasq restart
* improve grep/sed dependencies
* remove interface hotplug

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-10-17 09:46:19 +00:00
Stan Grishin 22d21e28a7 https-dns-proxy: improve boot up startup
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-09-16 23:45:20 +00:00
Stan Grishin 9a2c5ae18c https-dns-proxy: fix dns resolution not working on boot
* fix dns resolution not working on boot
* add hotplug-online script
* reorganizes files/ and Makefile to reflect files destinations

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-09-03 20:35:22 +00:00
Stan Grishin 649fbcf9fc https-dns-proxy: improve CLI messaging
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-07-23 05:22:04 +00:00
Stan Grishin a31640ac7c https-dns-proxy: update to 2023-05-25-2
bugfix: proper mdns object creation
bugfix: prevent fw errors by allowing custom interfaces in config

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-06-20 02:02:51 +00:00
Stan Grishin eb40aa1b5d https-dns-proxy: update to 2023-05-25-1
* update to a new upstream commit, fixes #19366
* update patches/010-cmakelists-remove-cflags.patch as upstream file was update
* remove patches/020-cmakelists-add-version.patch as version is now set elsewhere
* add patches/020-src-options.c-add-version.patch to set the version information
* adjust PROCD START time to 95

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-05-26 08:30:31 +00:00
Stan Grishin 25801ddf74 https-dns-proxy: fixes/improvements
* use shared memory to store output data
* add family option to firewall json objects, due to reports that IPv6 hijacking
  doesn't work without explicit family declaration

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-05-07 02:55:39 +00:00
Stan Grishin 30aefce999 https-dns-proxy: 2022-10-15-11 update
* config file update
* introduce boot() function

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2023-02-22 20:36:06 +00:00
Stan Grishin 75ac50ca89 https-dns-proxy: fix restart
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-10 05:32:20 +00:00
Stan Grishin ee37d0ec86 https-dns-proxy: add mdns service records
* add mdns records for started instances
* Makefile: use $(PKG_VERSION) as a value for PKG_SOURCE_DATE instead of
  hard-coding it

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-12-07 21:00:08 +00:00
Stan Grishin e6d746a0ba https-dns-proxy: improve performance on restart
* instead of doing stop/start which involves restarting dnsmasq twice,
  kill the existing service instances on restart instead

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-11-28 21:13:40 +00:00
Stan Grishin 0765fb0790 https-dns-proxy: update Makefile package descrition
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-11-22 01:14:13 +00:00
Stan Grishin 6bd055284c https-dns-proxy: rename options
* rename wan6_trigger to procd_trigger_wan6
* rename update_dnsmasq_config to dnsmasq_config_update
* add the uci-defaults file to run sed on config file
* update Makefile to include uci-defaults file

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-25 21:36:15 +00:00
Stan Grishin 61ca2f4d16 https-dns-proxy: add version information to binary
* add patches/020-cmakelists-add-version.patch (thanks @baranyaib90)
  to add version information to the binary and fix https://github.com/aarond10/https_dns_proxy/issues/149
* modify Makefile to add version information for the binary
* rename patches/010-fix-cmakelists.patch for better readability
* revert back to service restart in WAN/WAN6 trigger
* update test.sh to test both init script and binary versions

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-24 21:46:51 +00:00
Stan Grishin fbc63cb9f6 https-dns-proxy: bugfix: restore empty server; misc improvements
* bugfix: properly restore empty server config for dnsmasq (to
  address issue brought up in https://github.com/stangri/source.openwrt.melmac.net/pull/162)
* better handling of non-existant wan/wan6 interface for triggers
* add resolver url to ubus data for future-proofing WebUI js move

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-24 04:19:36 +00:00
Stan Grishin 425cef2f8c https-dns-proxy: bugfix: prevent creation of empty interface trigger
* When $wan/$wan6 are empty but double-quoted, it leads to creation
  of an interface trigger with empty interface

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-21 11:57:29 +00:00
Stan Grishin 92a45c3985 https-dns-proxy: bugfix: remove canary domains
* bugfix: canary domains persistence (as described in
  https://forum.openwrt.org/t/https-dns-proxy-canary-domain-persistance/139967)
* minor: remove global variables and make them local in
  service_start/service_stop/service_triggers
* minor: split DEFAULT_BOOTSTRAP into BOOTSTRAP_CF and BOOTSTRAP_GOOGLE for
  better code readability

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-20 02:32:05 +00:00
Stan Grishin 409ce0f14f https-dns-proxy: bugfix: remove wan6 from procd triggers
* fixes https://github.com/openwrt/packages/issues/19631

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-19 09:02:18 +00:00
Stan Grishin bca5d0ed8e https-dns-proxy: upstream bugfix for ca_info
* upstream bugfix: Add a forgotten 'NULL' initialize for ca_info
  if not manually set
* make init script PKG_VERSION variable readonly so that a
  shellcheck excettion can be removed
* add procd interface trigger to 'wan6' if IPv6 wan interface name
  cannot be obtained on start

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-16 12:06:55 +00:00
Stan Grishin 796a3dda80 https-dns-proxy: update to 2022-08-12-1
* update to upstream version 2022-08-12
* add ca_certs_file option for CA certs file for curl
* add procd_add_interface_trigger for wan6 (hopefully fixes
  https://github.com/openwrt/packages/issues/19531)

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-07 06:29:40 +00:00
Stan Grishin 4ff71d8e4c https-dns-proxy: add settings for canary domains
* add setting to enable/disable blocking access to iCloud Private Relay resolvers
* add setting to enable/disable blocking access to Mozilla resolvers
* rename variables loaded from config in the init script

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-04 22:08:00 +00:00
Stan Grishin f99ada410f https-dns-proxy: bugfix: prevent canary domains duplicates
Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-10-04 21:25:42 +00:00
Stan Grishin 749b03ffbf https-dns-proxy: uci wrappers & iCloud canary domains
* switch to using uci wrappers instead of direct uci calls
* add support for iCloud canary domains
  https://developer.apple.com/support/prepare-your-network-for-icloud-private-relay

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-09-30 00:00:01 +00:00
Stan Grishin 5347139ee7 https-dns-proxy: 2021-11-22-3: add support for Canary Domains
Fixes https://github.com/stangri/source.openwrt.melmac.net/issues/155.
Background: https://support.mozilla.org/en-US/kb/canary-domain-use-application-dnsnet

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-04-25 01:13:48 +00:00
Stan Grishin 88265c4fb9 https-dns-proxy: init script refactoring
* consolidate dnsmasq config manipulation into one function
* more elegant code for PROCD data processing (Thanks @jow-!)

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-02-06 06:00:03 +00:00
Stan Grishin 1e5e7ce469 https-dns-proxy: update to 2021-11-22-1
* update to 2021-11-22 upstream source
* update patch file
* update init script to preserve manual entries
	(fixes https://github.com/stangri/source.openwrt.melmac.net/issues/149)
* update init script service_triggers

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2022-01-31 22:15:04 +00:00
Stan Grishin f8d16338da https-dns-proxy: update to 2021-09-27
* update to [2021-09-27](https://github.com/aarond10/https_dns_proxy/commit/da2501f542a732167a78f1851a511d9c0abc2fd8)
* fixes https://github.com/aarond10/https_dns_proxy/issues/125
* restart instead of reload on interface hotplug
* fixes https://github.com/openwrt/packages/issues/16794
* produce output and log entries on service start/stop
* prevent unnecessary dnsmasq restarts if service has previously updated dnsmasq settings
* allow both named and typed dnsmasq instance settings to be updated
* update 010-fix-cmakelists patch file

Signed-off-by: Stan Grishin <stangri@melmac.net>
2021-10-14 04:23:17 +00:00