Skip to main content

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

Metadata

Release files for eero-adguard-sync 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eero-adguard-sync 0.3.2
File Size Uploaded Provenance
eero-adguard-sync-0.3.2.tar.gz 12.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for eero-adguard-sync 0.3.2
File Interpreter ABI Platform
eero_adguard_sync-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 29.1 kB

Release files / eero-adguard-sync-0.3.2.tar.gz

Download URL eero-adguard-sync-0.3.2.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
68e2f850b8a1535db19701cf939014051ad1b458e1602720ce2711b776c15be6
BLAKE2b-256 checksum
How to use checksums
c7f1c27a3c5a38865ca5b8b6bddecace2f51815b309736950525343815c4596e
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / eero_adguard_sync-0.3.2-py3-none-any.whl

Download URL eero_adguard_sync-0.3.2-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b7755acb45232d7357c8ded3e87258f793f85be84dc2e2f58e7372d9814f263
BLAKE2b-256 checksum
How to use checksums
7111ce4529429decea58a15a98ec628d3e927a5d727100c3311d7f238c709315
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for eero-adguard-sync 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page