Skip to content

WastelandSYS/macdaddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macdaddyMAINbnr

MacDaddy

MacDaddy is a WastelandSYS Linux terminal utility for managing network interface MAC addresses with an interactive menu, scriptable CLI commands, backup/restore support, and automation-friendly workflows.

It is built for practical Linux administration, Raspberry Pi labs, Kali/Debian systems, and authorized network testing where you need MAC address changes to be readable, reversible, and easy to run from the terminal.


WHY MACDADDY?

Changing a MAC address by hand often means stitching together ip, macchanger, interface state changes, notes, and backup files. MacDaddy keeps that work in one focused tool without hiding what is happening.

MacDaddy is designed to:

  • Inspect MAC-capable interfaces before changes are made.
  • Randomize, reset, or assign MAC addresses through guided prompts or CLI commands.
  • Back up current MAC/interface state so changes can be restored later.
  • Keep risky operations clear, especially when a change may disconnect SSH, Wi-Fi, VPN, or other active sessions.
  • Stay lightweight enough for Raspberry Pi and lab systems while still feeling polished beside other WastelandSYS utilities.

MacDaddy is a MAC address management utility, not a bypass or abuse tool. Use it only on systems and networks where you have permission to make interface changes.


FEATURES

  • WastelandSYS-style interactive terminal menu.
  • Automation-friendly CLI mode.
  • Terminal-width aware banner and menu centering.
  • List available MAC-capable network interfaces.
  • Show MAC address and interface details for a selected interface.
  • Randomize one interface or every detected MAC-capable interface.
  • Reset one interface or all interfaces to their permanent MAC addresses through macchanger.
  • Set a custom MAC address with format validation.
  • Warn when a custom MAC is not locally administered.
  • Check interface status and flags.
  • Bring interfaces up or down.
  • Back up MAC addresses to a generated backup file.
  • Restore MAC addresses from backup.
  • Automatic repeated MAC randomization mode.
  • --dry-run support for safer command review.
  • Color output controls with --color and --no-color.
  • Root checks for operations that modify interfaces.
  • Installer for /opt/macdaddy plus the global macdaddy command.
  • Uninstaller that removes installed launchers and application files while preserving backups.
  • GPLv3 licensed.

MACDADDY WORKFLOW

Main Menu

macdaddyMAINMENU

Access MAC randomization, custom MAC assignment, backup, restore, automation, and interface management from a single terminal interface.

Interface Detection

macdaddyINTERFACESELECTION

Detect and display MAC-capable network interfaces before performing MAC address operations.

Randomize MAC Address

macdaddyRANDOMIZED

Generate and apply randomized MAC addresses through a guided workflow for quick identity changes.

Backup

macdaddyBACKUP1

Create backups of current MAC address settings before making changes or running automated workflows.

Restore

macdaddyBACKUPRESTORED1

Restore previously saved MAC address configurations and recover original adapter settings.

Automation Mode

macdaddyAUTOMATEDCHANGES

Continuously randomize MAC addresses at configurable intervals while displaying current, permanent, and newly assigned addresses.


INSTALLATION

Clone the repository and run the installer:

git clone https://github.com/WastelandSYS/macdaddy.git
cd macdaddy
chmod +x install.sh uninstall.sh macdaddy.py
sudo ./install.sh

The installer will:

  • Check that it is running with root privileges.
  • Install required packages on apt-based systems when apt-get is available.
  • Verify python3, macchanger, and ip are available.
  • Install MacDaddy to /opt/macdaddy/macdaddy.py.
  • Create the global command /usr/local/bin/macdaddy.
  • Prepare /var/lib/macdaddy for root/system backup storage.

After installation:

macdaddy --help
sudo macdaddy

UNINSTALLATION

Run the uninstaller from the cloned repository:

sudo ./uninstall.sh

