Adguard Home auf Fritzbox betreiben

Für mich nicht, da ich die eigenen Konfigurationsmöglichkeiten (individuelle Filterregeln und - listen usw. von Adguard Home direkt vor Ort schätze.
Außerdem wäre es eine Möglichkeit, mal das Kompilieren "eigener" Sourcen zu lernen. Ich weiß bloß nicht, wie ich unter der freetz-Buildumgebung konkret einsteigen könnte.
 
@FischersFreetz
Damit sich nicht jeder selber darum kümmern muss hatte ich extra 3 fertige Versionen (dns+dhcp+debug, dns+dhcp und nur dns) angehangen. Leider wurde das vom Mod wieder gelöscht, warum weiß ich nicht.

Den Quellcode der libmultid findet man unter https://github.com/Freetz-NG/freetz-ng/tree/master/make/libs/libmultid/src.

Dort kann man entweder im Makefile mit

CPPFLAGS += -DDEBUG -DD_MUSL -DD_DNS -DD_DHCP -DD_IPV6

oder im libmultid.c mit

#define DEBUG
#define D_MUSL
#define D_DNS
#define D_DHCP
#define D_IPV6

die jeweiligen Optionen aktivieren.

Mit dem Befehl "make" erstellt man dann die libmultid. Ohne passenden Toolchain allerdings natürlich für deine CPU-Architektur im PC und nicht für die Box.

Um die passende Toolchain für die Box zu bekommen gibt es mehrere Wege, eine wäre z.B. einfach mal ein Freetz-Image zu erstellen.
 
Zuletzt bearbeitet:
Danke erstmal für die Impulse zum Ausprobieren.
Die Möglichkeit, DNS für denmultid "abzuschalten", ist ja in Freetz-NG als "libmultid experiments" schon vorgesehen (siehe Config.in), jedoch finde ich in der menuconfig keine Möglichkeit, es auszuwählen. Bin ich nur blind oder muss man es irgendwie manuell aktivieren?
 
Zuletzt bearbeitet:
Warum genau wurde der Anhang denn entfernt?
https://www.ip-phone-forum.de/pages/Nutzungsbedingungen-Datenschutzrichtlinien/ schrieb:
6.4 Der Nutzer verpflichtet sich, dass er mit Form, Inhalt oder verfolgtem Zweck seiner Beiträge im Forum/Blog nicht gegen gesetzliche Gebote/Verbote oder gegen die guten Sitten verstößt. Hierzu gehört insbesondere, keine pornografischen, gewaltverherrlichenden oder volksverhetzenden Inhalte darzustellen oder nicht zu Straftaten aufzurufen oder Anleitungen hierfür darzustellen. Beiträge dürfen weiterhin weder beleidigend oder verunglimpfend sein.

6.5 Bei einem Verstoß gegen die vorgenannten Regeln behält sich der Betreiber vor, die entsprechenden Inhalte ganz oder teilweise vom Netz zu nehmen und/oder den Zugang des Nutzers zum Portal ip-phone-forum.de zu sperren. Hat der Nutzer die Verletzung der vorgenannten Regeln zu vertreten, haftet er gegenüber dem Betreiber auf Ersatz aller hieraus entstehenden Schäden. Der Nutzer stellt den Betreiber im Innenverhältnis insoweit von etwaigen aus diesen Verstößen resultierenden Ansprüchen Dritter frei.

Hier wird keinerlei Software als fertige Datei (öffentlich) bereitgestellt , sei es einzelne Teile/Libaries oder fertige Images.

Dafür gibt es, leider, andere Boards welche dies zulassen.
 
Da die Missverständnisse bezüglich des Anhangs inzwischen ausgeräumt wurden, befinden sich die libmultid Binaries nun im ersten Post.
 
  • Like
Reaktionen: lubi
... die libmultid Binaries ... im ersten Post.
Ich habe habe sie ausprobiert und bei mir (mit Freetz-NG) klappt es nicht. :rolleyes:
Rich (BBCode):
# LD_PRELOAD=/var/media/ftp/freetz/libmultid-debug-dns-dhcp.so multid -f -v
[libmultid::_libmultid_init()] Successfully initialized
multid: HWRevision=226
[libmultid::bind()] Address family unknown: af=1 fd=6
multid: startup ($Revision$$CompileDate: Nov 18 2022 12:02:18 $)
[libmultid::bind()] Address family unknown: af=16 fd=8
[libmultid::bind()] Address family unknown: af=16 fd=9
multid: opt_without_tr069discover=0, tr069disc=1, AR7CFG->vinax_hsi_lan_ports=(null), multid.tcom_targetarch=0, multid.cpmac_no_ata_possible=0, pppoeiface=ptm0
[libmultid::bind()] Address family unknown: af=1 fd=10
multid: bridge_configured: nqos_bridge_active=0, bridge_port_set=0x0, igmp_flt_portset=0x0
multid: list[0]=lan
multid: list[1]=guest
multid: br_get_interfaces(guest)=1
multid: list[0]=lan
multid: list[1]=guest
multid: br_get_interfaces(guest)=1
multid: list[0]=lan
multid: list[1]=guest
multid: br_get_interfaces(guest)=1
multid: list[0]=lan
multid: list[1]=guest
multid: br_get_interfaces(guest)=1
multid: list[0]=lan
multid: list[1]=guest
multid: br_get_interfaces(guest)=1
multid: lan: ULA: fd00::de39:6fff:fe19:e37c
multid: guest: ULA: fd00::1:de39:6fff:fe19:e37d
multid: mrouter: using IGMPv3 for upstream interface dsl
multid: mrouter: using IGMPv3 for other interfaces
[libmultid::bind()] Address family unknown: af=10 fd=15
multid: dgramserver: 15(-) (allocated): bind([::]:53) failed - Address in use (125)
[libmultid::bind()] Address family unknown: af=17 fd=16
multid: DHCPD on lan
multid: DHCPD on lan:0 skipped, is virtual interface
[libmultid::bind()] Address family unknown: af=17 fd=17
multid: DHCPD on guest
multid: open(/dev/userman) - No such file or directory (2)
multid: open(/dev/userman) - No such file or directory (2)
multid: open(/dev/userman) - No such file or directory (2)
multid: open(/dev/userman) - No such file or directory (2)
multid: open(/dev/userman) - No such file or directory (2)
multid: open(/dev/userman) - No such file or directory (2)
multid: open(/dev/userman) - No such file or directory (2)
multid: open(/dev/userman) - No such file or directory (2)
[libmultid::bind()] IPv4 src: fd=18 0.0.0.0:67
[libmultid::bind()] IPv4 dst: fd=18 0.0.0.0:50067
[libmultid::bind()] Address family unknown: af=10 fd=20
multid: _reset_dns: interface not found (lan)
multid: _reset_dns: interface not found (guest)
[libmultid::bind()] Address family unknown: af=1 fd=21
[libmultid::bind()] Address family unknown: af=16 fd=22
multid: Initialisation of multid_dnsd_start [FAIL]
multid: pcpc_map_find: no context found
multid: Initialisation of daemon [FAIL]
multid: daemonmng_init() failed

Kann mir das jemand erklären?
 
Zuletzt bearbeitet:
Mein Fehler, sorry. Lade nochmal runter das zip.

Hatte neu ausgecheckt und beim compilieren statt D_IPV6 D_IPV5 getippt und nicht nochmal getestet.

Ich hoffe, nun passt es (kann leider wieder nicht testen).
 
Dann hab' zweimal Dank, einmal für die Bibliothek-Binaries und dann noch für die Erklärung der Fehlermeldungen.
Rich (BBCode):
# netstat -ltnp | grep -w ':53'
tcp        0      0 :::53          :::*               LISTEN      17675/AdGuardHome
Rich (BBCode):
# netstat -ltnp | grep -w ':50053'
tcp        0      0 :::50053        :::*              LISTEN      21906/multid
 
Zuletzt bearbeitet:
Es ist unter der FW 7.50 auch möglich, den Start und den Stop von Adguard Home recht nahtlos in das System zu integrieren und zwar so, dass auch der Supervisor svctl den Zustand des multid kennt.
Die entsprechende Diskussion wurde hier geführt und eine Übersicht findet man hier.

EDIT:
Das hätte auch den Vorteil, dass parallel neben dem Adguard Home:53 auch der multid:50053 als DNS-Server zur Verfügung steht.
Letzteren habe ich in Adguard Home dann als privaten inversen DNS-Server zur Auflösung interner IP-Adressen eingestellt:
> Einstellungen > DNS-Einstellungen ...1673185477581.png
 
Zuletzt bearbeitet:
Vielen Dank für die Erklärung und Bereitstellung der Dateien!
Ich nutze das Original FritzOS 7.50 auf einer 7590, nur mit aktivierten telnet über modfs von Peter.
Mir ist nur noch nicht klar, wie Du die multid.service Datei (/lib/systemd/system/multid.service) geändert hast
und dort eine andere EnvironmentFile eingetragen hast:
Lässt sich diese Datei editieren ?

Gruss Humphrey
 
Ich verwende Freetz-NG, sodass ich die entsprechenden Änderungen direkt in die Firmware integrieren konnte. Die Datei lässt sich nämlich nicht direkt editieren (Read-only file system). Inwiefern modfs die Veränderung der Datei ermöglich könnte, kann ich nicht einschätzen, denn...

Ich habe auch noch eine Frage an Dich:
Wie gelingt es dir, modfs auf einer 7590 zu nutzen? Mir war das nicht möglich (vgl. hier) und die 7590 soll gar nicht unterstützt werden (siehe hier) . :rolleyes:
 
modfs nutze ich bereits mit FritzOS 7.29 auf der 7590.
Das Script modify.sh von Peter (https://github.com/PeterPawn/modfs) habe ich in einer VM mit aktuellem Linux Mint ausgeführt (Aufruf: modify.sh 7590 07.50).
Die erstellte image-Datei läuft seit einiger Zeit erfolgreich auf meiner 7590.

Hier hat Peter die 7590 "freigegeben":

ganz grob meine Vorgehensweise:
- Mint Linux VM:
- Terminal öffnen: sudo su
cp modify.sh /opt/modify.sh
cd /opt
chmod +x ./modify.sh
./modify.sh 7590 07.50

=> /tmp/root/yf_sample: Image-Datei als "new.image"

Gruss Humphrey
 
Zuletzt bearbeitet:
Alles klar... du nutzt (extern) das Script modify.sh. Ich habe das noch nicht ausprobiert, aber...
es müsste doch theoretisch möglich sein, dem Script vor dem "Packen" der Firmware eine veränderte /lib/systemd/system/multid.service unterzujubeln.

Dazu würde ich mal die erzeugte Verzeichnisstruktur untersuchen und herausfinden unter welchem Pfad die Datei multid.service konkret zu finden wäre.
Dann könnte man das Scipt so abändern, dass nach Zeile 80 ein Befehl zum Ersetzen der Datei eingefügt wird: cp /pfad_zur_veränderten/multid.service /pfad_zur_originalen/multid.service.
EDIT:
Oder man beachte besser die Hinweise des folgenden Beitrages.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: humphrey4711
Leute, tut mir bitte einen Gefallen und führt Änderungen wie die in #115 vorgeschlagene so aus, wie es im Rahmen von modfs vorgesehen ist - nämlich innerhalb eines passenden modscripts. Vorlagen finden sich z.B. hier: https://github.com/PeterPawn/modfs/blob/master/modscripts/inactive/template oder auch hier: https://github.com/PeterPawn/modfs/blob/master/modscripts/copy_binaries (mit wirklich minimalistischster Fehlerbehandlung) und ich würde wirklich DRINGEND darum bitten, nichts an den Shell-Skripten zu ändern, aus denen modfs selbst besteht.

Der nächste Leser versteht dann vielleicht den Unterschied zwischen "dem Original" und irgendeiner geänderten Version von modify.sh nicht mehr und schiebt dann ggf. irgendwelche "Fehlfunktionen" eben nicht auf Eure Patches an den originalen Skript-Dateien (und die Änderungen bei AVM erfolgen praktisch auch ständig, mit jeder neuen Version wird weiter auf die Verwendung von supervisor umgestellt), sondern behauptet dann wieder, MEINE Skript-Dateien würden überhaupt nicht funktionieren wie beschrieben.

Und auch für die Änderung bzw. das Hinzufügen von service-Files gibt es bereits passende Beispiele (wo man dann auch die Infos nachlesen kann, wo man solche Dateien findet oder erzeugen kann) - hier: https://github.com/PeterPawn/modfs/blob/master/modscripts/mod_rc_tail_sh wird z.B. ein Service für die Abarbeitung der rc.user hinzugefügt und das dann auch in Abhängigkeit von der FRITZ!OS-Version bzw. dem Vorhandensein passender Dateien in der originalen Firmware. Obendrein kann man DORT dann tatsächlich die notwendigen Aktionen zum ÄNDERN der originalen Datei hinterlegen und muß nicht auf irgendeine "vorgefertigte" Datei mit dem neuen Inhalt für die multid.service zurückgreifen, die in der nächsten (FRITZ!OS-)Version schon wieder ganz anders aussehen kann.
 
  • Like
Reaktionen: humphrey4711
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.