An open API service indexing awesome lists of open source software.

https://github.com/devilapi/xiaomirouter-englishexploit

Tutorials and Tools to get your Xiaomi Router in English. All of this is tested on an Xiaomi 4A non Gigabit (but it should work on other too)
https://github.com/devilapi/xiaomirouter-englishexploit

Last synced: 11 months ago
JSON representation

Tutorials and Tools to get your Xiaomi Router in English. All of this is tested on an Xiaomi 4A non Gigabit (but it should work on other too)

Awesome Lists containing this project

README

          

# Xiaomi Dashboard Translation Tutorial

**Warning:** I'm not responsible for bricked devices! When you brick your Device, its your fault!

## Get Stok ID
### Compatibility
#### ShouldWork:
- All routers
#### Tested:
- 4A
- R3P
1. Login in your Router Dashboard
2. After logging in, the Link in your Browser should look something like this: ```http://192.168.31.1/cgi-bin/luci/;stok=6654a713c043c6be1e4364a7291b1eba/web/```
3. The characters after ```;stok=``` is your stok id, so mine would be ```6654a713c043c6be1e4364a7291b1eba```.

## Changing installed Languages
### Compatibility
#### ShouldWork:
- All routers
#### Tested:
- 4A
- R3P
### How does it work?
We're using Server Requests to access Features not built-in to the Dashboard.
### Credits:
Found on reddit, Post by micky0867 [in this thread](https://www.reddit.com/r/Xiaomi/comments/dk7ycy/xiaomi_router_4a_gigabit_edition_global_firwmware/)
### How to do it:
#### List installed Languages
1. Get your [Stok-ID](#get-stok-id)
2. Get your Router's IP (standard is 192.168.31.1)
3. Replace `````` and `````` in ```http:///cgi-bin/luci/;stok=/api/xqsystem/get_languages``` and open it in your webbrowser
4. You should get a JSON response listing the installed languages in the system.
#### Change language to an installed Language
1. Get your [Stok-ID](#get-stok-id)
2. Get your Router's IP (standard is 192.168.31.1)
3. Get installed Languages
4. Replace ``````, `````` and ``````in ```http:///cgi-bin/luci/;stok=/api/xqsystem/set_language?language=``` and open it in your webbrowser
5. You should get a JSON that looks exactly like this: ```{"code":0}```

## Changing Regions
### Compatibility
#### ShouldWork:
- All routers
#### Tested:
- 4A
- R3P
### How does it work?
We're using Server Requests to access Features not built-in to the Dashboard.
### Credits:
Found on reddit, Post by micky0867 [in this thread](https://www.reddit.com/r/Xiaomi/comments/dk7ycy/xiaomi_router_4a_gigabit_edition_global_firwmware/)
### How to do it:
#### List Regions
1. Get your [Stok-ID](#get-stok-id)
2. Get your Router's IP (standard is 192.168.31.1)
3. Replace `````` and `````` in ```http:///cgi-bin/luci/;stok=/api/xqsystem/country_code``` and open it in your webbrowser
4. You should get a JSON response listing the installed languages in the system.
#### Change Region
1. Get your [Stok-ID](#get-stok-id)
2. Get your Router's IP (standard is 192.168.31.1)
3. Get installed Languages
4. Replace ``````, `````` and ``````in ```http:///cgi-bin/luci/;stok=/api/xqsystem/set_country_code?country=``` and open it in your webbrowser
5. You should get a JSON that looks exactly like this: ```{"code":0}```

## Installing Languages
### Compatibility
Info: Firmware version stable 2.28.23 or lower is needed to make this work cause this Remote-Execution-Exploit is fixed in higher Versions.
## How does it work?
We are using an Remote-Code-Execution Exploit made by acecilia , also known as the acecilia FlashExploit, but were not flashing anything, theres no need for hours of hours of searching translated Firmware, dont worry!
#### ShouldWork:
- 4A Gigabit Edition
- 4C
- 3Gv2
- 4Q
- R3P
#### Tested:
- 4A
- R3P
### How to do it (english only):
You need python 3.9 with the ``requests`` module for this!
1. Get your stok id
2. Run the payload using RunPayLoad.cmd, enter your stok id when asked (for linux and mac users, just run /InstallLanguages/remote_command_execution_vulnerability.py with python)
3. Connect to the Payload's FTP. (User: root, Password: root)
4. When connected, open the tmp directory and upload all files in UploadLanguages.
5. You should now see 2 files, one called english.sh and one called base.en.lmo in the Routers tmp storage
6. Open a Command Prompt and open a telnet connection using ```telnet ```
7. After the Connection was established, run ```ash /tmp/english.sh```
8. Nothing should show up
9. Wait 3 Minutes
10. Go to your router and unplug the Power Cable, wait 5 to ten Seconds and plug it back in.
11. Wait until the router booted up (blue lights)
12. Go to your Router's Webinterface
13. When you did everything right, the interface should now be in English.