Giter Site home page Giter Site logo

iganeshk / adwireguard-dark Goto Github PK

View Code? Open in Web Editor NEW
25.0 1.0 6.0 2.5 MB

AdWireGuard is a dark themed AdGuard Home and WireGuard UI (wg-easy) available as a distributable or docker image

Home Page: https://hub.docker.com/r/iganesh/adwireguard-dark

License: MIT License

adguard-home dark-theme docker-image wireguard wireguard-vpn docker vpn adwireguard

adwireguard-dark's Introduction

AdWireGuard

Build AdguardHome Dark Build AdguardHome Dark Build & Docker Workflow

AdWireGuard Screenshot

What?

Docker container housing both AdGuard Home and wg-easy (WireGuard Easy) togther to provide the flexibility of running them at once.

Note: On Android, make sure PrivateDNS is disabled to avoid DNS leaking

What else?

Bleeding edge distributions for wg-easy patched with security/depenedency updates and adguard home with custom dark theme (temporarily disabled)

AdWireGuard

AdGuardHome (Dark)

wg-easy

  • TBA

Docker-Compose AdWireGuard:

version: "3.8"

services:
  adwireguard:
    container_name: adwireguard
    # image: ghcr.io/iganeshk/adwireguard-dark:latest
    image: iganesh/adwireguard-dark:latest
    restart: unless-stopped
    ports:
      - '53:53'           # AdGuardHome DNS Port
      - '3000:3000'       # Default Address AdGuardHome WebUI
      - '853:853'         # DNS-TLS
      - '51820:51820/udp' # wiregaurd port
      - '51821:51821/tcp' # wg-easy webUI
    environment:
        # WG-EASY ENVS
      - WG_HOST= ** HOST-IP **
      - PASSWORD=changeIt
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.10.11.x
      - WG_DEFAULT_DNS=10.10.10.2
      - WG_MTU=1420
      - WEBUI_HOST=0.0.0.0 # Change this to allow binding to other than 0.0.0.0 port
    volumes:
        # adguard-home volume
      - './adguard/work:/opt/adwireguard/work'
      - './adguard/conf:/opt/adwireguard/conf'
        # wg-easy volume
      - './wireguard:/etc/wireguard'
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=1    # Disable IPv6
    networks:
      vpn_net:
        ipv4_address: 10.10.10.2

networks:
  vpn_net:
    ipam:
      driver: default
      config:
        - subnet: 10.10.10.0/24

wg-easy Patches

  • Update base image to node18 alpine (holding node20 due to docker build issues for armv6/v7 arch)
  • Updated NodeJS to v18.18.2, bump node dependencies & add ability to adjust WebUI host/port
  • Add Dark mode

adwireguard-dark's People

Contributors

iganeshk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

adwireguard-dark's Issues

DNS resolving has broken on latest release

Hey,

Been using your image for quite a few months with no issues. This morning I updated to latest and now all DNS resolution seems to have broken.

I confirmed this by removing your container and running just plain WG-Easy image and all works fine. When I run your image all pings slow to a crawl from host machine and any clients connected to adwireguard can no longer resolve any URLs.

Not sure what exactly is going on, I tried rebuilding my resolv.conf and re-applying NetworkManager.conf with no luck.

Running on Ubuntu 22.04.2 LTS with Docker.

Can't access to any website even it seems it's working.

Hi.

I deployed your docker in a free Oracle VPS and I have a problem. Adguard is receiving the DNS queries but my cell phone is not receiving the answer so it doesn't enter to any website.

My setup is:

