diff --git a/README.md b/README.md index 5c6cb08..d268b48 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ relaymyhome =========== OSX Bash Script for automating the process of getting Nintendo 3DS StreetPass hits via Internet Connection Sharing. +What's New +========== +**v 0.2** +* New Mode - running the script with the command **./relaymyhome en1 full** will now cause the script to randomly select addresses from the "Extended Prime MAC's" list (currently 160 addresses). While this mode will likely get you more duplicate StreetPasses, it can be run multiple times within the 8-hour cooldown period. You should be able to run this mode, clear out your StreetPass hits, and run the script again roughly 10 times before you run out of potential StreetPass hits within the 8-hour cooldown window. + What It Does ============ By setting up your Mac computer to act like a StreetPass Relay, you can get StreetPass tags from all over the world. This script cycles through over 20 of the most popular streams in order to fill up your StreetPass queue in 20-30 minutes. Just set your 3DS down, configure your computer, and run the script. diff --git a/relaymyhome b/relaymyhome index cd10de8..ed9c6df 100755 --- a/relaymyhome +++ b/relaymyhome @@ -27,36 +27,78 @@ #! /bin/bash -addr[0]='00:0D:67:15:2D:82' -addr[1]='00:0D:67:15:D7:21' -addr[2]='00:0D:67:15:D5:44' -addr[3]='00:0D:67:15:D2:59' -addr[4]='00:0D:67:15:D6:FD' -addr[5]='4E:53:50:4F:4F:40' -addr[6]='4E:53:50:4F:4F:41' -addr[7]='4E:53:50:4F:4F:42' -addr[8]='4E:53:50:4F:4F:43' -addr[9]='4E:53:50:4F:4F:44' -addr[10]='4E:53:50:4F:4F:45' -addr[11]='4E:53:50:4F:4F:46' -addr[12]='4E:53:50:4F:4F:47' -addr[13]='4E:53:50:4F:4F:48' -addr[14]='4E:53:50:4F:4F:49' -addr[15]='4E:53:50:4F:4F:4A' -addr[16]='4E:53:50:4F:4F:4B' -addr[17]='4E:53:50:4F:4F:4C' -addr[18]='4E:53:50:4F:4F:4D' -addr[19]='4E:53:50:4F:4F:4E' -addr[20]='4E:53:50:4F:4F:4F' +if [ $2 == "full" ] +then + # Generate a full list of 160 MAC's when "full" mode is specified + # To use full mode: ./relaymyhome en1 full + # (Replacing en1 with your specific WiFi interface) + # Check the repo at github for more information. + echo "Full Mode enabled. Randomly seeding from full list of addresses." + + # Set the base MAC address + baseAddr="4E:53:50:4F:4F:" + + # Legal characters for MAC + Chars=("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "A" "B" "C" "D" "E" "F") + + # Create the addresses programatically + count=0 + for i in "${Chars[@]}" + do + for j in "${Chars[@]}" + do + mac=$baseAddr$i$j + Addr+=($mac) + done + done -for a in "${addr[@]}" -do - echo "Cycling WiFi..." - sudo ifconfig $1 lladdr $a - networksetup -setairportpower $1 off - networksetup -setairportpower $1 on - echo "Spoofing $1 to $a for 60 seconds" - sleep 60 -done + for a in {1..20} + do + selectedAddr=${Addr[$RANDOM % ${#Addr[@]} ]} + echo "Cycling WiFi..." + sudo ifconfig $1 lladdr $selectedAddr + networksetup -setairportpower $1 off + networksetup -setairportpower $1 on + echo "Spoofing $1 to $selectedAddr for 60 seconds" + sleep 60 + done + + +else + # This standard set of MAC's will be used in standard mode + # Usage: ./relaymyhome en1 + # (Replacing en1 with your specific WiFi interface) + addr[0]='00:0D:67:15:2D:82' + addr[1]='00:0D:67:15:D7:21' + addr[2]='00:0D:67:15:D5:44' + addr[3]='00:0D:67:15:D2:59' + addr[4]='00:0D:67:15:D6:FD' + addr[5]='4E:53:50:4F:4F:40' + addr[6]='4E:53:50:4F:4F:41' + addr[7]='4E:53:50:4F:4F:42' + addr[8]='4E:53:50:4F:4F:43' + addr[9]='4E:53:50:4F:4F:44' + addr[10]='4E:53:50:4F:4F:45' + addr[11]='4E:53:50:4F:4F:46' + addr[12]='4E:53:50:4F:4F:47' + addr[13]='4E:53:50:4F:4F:48' + addr[14]='4E:53:50:4F:4F:49' + addr[15]='4E:53:50:4F:4F:4A' + addr[16]='4E:53:50:4F:4F:4B' + addr[17]='4E:53:50:4F:4F:4C' + addr[18]='4E:53:50:4F:4F:4D' + addr[19]='4E:53:50:4F:4F:4E' + addr[20]='4E:53:50:4F:4F:4F' + + for a in "${addr[@]}" + do + echo "Cycling WiFi..." + sudo ifconfig $1 lladdr $a + networksetup -setairportpower $1 off + networksetup -setairportpower $1 on + echo "Spoofing $1 to $a for 60 seconds" + sleep 60 + done +fi echo "Cycling of Relays has completed. Time to check your StreetPasses!" \ No newline at end of file