AdguardTeam / AdGuardHome

Network-wide ads & trackers blocking DNS server
https://adguard.com/adguard-home.html
GNU General Public License v3.0
24.61k stars 1.78k forks source link

webui / login.html 404 page not found #5559

Closed trippleflux closed 1 year ago

trippleflux commented 1 year ago

Prerequisites

Operating system type

Linux, OpenWrt

CPU architecture

AMD64

Installation

Custom port

Setup

On a router, DHCP is handled by the router

AdGuard Home version

012e5beb51daff6eee9a10c897880505da4a5e92

Description

What did you do?

Compiled my own AdGuardHome vanilla git version for OpenWrt x86_64, but the webui seems doesn't work with login.html error 404 page not found from the browsers (chrome & firefox).

Tried : Deleted the /etc/adguardhome.yaml to start from scratch but also getting install.html error 404 page not found

Functionalities wise, eventough webui is not accessible, AdGuardHome still able to update the blocklist and response to DNS request from LAN

Expected result

Able to access AdGuardHome webui

Actual result

webui files not accessible from browsers.

Additional information

OpenWrt snapshot version is r22191-f6a7ce2501

trippleflux commented 1 year ago

My adguardhome.yaml :

bind_host: 10.10.8.1
bind_port: 9999
users:
  - name: root
    password: password
auth_attempts: 5
block_auth_min: 15
http_proxy: ""
language: ""
theme: auto
debug_pprof: false
web_session_ttl: 720
dns:
  bind_hosts:
    - 10.10.8.1
  port: 53
  anonymize_client_ip: false
  protection_enabled: true
  blocking_mode: default
  blocking_ipv4: ""
  blocking_ipv6: ""
  blocked_response_ttl: 10
  parental_block_host: family-block.dns.adguard.com
  safebrowsing_block_host: standard-block.dns.adguard.com
  ratelimit: 0
  ratelimit_whitelist: []
  refuse_any: true
  upstream_dns:
    - tls://1.1.1.1
    - tls://1.0.0.1
    - tls://9.9.9.10
    - tls://149.112.112.10
    - quic://94.140.14.140
    - quic://94.140.14.141
    - tls://8.8.8.8
    - tls://8.8.4.4
    - '[/lan/]127.0.0.1:5353'
    - '[//]127.0.0.1:5353'
  upstream_dns_file: ""
  bootstrap_dns:
    - 9.9.9.10
    - 149.112.112.10
    - 2620:fe::10
    - 2620:fe::fe:10
  all_servers: true
  fastest_addr: false
  fastest_timeout: 1s
  allowed_clients: []
  disallowed_clients: []
  blocked_hosts:
    - version.bind
    - id.server
    - hostname.bind
  trusted_proxies:
    - 127.0.0.0/8
    - ::1/128
  cache_size: 4194304
  cache_ttl_min: 0
  cache_ttl_max: 0
  cache_optimistic: true
  bogus_nxdomain: []
  aaaa_disabled: true
  enable_dnssec: false
  edns_client_subnet:
    custom_ip: ""
    enabled: false
    use_custom: false
  max_goroutines: 300
  handle_ddr: true
  ipset: []
  ipset_file: ""
  filtering_enabled: true
  filters_update_interval: 1
  parental_enabled: false
  safesearch_enabled: false
  safebrowsing_enabled: false
  safebrowsing_cache_size: 1048576
  safesearch_cache_size: 1048576
  parental_cache_size: 1048576
  cache_time: 30
  rewrites: []
  blocked_services: []
  upstream_timeout: 10s
  private_networks: []
  use_private_ptr_resolvers: true
  local_ptr_upstreams:
    - 127.0.0.1:5353
  use_dns64: false
  dns64_prefixes: []
  serve_http3: false
  use_http3_upstreams: false
