Skip to main content

Sync Eero DHCP client list to AdGuard Home

Project description

Eero-AdGuard-Sync

Sync Eero DHCP client list to AdGuard Home

Release PyPI Code style

eero-adguard-sync

Table of Contents

👶 Dependencies

🛠️ Installation

Install from PyPI using pip, you may need to use pip3 depending on your installation:

pip install eero-adguard-sync

🚀 Usage

eag-sync is a command-line program to sync your Eero DHCP client list to AdGuard Home, note that it is a one-way sync from Eero to AdGuard. It requires Python interpreter version 3.7+.

To run a sync process run the eag-sync sync command, you can find a full list of options below. Sample usage:

eag-sync sync

You may be prompted for an Eero email or SMS code the first time you run this program. Your credentials never leave your computer, all processing is done client side.

To clear all locally cached credentials run the clear command:

eag-sync clear

⚙️ Options

eag-sync

Usage: eag-sync [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  sync
  clear

eag-sync sync

Usage: eag-sync sync [OPTIONS]

Options:
  --adguard-host TEXT      AdGuard Home host IP address
  --adguard-user TEXT      AdGuard Home username
  --adguard-password TEXT  AdGuard Home password
  --eero-user TEXT         Eero email address or phone number
  -d, --delete             Delete AdGuard clients not found in Eero DHCP list
  -y, --confirm            Skip interactive confirmation
  -o, --overwrite          Delete all AdGuard clients before sync
  --help                   Show this message and exit.

eag-sync clear

Usage: eag-sync clear [OPTIONS]

Options:
  -y, --confirm  Skip interactive confirmation
  --help         Show this message and exit.

🔮 Autocompletion

To enable tab completion you will need to configure your preferred shell to use it. Currently bash and zsh are supported.

This configuration is totally optional, but may be useful if you use eag-sync often.

bash

Add the following to ~/.bashrc:

eval "$(_EAG_SYNC_COMPLETE=bash_source eag-sync)"

zsh

Add the following to ~/.zshrc:

eval "$(_EAG_SYNC_COMPLETE=zsh_source eag-sync)"

🐋 Docker

A Docker image that executes eag-sync sync on a cron schedule is available on Docker Hub with the tag amickael/eero-adguard-sync. Some environment variables are required when running a container, see the table below for details.

You can also build the image locally using the Dockerfile located in /docker.

Variable Name Notes Required Default
EAG_EERO_COOKIE Eero session cookie value Eero session cookie value from output of eag-sync sync --debug Yes
EAG_ADGUARD_HOST AdGuard host IP address Yes
EAG_ADGUARD_USER AdGuard admin username Yes
EAG_ADGUARD_PASS AdGuard admin password Yes
EAG_SYNC_FLAGS eag-sync sync command flags Sync flags without the dash, e.g. EAG_SYNC_FLAGS="d"

Note: -y is always appended
No -y
EAG_CRON_SCHEDULE Sync schedule in cron syntax See crontab.guru for examples No 0 0 * * *

⚖️ License

MIT © 2022 Andrew Mickael

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eero-adguard-sync-0.3.2.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eero_adguard_sync-0.3.2-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file eero-adguard-sync-0.3.2.tar.gz.

File metadata

  • Download URL: eero-adguard-sync-0.3.2.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for eero-adguard-sync-0.3.2.tar.gz
Algorithm Hash digest
SHA256 68e2f850b8a1535db19701cf939014051ad1b458e1602720ce2711b776c15be6
MD5 3911551679e879d176bd06d89aaed702
BLAKE2b-256 c7f1c27a3c5a38865ca5b8b6bddecace2f51815b309736950525343815c4596e

See more details on using hashes here.

File details

Details for the file eero_adguard_sync-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: eero_adguard_sync-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for eero_adguard_sync-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b7755acb45232d7357c8ded3e87258f793f85be84dc2e2f58e7372d9814f263
MD5 d399a2f9a898faf5de5087fd24e72695
BLAKE2b-256 7111ce4529429decea58a15a98ec628d3e927a5d727100c3311d7f238c709315

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page