The uninstaller removes installed MacDaddy launchers and application files:

  • /usr/local/bin/macdaddy
  • /opt/macdaddy
  • MacDaddy desktop entries if any were installed later

The uninstaller intentionally does not remove user backups or user-created data, including files under /var/lib/macdaddy, ~/.local/share/macdaddy, custom backup paths, or local backup files.


USAGE

Interactive Mode

Start the menu:

sudo macdaddy

Or explicitly launch it:

sudo macdaddy menu

Common interactive actions include:

  • Show available interfaces.
  • Show MAC address information.
  • Randomize one interface.
  • Randomize all interfaces.
  • Reset one or all interfaces.
  • Back up and restore MAC addresses.
  • Set a custom MAC address.
  • Start or stop automatic MAC changing.
  • Change interface state.

CLI Mode

Show help:

macdaddy --help

Show version:

macdaddy --version

List interfaces:

sudo macdaddy list

Show one interface:

sudo macdaddy show wlan0

Randomize one interface:

sudo macdaddy randomize wlan0

Randomize all interfaces without an interactive confirmation prompt:

sudo macdaddy randomize-all --yes

Reset one interface:

sudo macdaddy reset wlan0

Reset all interfaces:

sudo macdaddy reset-all --yes

Set a custom MAC address:

sudo macdaddy set wlan0 02:11:22:33:44:55

Check interface status:

sudo macdaddy status wlan0

Bring an interface down or up:

sudo macdaddy state wlan0 down
sudo macdaddy state wlan0 up

Back up MAC addresses:

sudo macdaddy backup

Back up to a specific file:

sudo macdaddy backup --file ./mac_backup.txt

Restore from the default backup path:

sudo macdaddy restore --yes

Restore from a specific backup file:

sudo macdaddy restore --file ./mac_backup.txt --yes

Preview commands without changing interfaces:

sudo macdaddy --dry-run randomize wlan0

Run automation mode:

sudo macdaddy auto --interval 300 wlan0

DIRECTORY STRUCTURE

Repository files:

macdaddy/
├── LICENSE          GPLv3 license text
├── README.md        Project documentation
├── install.sh       Installer for Linux systems
├── macdaddy.py      Main MacDaddy application
└── uninstall.sh     Uninstaller for installed files

Installed files:

/opt/macdaddy/macdaddy.py       Installed application
/usr/local/bin/macdaddy         Global command symlink
/var/lib/macdaddy/              Root/system backup directory

Generated backup locations:

  • Root default: /var/lib/macdaddy/mac_backup.txt
  • User default: ~/.local/share/macdaddy/mac_backup.txt
  • Environment override: MACDADDY_BACKUP_FILE=/path/to/file
  • CLI override: macdaddy backup --file /path/to/file

MacDaddy also supports older local mac_backup.txt files during restore when no newer default backup exists.


COMPATIBILITY

MacDaddy is Linux-focused and depends on Linux networking tools.

Target platforms:

  • Kali Linux
  • Debian
  • Ubuntu
  • Raspberry Pi OS
  • Raspberry Pi / ARM Linux environments

Expected to work on other Linux distributions when these commands are available:

  • python3
  • ip from iproute2
  • macchanger

Notes:

  • MAC changes usually require root privileges.
  • Changing MAC addresses can disconnect SSH, Wi-Fi, VPN, or other active network sessions.
  • Some drivers, virtual interfaces, managed networks, or Wi-Fi environments may prevent MAC changes.
  • Non-apt distributions can still use MacDaddy after manually installing dependencies.

DEPENDENCIES

Installed automatically on apt-based systems:

sudo apt-get install -y python3 macchanger iproute2

Dependency purpose:

  • python3 — runs MacDaddy.
  • macchanger — randomizes and resets MAC addresses.
  • iproute2 — lists interfaces and changes interface state/address information.

LICENSE

MacDaddy is released under the GNU General Public License v3.0. See LICENSE for the full license text.


AUTHOR

WastelandSYS