What's new

AdGuardHome AdGuardHome New Release's 2023

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

This issue was due to libopenssl1.1.1s-1_aarch64-3.10 being updated to the newest version. I downgrade to 1.1.1 rebooted, reinstalled AG through AMTM and worked. So @SomeWhereOverTheRainBow you need to update AG to use the new version. That's what I did and worked. So it's related.
 
So @SomeWhereOverTheRainBow you need to update AG to use the new version. That's what I did and worked. So it's related.
I am so glad you figured out that you needed to update or repair some aspect of your Entware repository. I often find myself mentioning this as a prerequisite of adguardhome and not something the agh installer manages. I am so glad you managed to solve your delimma though. The adguardhome installer script does not use libopenssl1.1.1s-1_aarch64-3.10. The fact that you had an issue with your entware repository is why adguardhome wouldn't install. This is not something the agh installer script manages for you, but is something you are expected to maintain yourself. The adguardhome installer script was written to install adguardhome with the expectation that you have adequately maintained your entware repository. However, it was not written to maintain your Entware repository for you.
 
Last edited:
So @SomeWhereOverTheRainBow you need to update AG to use the new version. That's what I did and worked. So it's related.
I suppose I could add opkg update && opkg upgrade to the adguardhome installer script. I hope it won't cause any problems with any other developers who throw custom scripts inside /opt/etc/init.d. Or even better, I could set the installer to only install the adguardhome binary and let the users figure out the rest.
 
@SomeWhereOverTheRainBow strange it worked by downgrading libopenssl1.1.1s-1_aarch64-3.10 from the latest version, a lot of people are having issues with it with different scripts/add ons, so could it be a coincidence? We'll never know I just know it worked it for me. I'm sure if it happens again I know how to resolve it, touchwood.
 
@SomeWhereOverTheRainBow strange it worked by downgrading libopenssl1.1.1s-1_aarch64-3.10 from the latest version, a lot of people are having issues with it with different scripts/add ons, so could it be a coincidence? We'll never know I just know it worked it for me. I'm sure if it happens again I know how to resolve it, touchwood.
There is probably something wrong with entware, or something broken with entware static link to that specific binary which forced you to have to downgrade it. This is truly an entware issue. Not an actually adguardhome issue. I have yet to run into this problem so it seems to be a case by case issue. Nothing I would be able to control with the adguardhome installer without possibly breaking someone else's setup.
 
For those having CPU and RAM concerns, you might want to check out AGH BETA v0.108.0-b.40