tls:
  enabled: false
  server_name: ""
  force_https: false
  port_https: 443
  port_dns_over_tls: 853
  port_dns_over_quic: 853
  port_dnscrypt: 0
  dnscrypt_config_file: ""
  allow_unencrypted_doh: false
  certificate_chain: ""
  private_key: ""
  certificate_path: ""
  private_key_path: ""
  strict_sni_check: false
querylog:
  enabled: true
  file_enabled: true
  interval: 6h
  size_memory: 1000
  ignored: []
statistics:
  enabled: true
  interval: 90
  ignored: []
filters:
  - enabled: true
    url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
    name: AdGuard DNS filter
    id: 1
  - enabled: true
    url: https://adaway.org/hosts.txt
    name: AdAway Default Blocklist
    id: 2
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_27.txt
    name: OISD Blocklist Full
    id: 1670456622
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_8.txt
    name: NoCoin Filter List
    id: 1670456623
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_23.txt
    name: WindowsSpyBlocker - Hosts spy rules
    id: 1670456624
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_21.txt
    name: 'CHN: anti-AD'
    id: 1670456625
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_12.txt
    name: Dandelion Sprout's Anti-Malware List
    id: 1670456626
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_22.txt
    name: 'IDN: ABPindo'
    id: 1670456627
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_30.txt
    name: Phishing URL Blocklist (PhishTank and OpenPhish)
    id: 1670456628
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_10.txt
    name: Scam Blocklist by DurableNapkin
    id: 1670456629
  - enabled: true
    url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_11.txt
    name: Malicious URL Blocklist (URLHaus)
    id: 1670456630
whitelist_filters: []
user_rules:
  - '@@||i.top4top.io^$important'
  - '@@||pulpstone.pw^$important'
  - '##||api.miwifi.com'
  - '@@||click.redditmail.com^$important'
  - '||www.taobao.com^$important'
  - '||www.baidu.com^$important'
  - '@@||download.coolhub.top^$important'
  - '@@||track.gojek.com^$important'
  - '@@||api-secure.solvemedia.com^$important'
  - '@@||sg.acdid.acdsystems.com^$important'
  - '@@||api16-access-sg.pangle.io^$important'
  - '@@||config.emb-api.com^$important'
  - '@@||eu1-spiky.clevertap-prod.com^$important'
  - '@@||api16-log-sg.pangle-b.io^$important'
  - '@@||frontier.byteoversea.com^$important'
  - '@@||i.isnssdk.com^$important'
  - '@@||events.appsflyer.com^$important'
  - '@@||t.appsflyer.com^$important'
  - '@@||api.radar.io^$important'
  - '@@||c-api-bit.shopeemobile.com^$important'
  - '@@||adashx4ae.ut.taobao.com^$important'
  - '||www.googleadservices.com^$important'
  - '@@||fls-na.amazon.com^$important'
  - ""
dhcp:
  enabled: false
  interface_name: ""
  local_domain_name: lan
  dhcpv4:
    gateway_ip: ""
    subnet_mask: ""
    range_start: ""
    range_end: ""
    lease_duration: 86400
    icmp_timeout_msec: 1000
    options: []
  dhcpv6:
    range_start: ""
    lease_duration: 86400
    ra_slaac_only: false
    ra_allow_slaac: false
clients:
  runtime_sources:
    whois: true
    arp: true
    rdns: true
    dhcp: true
    hosts: true
  persistent: []
log_file: ""
log_max_backups: 0
log_max_size: 100
log_max_age: 3
log_compress: false
log_localtime: false
verbose: false
os:
  group: ""
  user: ""
  rlimit_nofile: 0
schema_version: 17

My adguardhome OpenWrt Makefile :

#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=adguardhome
PKG_VERSION:=0.108.1
PKG_RELEASE:=1

PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=012e5beb51daff6eee9a10c897880505da4a5e92
PKG_SOURCE_URL:=https://github.com/AdguardTeam/AdGuardHome.git

PKG_LICENSE:=GPL-3.0-only
PKG_LICENSE_FILES:=LICENSE.txt
PKG_MAINTAINER:=Dobroslaw Kijowski <dobo90@gmail.com>

