Using the web-service#
While LetterBomb does not require a network connection, you can run your own local version of please.hackmii.com.
The web-service is written in Flask, but it is not included in the normal
letterbomb
module.
To install and run it:
python -m pip install letterbomb_web
python -m letterbomb_web
Note
To bind to a port below 1000, run with superuser privileges.
Warning
Don’t use the above method for deployment servers, see Flask docs.
Once bound, there are two ways of contacting the service:
POST#
Go to http://localhost:<port> (http://localhost:5000 by default).
Here is an image of it in action:
Select a region, and enter in your MAC address letter by letter.
If you would like to include HackMii in the LetterBomb, check the option. You should probably do this.
If you configured a Captcha, complete it.
Cut any wire.
This POSTs the form to / using Fetch. The webserver will return a response, either JSON data or the ZIP payload.
The URL’s parameters will be changed to the choices made. This does not add an entry to the history; it replaces the current one. This can be used with GET.
For technical use, this is a summary of the POST request fields:
Field |
Description |
Expected Type |
Example |
---|---|---|---|
mac |
MAC address |
str |
|
region |
Character of region |
str (char) |
|
hackmii |
Bundle HackMii in archive? |
any boolean |
|
Response#
If the request was successful, a payload will be sent. This is the LetterBomb ZIP file, compressed with Bzip2:9.
If the request failed, JSON will be sent. It will have the format of:
{
"success": false,
"message": "Error message."
}
GET#
You can pass in URL parameters to pre-fill fields.
The parameter names are equal to the POST fields (mac, region, hackmii
).
For example:
?mac=000000000000®ion=U&hackmii=1
?mac=000000000000®ion=e&hackmii=no
?mac=000000000000®ion=K&hackmii=yes
?mac=000000000000®ion=j&hackmii=unchecked
The mac param will always be truncated to 12 characters. If region is not a valid region constant, none of the region boxes will be checked.
The form still must be submitted manually.