From Release AdGuard Home v0.108.0-b.40 · AdguardTeam/AdGuardHome (github.com)
Improved CPU and RAM consumption during updates of filtering-rule lists; Pull request 1910: new-rulelist-parser · AdguardTeam/AdGuardHome@7b92d53 (github.com)
Excessive RAM and CPU consumption by Safe Browsing and Parental Control filters (#5896); Pull request 1906: 5896-safe-browsing-cpu-ram · AdguardTeam/AdGuardHome@c465164 (github.com)
Update: The memory used is holding steady for me. 😇
 
@SomeWhereOverTheRainBow - Further testing, the one router that was working I flattened and started from scratch.

I installed entware first with the updated libopenssl packages etc.. Then installed AG from AMTM and starts as intended. However, I did install the other version here: https://www.snbforums.com/threads/a...ll-on-asus-merlin-no-3rd-party-scripts.75818/ - Which resulted in the same result, however with this version it allowed me to change the ports in the GUI, so instead of '53' I used '54321' and works.

Now, everytime I tried to amend AG Yaml file installer through ATM (Your version) I change the following lines:
dns: bind_hosts: - 0.0.0.0 port: 53
When I add my own port number while the service is dead then reload I get no internet. Is there a way I can do this and get the internet to function or if you could make the installer allow you to change the port number on install someway?
 
@SomeWhereOverTheRainBow - Further testing, the one router that was working I flattened and started from scratch.

I installed entware first with the updated libopenssl packages etc.. Then installed AG from AMTM and starts as intended. However, I did install the other version here: https://www.snbforums.com/threads/a...ll-on-asus-merlin-no-3rd-party-scripts.75818/ - Which resulted in the same result, however with this version it allowed me to change the ports in the GUI, so instead of '53' I used '54321' and works.

Now, everytime I tried to amend AG Yaml file installer through ATM (Your version) I change the following lines:
dns: bind_hosts: - 0.0.0.0 port: 53
When I add my own port number while the service is dead then reload I get no internet. Is there a way I can do this and get the internet to function or if you could make the installer allow you to change the port number on install someway?
You have to kill dnsmasq or place it on a different port before you can put adguardhome on port 53. This requires killing dnsmasq first. Then this requires dnsmasq.postconf script which sends dnsmasq to a different port number, e.g. port 553, and restart dnsmasq directly after starting adguardhome. Both cannot be using the same port. At the same time.

 
Last edited:
You have to kill dnsmasq or place it on a different port before you can out adguardhome on port 53. Both cannot be using the same port. At the same time.
Well, I edit AG Yaml file as shown, I save it, restart AG and then there is no internet. So, I've got to to redo both? Could you elaborate or post me a guide? Obviously the port I choose in the AG Yaml doesn't stick or even take effect, even rebooting the router.
 
Well, I edit AG Yaml file as shown, I save it, restart AG and then there is no internet. So, I've got to to redo both? Could you elaborate or post me a guide? Obviously the port I choose in the AG Yaml doesn't stick or even take effect, even rebooting the router.
Here is the elaboration

Post in thread 'AdGuard Home - adblocker - Clean install on Asus Merlin (No 3rd party scripts !!!)' https://www.snbforums.com/threads/a...merlin-no-3rd-party-scripts.75818/post-725243

Copy and paste every step.
 
Well, I edit AG Yaml file as shown, I save it, restart AG and then there is no internet. So, I've got to to redo both? Could you elaborate or post me a guide? Obviously the port I choose in the AG Yaml doesn't stick or even take effect, even rebooting the router.
--Here is my method--

Prerequisites are:
Entware must be installed. ( Can be done using Amtm.)
A Usb drive or an external storage device must be used to store Adguardhome.( preferably on the same device that houses Entware which these instructions are based on. )
Disclaimer: Instructions are given as is. Any speculations on different methods or guidance for different methods will not be provided, but do feel free to share any new methods or findings you discover that work. No guidance will be given on installing Entware as that is outside the scope of this guide.

1. Download Instructions:

In my version, I use the edge version. You are welcome to change it to match your setup. I run this on an RT-AX88U, so I chose linux_arm64 branch.
Using ssh terminal
Code:
cd /opt/etc
wget -c https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_arm64.tar.gz
tar -xvzf AdGuardHome_linux_arm64.tar.gz
rm -rf AdGuardHome_linux_arm64.tar.gz
cd AdGuardHome

2. First time run:
Here is where I run it for the first time to do the initial setup. This will allow us to generate our .yaml file. It will ask what listen addresses you want and what port. I chose 53 for DNS. I also set adguardhome gui port to 8081 -you can choose whatever port you want for the GUI, but DNS needs to run on 53 for this method to work.
Code:
killall -9 dnsmasq
nohup /opt/etc/AdGuardHome/AdGuardHome
The use of nohup allows it to run in the background.
minimize ssh terminal.
Initial setup is done from the browser at your routersaddress:3000

3.Place Adguard home in a path directory on entware installation:
Do this in the SSH terminal after initial setup.
Code:
killall -9 AdGuardHome
mv /opt/etc/AdGuardHome/AdGuardHome /opt/sbin/AdGuardHome

4. Make init.d file:
Code:
nano /opt/etc/init.d/S61AdGuardHome
Then paste this below script into the terminal.
Code:
#!/bin/sh
ENABLED=yes
WORK_DIR=/opt/etc/AdGuardHome
PROCS=AdGuardHome
ARGS="-c $WORK_DIR/AdGuardHome.yaml -w "$WORK_DIR" --no-check-update -l syslog"
PREARGS="nohup"
PRECMD="killall -9 dnsmasq"
POSTCMD="service restart_dnsmasq"
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export TZ=$(cat /etc/TZ)
. /opt/etc/init.d/rc.func
Save it and make it executable
Code:
chmod 755 /opt/etc/init.d/S61AdGuardHome

1689324288074.png


AdGuard Home and Dnsmasq are both DNS servers that listen on port 53 by default. Port 53 is the standard port used for DNS (Domain Name System) queries and responses. However, only one application can bind to a particular port on a given IP address at a time. This is because ports serve as unique identifiers for network services. When adguardhome uses 0.0.0.0:53, this means it is attempting to bind to "ALL" services on port 53.
When two applications, such as AdGuard Home and Dnsmasq, attempt to bind to the same port (in this case, port 53), a conflict occurs because the operating system can only allocate the port to one of the applications. As a result, the second application to start up will typically fail to bind to the port, resulting in an error.
To avoid this conflict, you have a few options:
  1. Use different ports: Configure one of the DNS servers to listen on a different port, such as 5353 or 53535. This allows both applications to coexist without conflicting.
  2. Separate IP addresses: If you have multiple IP addresses available on your system, you can assign each DNS server to a different IP address. For example, AdGuard Home can listen on one IP address with port 53, while Dnsmasq listens on a different IP address with the same port.
  3. Use a reverse proxy: Another option is to utilize a reverse proxy, such as Nginx, to redirect DNS queries to the appropriate server based on the domain or some other criteria. This way, both AdGuard Home and Dnsmasq can run on separate ports, and the reverse proxy handles the forwarding of requests.
Remember that whichever approach you choose, you need to ensure that your network configuration is updated accordingly, and clients are directed to the correct DNS server and port.

5. Make dnsmasq.postconf:
Code:
nano /jffs/scripts/dnsmasq.postconf
Then paste this below script into the terminal.
Code:
#!/bin/sh
CONFIG=$1
source /usr/sbin/helper.sh
if [ "$(pidof AdGuardHome)" ]; then pc_append "port=553" $CONFIG; pc_append "local=/1.168.192.in-addr.arpa/" $CONFIG; fi
Save it and make it executable
Code:
chmod 755 /jffs/scripts/dnsmasq.postconf
The addresses in the above script need to match your router address and network.

6. Start AdGuardHome:
Code:
/opt/etc/init.d/S61AdGuardHome start
 
Last edited:
Update: The memory used is holding steady for me. 😇

My router (AX86U) newly booted is on 55% RAM usage with AGH. After 3 blocklist updates, it stands at 63%. Did a manual update just now and then it went from 62 to 63% RAM usage. I have 2 large lists and 3 smaller ones. Almost everything on in blocked services + some custom rules in custom filtering rules.

So looks pretty good there. Then we'll see what it looks like in a while.
 
My router (AX86U) newly booted is on 55% RAM usage with AGH. After 3 blocklist updates, it stands at 63%. Did a manual update just now and then it went from 62 to 63% RAM usage. I have 2 large lists and 3 smaller ones. Almost everything on in blocked services + some custom rules in custom filtering rules.

So looks pretty good there. Then we'll see what it looks like in a while.
@NoYB Did you look at only AGH’s memory usage?
The reason I’m asking is because in my case before it started at 700Mb and creeped to 900Mb. But now it’s holding steady at 700Mb, even after successive updates.
 
I've tested some block lists today. I see that you don't need so many for good results. Many lists have the same domains so unnecessary in my opinion. I have one big and 2 smaller + some custom rules now. Same result as before.

Better to have the ones you need, and avoid having everything. It will differentiate between people. So choose and test the ones you want/need instead of just adding lots of different ones.

Mine I have right now are:


However, mine are not for everyone. I block Google, Facebook/Meta + lots of other social sites.

Under "Custom filtering rules" I added something I found in this thread.

/^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]/
/^(.+[_.-])?telemetry[_.-]/
/^ad([sxv]?[0-9]*|system)[_.-]([^.[:space:]]+\.){1,}|[_.-]ad([sxv]?[0-9]*|system)[_.-]/
/^adim(age|g)s?[0-9]*[_.-]/
/^adtrack(er|ing)?[0-9]*[_.-]/
/^advert(s|is(ing|ements?))?[0-9]*[_.-]/
/^aff(iliat(es?|ion))?[_.-]/
/^analytics?[_.-]/
/^banners?[_.-]/
/^beacons?[0-9]*[_.-]/
/^count(ers?)?[0-9]*[_.-]/
/^mads\./
/^pixels?[-.]/
/^stat(s|istics)?[0-9]*[_.-]/