PKG_BUILD_DEPENDS:=golang/host node/host node-yarn/host
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0

GO_PKG:=github.com/AdguardTeam/AdGuardHome
GO_PKG_BUILD_PKG:=github.com/AdguardTeam/AdGuardHome

AGH_BUILD_TIME:=$(shell date -d @$(SOURCE_DATE_EPOCH) +%FT%TZ%z)
AGH_VERSION_PKG:=github.com/AdguardTeam/AdGuardHome/internal/version
GO_PKG_LDFLAGS_X:=$(AGH_VERSION_PKG).channel=release \
    $(AGH_VERSION_PKG).version=$(PKG_SOURCE_VERSION) \
    $(AGH_VERSION_PKG).buildtime=$(AGH_BUILD_TIME) \
    $(AGH_VERSION_PKG).goarm=$(GO_ARM) \
    $(AGH_VERSION_PKG).gomips=$(GO_MIPS)

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

define Package/adguardhome
    SECTION:=net
    CATEGORY:=Network
    TITLE:=Network-wide ads and trackers blocking DNS server
    URL:=https://github.com/AdguardTeam/AdGuardHome
    DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle
endef

define Package/adguardhome/conffiles
/etc/adguardhome.yaml
/etc/config/adguardhome
endef

define Package/adguardhome/description
Free and open source, powerful network-wide ads and trackers blocking DNS server.
endef

define Build/Compile
    ( \
        pushd $(PKG_BUILD_DIR) ; \
        make js-deps js-build ; \
        popd ; \
        $(call GoPackage/Build/Compile) ; \
    )
endef

define Package/adguardhome/install
    $(call GoPackage/Package/Install/Bin,$(1))
    $(INSTALL_DIR) $(1)/etc/init.d
    $(INSTALL_BIN) ./files/adguardhome.init $(1)/etc/init.d/adguardhome

    $(INSTALL_DIR) $(1)/etc/config
    $(INSTALL_DATA) ./files/adguardhome.config $(1)/etc/config/adguardhome
endef

$(eval $(call GoBinPackage,adguardhome))
$(eval $(call BuildPackage,adguardhome))
trippleflux commented 1 year ago

Just noticed that when building adguardhome, I am getting :

Run `npm audit` for details.
npm --prefix client run build-prod

> dashboard@0.1.0 build-prod
> cross-env BUILD_ENV=prod webpack --config webpack.prod.js

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:417:16)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:452:10
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/webpack/lib/NormalModule.js:323:13
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:367:11
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:233:18
    at context.callback (/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1/client/node_modules/babel-loader/lib/index.js:59:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.14.2
make[3]: *** [Makefile:98: js-build] Error 1
make[3]: Leaving directory '/home/username/works/openwrt/build_dir/target-x86_64_glibc_custom/adguardhome-0.108.1'
/home/username/works/openwrt/feeds/packages/net/adguardhome

I need to add "export NODE_OPTIONS=--openssl-legacy-provider " to the adguardhome OpenWrt Makefile :

define Build/Compile
    ( \
        pushd $(PKG_BUILD_DIR) ; \
        export NODE_OPTIONS=--openssl-legacy-provider ; \
        make js-deps js-build ; \
        popd ; \
        $(call GoPackage/Build/Compile) ; \
    )
endef

With those addition, previously my adguardhome binary was ~24 MB now it goes ~34.1 MB. Still testing it

trippleflux commented 1 year ago

Confirmed, new built adguardhome binary file fixed webui loading.

ainar-g commented 1 year ago

Hello. Is the issue fixed? By the way, we keep our build documentation, including one for the release-building script relatively up-to-date.

trippleflux commented 1 year ago

@ainar-g Yes, it has been fixed with workaround above. Closing this issue.

peterwillcn commented 1 month ago

404 fixed: apt install nodejs npm and recompile adguard