This repository has been archived on 2023-01-29. You can view files and clone it, but cannot push or open issues or pull requests.
2018-03-10 15:57:09 +01:00
2018-03-09 14:21:54 +01:00
2018-03-09 14:21:54 +01:00
2018-03-10 15:54:46 +01:00
2018-03-09 14:21:54 +01:00
2018-03-10 15:54:46 +01:00
2018-03-09 14:21:54 +01:00
2018-03-09 14:21:54 +01:00
2018-03-09 14:24:41 +01:00
2018-03-09 14:21:54 +01:00
2018-03-10 15:57:09 +01:00

ESPerPass

A 3DS HomePass implementation for the ESP8266 programmable WiFi chip. Inspired by this reddit post and largely based on the great work done by Martin Ger and his ESP WiFi Repeater.

What is this?

EsperPass creates a relay between your home WiFi Internet connection and your Streetpass capable device (e.g. Nintendo 3DS). It does this by setting up an insecure, open WiFi network with the name "attwifi". Anyone who connects to this network can access the Internet through your home WiFi connection. This is very insecure but it is however what a Streetpass enabled device expects. In addition it expects the MAC address of the "attwifi" network to rotate periodically through a list of known Streetpass addresses. This software does that. So basically ESPerPass is a cheap way to have your own Streetpass relay at home. A similar project using a Raspberry Pi 3 is RaspiPass.

Security considerations

Martin Ger's original ESP WiFi Repeater software has been heavily modified to strip it of any unnecessary functionality for the purpose of this project. Convenience has given way to security by removing the web configuration interface. This makes it slightly more cumbersome to configure ESPerPass for your WiFi network, but at the same time prevents your home WiFi network configuration from potentially leaking through a web configuration page. Currently there are no firewall rules in place yet because I don't know if there is a list of official Streetpass IP addresses. A soon as this is resolved, the software should be locked down to only allow connections to those addresses, making the usage of the open network otherwise useless. Firewall rules are now in place to only allow clients connected to the "attwifi" network to access the IP addresses for the Streetpass servers. This should make the implementation more secure.

Instructions (needs improvement)

  1. Get an ESP8266 based WiFi module. I use a Wemos D1 mini.
  2. Get the firmware. You need this bin file and this one.
  3. Flash the binary firmware files to the ESP8266 module with the esptool.py software. I use the following parameters: esptool.py --port /dev/tty.wchusbserial1420 write_flash -fs 32m -ff 80m -fm dio 0x00000 0x00000.bin 0x10000 0x10000.bin. Replace /dev/tty.wchusbserial1420 with your ESP usb to serial.
  4. Connect ESP8266 to USB and connect with a terminal program at 115200 baud.
  5. Power cycle ESP8266.
  6. Follow instructions in the terminal program to configure your WiFi Internet connection.

TODO

  • Implement firewall rules to restrict connections to official servers.
  • Implement mac address list management through console.
Description
No description provided
Readme 575 KiB
Languages
C 98.2%
Makefile 1.8%