Which works great! Then you probably don't need to update all the lists every day. Once a week I would think is just right.
 
I've tested some block lists today. I see that you don't need so many for good results. Many lists have the same domains so unnecessary in my opinion. I have one big and 2 smaller + some custom rules now. Same result as before.

Better to have the ones you need, and avoid having everything. It will differentiate between people. So choose and test the ones you want/need instead of just adding lots of different ones.

Mine I have right now are:


However, mine are not for everyone. I block Google, Facebook/Meta + lots of other social sites.

Under "Custom filtering rules" I added something I found in this thread.

/^(.+[_.-])?adse?rv(er?|ice)?s?[0-9]*[_.-]/
/^(.+[_.-])?telemetry[_.-]/
/^ad([sxv]?[0-9]*|system)[_.-]([^.[:space:]]+\.){1,}|[_.-]ad([sxv]?[0-9]*|system)[_.-]/
/^adim(age|g)s?[0-9]*[_.-]/
/^adtrack(er|ing)?[0-9]*[_.-]/
/^advert(s|is(ing|ements?))?[0-9]*[_.-]/
/^aff(iliat(es?|ion))?[_.-]/
/^analytics?[_.-]/
/^banners?[_.-]/
/^beacons?[0-9]*[_.-]/
/^count(ers?)?[0-9]*[_.-]/
/^mads\./
/^pixels?[-.]/
/^stat(s|istics)?[0-9]*[_.-]/

Which works great! Then you probably don't need to update all the lists every day. Once a week I would think is just right.
nice work!.
 
how would I install that version?
still shows v1.6 for me
Your SSH terminal is cutting off the rest of the image. You would be better off relying on AMTM to tell you when a new installer version is available, then to assume by the cut off SSH image that you will always have an update. The latest update wasn't a version change. It was only a modification to the default .yaml schema since we are going from "23" -> "24". I find the schema methodology used by AGH to be abit of an annoyance because if I let it go too long without changing the number, AGH will not compensate when the installer makes the .yaml file during the install process.
 
Last edited:
Your SSH terminal is cutting off the rest of the image. You would be better off relying on AMTM to tell you when a new installer version is available, then to assume by the cut off SSH image that you will always have an update.
shows v1.6.2 on amtm and the terminal. I just made it fullscreen.
Github page shows AdGuard Home v0.107.34 as the latest. I don't want to install the wrong version that does not have the fixes if its not available via amtm yet.
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top