whatisgithub

What is xposer_mibackup?

zgcwkjopenproject/xposer_mibackup — explained in plain English

Analysis updated 2026-05-18

63JavaAudience · ops devopsComplexity · 4/5Setup · hard

In one sentence

An Android tool that changes the Xiaomi backup app to save files to your own server instead of Xiaomi's cloud. It supports network drives, web links, and custom scripts for uploads.

Mindmap

mindmap
  root((repo))
    What it does
      Redirects Xiaomi backups
      Hooks into backup app
      Self-hosted storage
    Storage options
      SMB network shares
      WebDAV web links
      Custom JavaScript HTTP
    Tech stack
      Java for Android
      Xposed framework
      OkHttp and smbj
      Rhino JS engine
    Setup
      Android 9 or higher
      LSPosed required
      JDK 17 to build
    Use cases
      Private cloud backups
      Auto cleanup old backups
      Chunked large file uploads

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Redirect Xiaomi phone backups to your own home server or NAS instead of Xiaomi's cloud.

USE CASE 2

Use WebDAV or SMB to send backups to a self-hosted storage server you control.

USE CASE 3

Write a custom JavaScript script to define exactly how backups upload and download.

USE CASE 4

Automatically delete old backups on your server once a set limit is reached.

What is it built with?

JavaAndroid SDKXposedsmbjOkHttpRhino

How does it compare?

zgcwkjopenproject/xposer_mibackupshivambansal96/vce_hydstriga-ai/cve-2026-34486
Stars636361
LanguageJavaJavaJava
Setup difficultyhardeasymoderate
Complexity4/52/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires an Xposed framework like LSPosed installed on a rooted Android 9+ device, plus a self-hosted server or NAS ready to receive backups.

So what is it?

This is an Xposed module for Android devices, written in Java, that modifies the Xiaomi backup app to redirect backup data to a self-hosted cloud server instead of Xiaomi's official cloud storage. It works by tricking the phone's built-in backup tool into thinking it has connected to a genuine Xiaomi smart storage device, when in reality the data flows to a server the user controls. The module hooks into system settings and the backup app at specific communication boundaries. When the backup app tries to check for a storage device or upload files, the module intercepts those requests and answers them itself. It reports that a virtual device is online and connected, then handles the file transfers by sending data to the user's chosen server. The backup and restore process looks normal to the user, but the destination changes behind the scenes. It supports three storage protocols: SMB, which is a common network file sharing standard, WebDAV, which works over HTTP, and a custom HTTP option where the user provides a JavaScript script to define the upload and download behavior. Large files are split into chunks for upload across all three protocols, and the module can automatically delete old backups beyond a set limit. Configuration lives in a text file on the device, and a settings page is injected into the system menu for managing options like server addresses, credentials, and backup retention. The project requires Android 9.0 or higher and an installed Xposed framework, such as LSPosed. Building it needs JDK 17 and the Android SDK. After installation, the user enables the module in their Xposed manager and restarts the relevant apps or the device. The codebase is organized into separate classes for each storage protocol, the hook logic, and the configuration interface, with dependencies including smbj for SMB, OkHttp for WebDAV, and Rhino for running the custom JavaScript scripts.

Copy-paste prompts

Prompt 1
I want to redirect my Xiaomi phone backups to my own SMB server using XPoser_MiBackup. Help me write the configuration text file with my server address, username, password, and backup retention limit.
Prompt 2
I'm using XPoser_MiBackup with the custom HTTP option. Write a JavaScript script for Rhino that uploads chunked backup files to my server at https://myserver.com/upload and returns a success response.
Prompt 3
Help me set up LSPosed and the XPoser_MiBackup module on my Android 12 Xiaomi device. Walk me through enabling the module, configuring my WebDAV server URL and credentials, and restarting the backup app.
Prompt 4
I have XPoser_MiBackup working with SMB but large file uploads are failing. Help me check if chunked upload settings and my SMB share permissions are configured correctly for smbj.

Frequently asked questions

What is xposer_mibackup?

An Android tool that changes the Xiaomi backup app to save files to your own server instead of Xiaomi's cloud. It supports network drives, web links, and custom scripts for uploads.

What language is xposer_mibackup written in?

Mainly Java. The stack also includes Java, Android SDK, Xposed.

How hard is xposer_mibackup to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is xposer_mibackup for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.