Transform your Roborock vacuum into an offline device.
Recent Roborock robots need a constant internet connection. Without it, they refuse to work, lose features, or disconnect from Wi-Fi. Third-party firmwares are not supported on recent models.
We run a fake Roborock server on a small mini-router. The robot believes it's talking to the cloud, but everything stays local. You keep full control through the official Roborock app — no modified firmware needed. Commands go directly from the phone to the robot without intermediary.
You need three things: a mini-router (like a GL.iNet), an old phone, and your robot.
- We create a Wi-Fi network with no internet on the mini-router.
- We run scripts on it that pretend to be the Roborock cloud.
- The phone connects to this network and controls the robot through the official app.
- The robot connects to this network and works normally — map, camera, remote control.
No data ever leaves this network. Video, audio, and maps stay between the phone and the robot.
Advanced users can achieve the same setup using a VLAN instead of a dedicated mini-router.
- Isolated router: A GL.iNet router or any OpenWRT device.
- Tested on: GL.iNet GL-MT3000 (Beryl AX) (Recommended for better range/CPU).
- Works with: Cheaper models like GL-MT300N-V2 (Mango) should also work, but with shorter Wi-Fi range.
- SSH client: Basic terminal access.
Your router needs internet access JUST for the installation.
- Connect your PC to the GL.iNet router using the Wi-Fi password printed on the bottom of the router, then go to http://192.168.8.1.
- Choose an admin password.
- Go to Admin Panel -> Internet -> Repeater. Select your home Wi-Fi and enter its password. This gives the router temporary internet access needed for installation.
- Connect the phone you plan to dedicate to use the robot to the router's Wi-Fi.
- Install the official Roborock app.
- Create an account and sign in.
-
SSH into the router (
ssh root@192.168.8.1). When prompted, enter the admin password you chose earlier. Then run the installer:wget -O install.sh https://raw.githubusercontent.com/serphen/roborock-offline/main/install.sh && sh install.sh(The script will ask for your Roborock email & password to fetch the robot key. The request is sent directly to Roborock servers).
- Disconnect the new router from internet: Go to Admin Panel -> Internet -> Disconnect Repeater. Unplug any WAN cable.
- Verify: Your new router should have NO internet access.
Only NOW you connect the robot.
- Reset robot Wi-Fi: Hold specific buttons (usually Home + Spot) until "Resetting Wi-Fi".
- Pair: Open the Roborock app on the phone, add the robot, and connect it to the isolated router's Wi-Fi.
- Note: The app might complain about no internet. Ignore it. The proxy will handle it.
Your dedicated phone can now control the robot, view the map, and see the camera stream. Since the isolated router has no internet connection, no video, audio, or map data can ever be sent to the cloud.
Two scripts run on your isolated router to emulate cloud connectivity:
-
Fake cloud (KeepAlive server - port 8053):
- The robot pings the cloud to check connectivity.
- Our script answers "Pong!". The robot stays connected to Wi-Fi.
-
Fake app proxy (MitM - port 58867):
- The app asks for a "turn server" to start video.
- Our proxy intercepts this request and forces a local P2P connection.
- Video works locally without ever needing a cloud server.
To remove everything:
/etc/init.d/roborock-proxy disable
/etc/init.d/roborock-keepalive disable
# Manually remove rules from /etc/firewall.user
reboot