Sync BunnyCDN edge IPs to Cisco FMC Dynamic Objects with secure credential management and scheduling
Project description
bunny2fmc
Automatically sync BunnyCDN IP ranges to Cisco FMC Dynamic Objects.
Quick Install
sudo apt install pipx
pipx install bunny2fmc
bunny2fmc --setup
That's it! Answer the setup questions and you're done.
What it does
bunny2fmc fetches the latest BunnyCDN edge server IP addresses and updates a Dynamic Object in Cisco FMC. No deployment needed - changes are immediate.
Features
- 🔄 Automatic sync - Fetch latest IPs from BunnyCDN API
- 🔐 Secure credentials - Stored in OS keyring
- ⏰ Scheduled execution - Run via cron (daily/hourly/custom)
- 📊 Smart updates - Only changes what's needed
- 📝 Logging - Track all sync activity
Prerequisites
Before running bunny2fmc --setup, create a dedicated API user in FMC:
- FMC → System → Users → Add User
- Settings:
- Username:
bunny2fmc_sync - Password: [choose strong password - save it!]
- Role: Network Admin (or Maintenance User)
- Authentication: Local
- Username:
- Click Save
Important: Don't use your admin account - API login logs out the web UI session!
Commands
| Command | Description |
|---|---|
bunny2fmc --setup |
Interactive configuration |
bunny2fmc --run |
Run sync now |
bunny2fmc --start |
Start scheduled sync (cron) |
bunny2fmc --stop |
Stop scheduled sync |
bunny2fmc --config |
Show configuration |
bunny2fmc --logs |
View recent logs |
bunny2fmc --logs follow |
Follow logs in real-time |
bunny2fmc --clear |
Remove all config and credentials |
bunny2fmc --help |
Show all commands |
File Locations
All files are stored in ~/bunny2fmc/:
~/bunny2fmc/
├── config.json # Configuration
├── logs/ # Log files
└── guide/ # Documentation
Troubleshooting
pipx not found:
pipx ensurepath
source ~/.bashrc
bunny2fmc not found:
export PATH="$PATH:$HOME/.local/bin"
Can't connect to FMC:
- Check firewall allows port 443
- Verify FMC hostname/IP is correct
- Test:
curl -k https://fmc.company.com/api/fmc_platform/v1/info
Upgrade:
pipx upgrade bunny2fmc
Uninstall:
pipx uninstall bunny2fmc
rm -rf ~/bunny2fmc/
Requirements
- Linux (Ubuntu/Debian recommended)
- Python 3.8+
- Cisco FMC with API access
- Network access to FMC and internet
Links
License
MIT License - see LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bunny2fmc-1.3.17.tar.gz.
File metadata
- Download URL: bunny2fmc-1.3.17.tar.gz
- Upload date:
- Size: 18.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e0d7c3e4dad3e11608f16b1e1e333cdf40feebf9b26d0e89abbe5e4fe53efe3
|
|
| MD5 |
e35e546dccfb91b7c8e73f757663b016
|
|
| BLAKE2b-256 |
7784eb1ab8a82002da1cc1634b9bf25ecb2a5ddfadc0fc970bbd5bbab2f60bf7
|
File details
Details for the file bunny2fmc-1.3.17-py3-none-any.whl.
File metadata
- Download URL: bunny2fmc-1.3.17-py3-none-any.whl
- Upload date:
- Size: 21.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8096d973a6d11bc8ab1bbf3531419218410811bfc7ec0fb9437a49341a166c5
|
|
| MD5 |
d906b4de6f638622b686c5ebcda06d3f
|
|
| BLAKE2b-256 |
e5e7c8e9490442e96b187e0d3931fadae7e17a4f2cd0fdc5072590feeb9a98ed
|