onceupon /
Bash-Oneliner
A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.
95/100 healthLoading repository data…
Aeshp / repository
A collection of Linux shell scripts designed to reset core machine identifiers such as MAC address and system machine-id. Useful for testing environments where applications rely on device-level identification. Includes safeguards, backups, and cross-platform notes for macOS and Windows.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This repository contains a set of shell scripts designed to change core machine identifiers on a Linux (Ubuntu/Debian-based) system. The primary purpose is to make a specific application treat the computer as a new, unrecognized device.
These scripts make significant changes to your system's configuration.
clean_yourapp.sh script uses rm -rf, which will permanently delete files and directories without confirmation. Double-check the paths in the script before running.sudo (root) to run, as they modify protected system files.It is highly recommended to understand what each command does before executing the scripts. Backups of your original MAC address and machine-id are created by these scripts where possible, but improper use can still lead to serious issues. Test in a disposable VM first.
This project includes three independent scripts:
change_mac_address.sh
~/orig_mac.txt.reset_machine_id.sh
/etc/machine-id.bak.clean_yourapp.sh
Clone the repository (optional):
git clone <repository-url>
cd machine_identifier_reset
Make the scripts executable: (only required once)
Selected from shared topics, language and repository description—not editorial ratings.
onceupon /
A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.
95/100 healthGogh-Co /
Gogh is a collection of color schemes for various terminal emulators, including Gnome Terminal, Pantheon Terminal, Tilix, and XFCE4 Terminal also compatible with iTerm on macOS.
94/100 healthchmod +x *.sh
Run the desired script: Run each script individually as needed.
To change your MAC address:
./change_mac_address.sh
To reset your machine-id (requires sudo):
sudo ./reset_machine_id.sh
To clean application data:
./clean_yourapp.sh
Short summary: The scripts in this repo are written for Linux (systemd/Ubuntu/Debian) and will not work unmodified on macOS or Windows. Below are safer alternatives, equivalent commands, and important platform-specific caveats. Do not run destructive operations on production machines.
Shell & tools: macOS uses zsh as the default interactive shell since Catalina. /bin/bash is still present but is typically an older version supplied by Apple. macOS does not use systemd and does not have /etc/machine-id. Many Linux utilities (e.g., ip, macchanger) are not bundled by default — install extra tooling with Homebrew (brew) if needed.
List network interfaces:
ifconfig -a
# or
networksetup -listallhardwareports
Read current MAC address (example):
ifconfig en0 | awk '/ether/ {print $2}' # replace en0 with the actual device
Change MAC address (transient, may not work on all hardware):
sudo ifconfig <iface> down
sudo ifconfig <iface> ether 02:11:22:33:44:55
sudo ifconfig <iface> up
Notes:
macchanger; community ports or manual ifconfig are the common approaches.Machine identifier: macOS does not use /etc/machine-id or systemd-machine-id-setup. A common read-only identifier on macOS is the IOPlatformUUID:
ioreg -rd1 -c IOPlatformExpertDevice | awk -F\" '/IOPlatformUUID/{print $(NF-1)}'
Do not attempt to change this identifier on normal systems — modifying low-level hardware or system identifiers on macOS is unsupported and can break system services, iCloud, and licensing.
Stopping an app & removing app data:
pkill -f "Yourapp" || true
rm -rf ~/Library/Application\ Support/Yourapp
rm -rf ~/Library/Caches/Yourapp
rm -rf ~/Library/Preferences/com.yourapp.*
macOS stores user app data under ~/Library; paths differ from Linux's ~/.config/~/.local.
General: Windows uses different management tools (PowerShell is recommended). You can run the Linux scripts inside WSL (Windows Subsystem for Linux), but WSL only affects the Linux environment — it cannot change host-level hardware identifiers (e.g., Windows NIC MAC, Windows Machine GUID).
Sudo on Windows (clarified): Microsoft has introduced a Sudo for Windows wrapper in recent Windows 11 builds that provides a sudo-style experience and integrates with UAC (Settings → System → For developers → "Enable sudo"). Availability depends on OS build/channel and whether it is enabled; it is not identical to the Linux sudo binary. If sudo isn’t available, use Run as administrator, PowerShell Start-Process -Verb RunAs, or a third-party utility such as gsudo.
List network adapters (PowerShell):
Get-NetAdapter
Read MAC address (PowerShell):
Get-NetAdapter -Name "Ethernet" | Select-Object -ExpandProperty MacAddress
Change MAC address (driver support required):
# Only works if the driver exposes the setting
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Network Address" -DisplayValue "001122334455"
Disable-NetAdapter -Name "Ethernet" -Confirm:$false
Enable-NetAdapter -Name "Ethernet"
Notes:
Machine identifier (MachineGuid):
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Cryptography' -Name MachineGuid
Strong caution: MachineGuid is created by Windows and used by Windows and third-party software for machine-level identification. Modifying it can cause issues with activation, licensing, domain membership, or other software that relies on it. Test only in disposable VMs.
Stopping an app & removing app data (PowerShell):
Stop-Process -Name "Yourapp" -Force -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:APPDATA\\Yourapp" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\\Yourapp" -ErrorAction SilentlyContinue
Before doing anything destructive, follow these steps:
Dry run first: Add a flag or change scripts to print commands instead of executing them (no rm, no truncate, no ip link set ... down).
Create backups explicitly:
# Linux example
cp -a /etc/machine-id /etc/machine-id.bak
ip link show <iface> | awk '/ether/ {print $2}' > ~/orig_mac.txt
# macOS example
ifconfig <iface> | awk '/ether/ {print $2}' > ~/orig_mac.txt
# Windows example (PowerShell)
Get-ItemProperty -Path 'HKLM:\\SOFTWARE\\Microsoft\\Cryptography' -Name MachineGuid | Out-File C:\\Users\\$env:USERNAME\\machineguid.txt
Verify backups exist before destructive steps:
if [ ! -s /etc/machine-id.bak ]; then
echo "Backup /etc/machine-id.bak not found — aborting."
exit 1
fi
Fail early and require explicit confirmation for destructive actions:
set -euo pipefail
confirm() {
read -rp "$1 [y/N]: " ans
case "$ans" in [Yy]*) return 0;; *) return 1;; esac
}
confirm "Are you sure you want to delete these paths? THIS IS DESTRUCTIVE" || exit 1
Test in a VM or disposable environment with snapshots so you can rollback.
Have recovery options (bootable rescue media, recovery console, or remote KVM access) before making system-level changes.
Altering hardware identifiers, MAC addresses, or machine GUIDs may violate network policies, software terms of service, or local law in some jurisdictions (for example, if done to evade access controls or licensing). Use these scripts only on machines you own or have explicit permission to modify.
If you want macOS- or Windows-specific helper scripts added to this repo (non-destructive helpers that only read and backup values), open an issue or submit a pull request. I can create macos_helpers.sh and windows_helpers.ps1 that perform safe reads/backups and include clear warnings for destructive operations.
This project is licensed under the MIT License. See the LICENSE file for details.
wslutilities /
A collection of utilities for Windows Subsystem for Linux
37/100 healthxwmx /
A collection of Bash scripts for creating safe and useful command line programs.
87/100 healthjanosgyerik /
A collection of practical or just pure awesome bash one-liners or shell script tips and tricks for GNU Linux, UNIX or BSD systems. Open, collaborative system, user friendly, with functions to contribute one-liners, request one-liners, search, rss feed, commenting, Open ID login. Open-source project, using Django, Python, jQuery, HTML5, Bootstrap from Twitter.
59/100 healthfagiani /
ShellStack is a collection of bash scripts to install apps on ubuntu linux
15/100 health