Ok, before I jump into the how-to I just need to say: please don’t use these powers for evil! Don’t use this to screw your local mom and pop coffee shop out of a scone purchase.
With that said, sometimes you’ll find yourself in a bind where you’re on a public wifi network, like at an airport, and you’re trying to finish your work, and suddenly you get a popup saying you’ve exceeded your limit.
If you must reset your limit so you can do work on the internet that helps other people and is generally positive, here’s what you can do:
Install node.js
2. Open Terminal
It should be in your Applications folder on Mac. Don’t be afraid, this will be easy.
3. Install a package called spoof
To install spoof, simply type the following command and hit enter:
npm install spoof
4. Reset your MAC address with one command
To appear to the public wifi network as a new computer, you need to change your MAC address. Don’t worry, if you’re on an Apple device, this will reset when you restart your computer. The change is temporary.
Simply type this command and press enter. Then type the password for your computer and press enter again. You won’t see your password on screen (for security), so just type it and press enter.
sudo spoof randomize en0
5. Your computer will rejoin the network as a “new device”
If you look at your wifi icon in your menu, you should see it searching for the wifi network again. Then you should be asked by the public wifi network to rejoin using whatever signup method they require. If you need to force this window to appear, just visit captive.apple.com.
That’s it! Please be a good digital citizen with your new powers.
Update:
Reddit user Pezmc has pointed out that this can be done without npm. Instead, you can simply open Terminal and run the command:
sudo ifconfig en0 ether `openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'`
To explain:
openssl rand -hex 6
generates a random string
sed 's/\(..\)/\1:/g; s/.$//'
formats it at xx:xx:xx:xx:xx:xx
ifconfig en0 ether
updates your MAC address to the generated one (assuming you're using interface en0, runifconfig
to check!