adwireguard:
    container_name: adwireguard
    # image: ghcr.io/iganeshk/adwireguard-dark:latest
    image: iganesh/adwireguard-dark:latest
    restart: unless-stopped
    ports:
      - '53:53'           # AdGuardHome DNS Port
      - '3000:3000'       # Default Address AdGuardHome WebUI
      - '853:853'         # DNS-TLS
      - '51820:51820/udp' # wiregaurd port
      - '51821:51821/tcp' # wg-easy webUI
    environment:
        # WG-EASY ENVS
      - WG_HOST=xxx.duckdns.org
      - PASSWORD=${PASS}
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.10.11.x
      - WG_DEFAULT_DNS=${APP_ADGUARD_IP}
      - WG_MTU=1420
      - WEBUI_HOST=0.0.0.0 # Change this to allow binding to other than 0.0.0.0 port
    volumes:
        # adguard-home volume
      - ${HOME}/docker/adguard/work:/opt/adwireguard/work
      - ${HOME}/docker/adguard/confdir:/opt/adwireguard/conf
        # wg-easy volume
      - ${HOME}/docker/wireguard:/etc/wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=1    # Disable IPv6
    networks:
      default:
        ipv4_address: ${APP_ADGUARD_IP}`

And I'm able to reach adguard and wireguard webui.

In adguard I see that there are queries:
imagen

And in wireguard, there is up/down changes:
imagen

Before I was using adguard and wg-easy "standard" docker installation but I was looking for a solution to be able to see all the clients IP in adguard to customize the filtering (some for my wife and I, some for my kids).

I tried somethings but I'm noob in networks setup.

Any idea of what I can check or try?

Thank you in advance.

Adguard UI won´t start after last upgrade to v0.108.0-b.48-dark

Container was upgraded via Watchtower to the Latest release, after the upgrade the Adguard UI won´t stark properly.
Here are the container logs

Running AdGuardHome in background
Running wg-easy in background
2023/11/10 14:00:18.158144 [info] AdGuard Home, version v0.108.0-b.48-dark
2023/11/10 14:00:18.159937 [info] tls: using default ciphers
2023/11/10 14:00:18.161199 [info] safesearch default: disabled
2023/11/10 14:00:18.167163 [info] Initializing auth module: /opt/adwireguard/work/data/sessions.db
2023/11/10 14:00:18.167936 [info] auth: initialized.  users:1  sessions:0
2023/11/10 14:00:18.168197 [info] AdGuard Home updates are disabled
2023/11/10 14:00:18.168406 [info] web: initializing
2023/11/10 14:00:18.213839 [info] dnsproxy: cache: enabled, size 4096 b
2023/11/10 14:00:18.214223 [info] dnsproxy: max goroutines is set to 300
2023/11/10 14:00:18.215826 [info] AdGuard Home is available at the following addresses:
2023/11/10 14:00:18.216219 [info] go to http://127.0.0.1:3000
2023/11/10 14:00:18.216399 [info] go to http://10.10.10.2:3000
2023/11/10 14:00:18.216079 [info] clients: processing addresses
/opt/adwireguard/lib/Server.js:138
      .listen(PORT, WEBUI_HOST, () => {
                    ^
ReferenceError: WEBUI_HOST is not defined
    at new Server (/opt/adwireguard/lib/Server.js:138:21)
    at Object.<anonymous> (/opt/adwireguard/services/Server.js:5:18)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/opt/adwireguard/server.js:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
Node.js v18.18.2

The docker-compose used is:

version: "3.8"
services:
  adwireguard:
    container_name: adwireguard
    # image: ghcr.io/iganeshk/adwireguard-dark:latest
    image: iganesh/adwireguard-dark:latest
    restart: unless-stopped
    ports:
      - '53:53'           # AdGuardHome DNS Port
      - '3003:3000'       # Default Address AdGuardHome WebUI
      - '853:853'         # DNS-TLS
      - '51820:51820/udp' # wiregaurd port
      - '51821:51821/tcp' # wg-easy webUI
    environment:
        # WG-EASY ENVS
      - WG_HOST=<removed>
      - PASSWORD=<removed>
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.10.11.x
      - WG_DEFAULT_DNS=10.10.10.2
      - WG_MTU=1420
    volumes:
        # adguard-home volume
      - '~/docker/adguard/work:/opt/adwireguard/work'
      - '~/docker/adguard/conf:/opt/adwireguard/conf'
        # wg-easy volume
      - '~/docker/wireguard:/etc/wireguard'
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=1    # Disable IPv6
    networks:
      vpn_net:
        ipv4_address: 10.10.10.2

networks:
  vpn_net:
    ipam:
      driver: default
      config:
        - subnet: 10.10.10.0/24

exec format error

hey there :)

i've been trying to get your container to work for ages :D
I have a Raspberry Pi4 here and have absolutely no idea why the whole thing won't boot.

this is my portiner stack. some details 'bout my lansettings:

router is 192.168.178.1 and raspi is 192.168.178.10.

that would be really great if you could help me here briefly

`version: "3.8"

services:
adwireguard:
container_name: adwireguard
#image: ghcr.io/iganeshk/adwireguard-dark:latest
image: iganesh/adwireguard-dark:latest
restart: unless-stopped
ports:
- '22890:3000' # Default Address AdGuardHome WebUI
- '22853:853' # DNS-TLS
- '22820:51820/udp' # wiregaurd port
- '22843:51821/tcp' # wg-easy webUI
environment:
# WG-EASY ENVS
- WG_HOST=cloud.rawwr.org
- PASSWORD=xxxxx
- WG_PORT=51820
- WG_DEFAULT_ADDRESS=10.10.11.x
- WG_DEFAULT_DNS=10.10.10.2
- WG_MTU=1420
volumes:
# adguard-home volume
- '/opt/containers/adwireguard/work:/opt/adwireguard/work'
- '/opt/containers/adwireguard/config:/opt/adwireguard/conf'
# wg-easy volume
- '/opt/containers/adwireguard/wireguard:/etc/wireguard'
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=1 # Disable IPv6
networks:
vpn_net:
ipv4_address: 10.10.10.2

networks:
vpn_net:
ipam:
driver: default
config:
- subnet: 10.10.10.0/24`

ADH configuration

How did you configure ADH?
I used your docker-compose file did /install left everything at default and using all interfaces. Opened wireguard added a client. Handshake is working, no internet connection and no requests in adguard seen.

my docker-compose file:

version: "3.8"

services:
  adwireguard:
    container_name: adwireguard
    # image: ghcr.io/iganeshk/adwireguard-dark:latest
    image: iganesh/adwireguard-dark:latest
    restart: unless-stopped
    ports:
      - '55:53'           # AdGuardHome DNS Port
      - '3001:80'       # Default Address AdGuardHome WebUI
      - '853:853'         # DNS-TLS
      - '51820:51820/udp' # wiregaurd port
      - '51822:51821/tcp' # wg-easy webUI
    environment:
        # WG-EASY ENVS
      - WG_HOST=secret
      - PASSWORD=secret
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.8.3.x
      - WG_DEFAULT_DNS=10.8.4.2
      - WG_MTU=1420
      - WG_ALLOWED_IPS=0.0.0.0, ::/0
    volumes:
        # adguard-home volume
      - "./adguard/work:/opt/adwireguard/work"
      - "./adguard/conf:/opt/adwireguard/conf"
        # wg-easy volume
      - './wireguard:/etc/wireguard'
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=1    # Disable IPv6
    networks:
      vpn_net:
        ipv4_address: 10.8.4.2

networks:
  vpn_net:
    ipam:
      driver: default
      config:
        - subnet: 10.8.4.0/24

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.