Skip to content

AaronC-585/rmFakeClient

Repository files navigation

rM Fake Client

Android companion app for rmfakecloud. It uses the same web UI API as the browser (/ui/api): sign in with your rmfakecloud user, browse folders and documents in a grid, upload files, and export documents as PDF.

Requirements

  • An instance of rmfakecloud reachable from your phone or tablet (often http://<host>:3000 on your LAN).
  • The same email and password you use for the rmfakecloud web UI.
  • Android 8.0+ (API 26).

Features

  • Settings — Server URL, email, password; Save server & sign-in stores them on the device; Sign in obtains a session. Settings opens automatically when nothing is saved yet (once per signed-out session).
  • Document grid — Thumbnails (first page / EPUB cover), configurable column count (1–3 on phones, 1–6 on large layouts with smallest width ≥ 600 dp). Folders appear as compact full-width rows.
  • Menu (⋮) — Refresh, upload, Settings (while signed in: current server + grid columns), sign out.
  • Export — Tap a document to save a PDF export (same idea as the web UI, not raw reMarkable blobs).

Cleartext HTTP is allowed for typical self-hosted setups. For HTTPS with a private CA you must trust that certificate on the device.

Build and install

Prerequisites: Android SDK, local.properties with sdk.dir=… (Android Studio creates this).

./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk

Release builds: configure signing in app/build.gradle.kts, then ./gradlew assembleRelease.

Continuous integration

On every push and pull request, .github/workflows/ci.yml runs:

Job Runner What it does
Android (Linux x64) ubuntu-latest JDK 17, Android SDK (API 35), ./gradlew assembleDebug; uploads the debug APK as an artifact.
iOS (macOS / Xcode) macos-14 If no .xcodeproj / .xcworkspace is found, the job succeeds with a notice (this repo is Android-only today). If you add an iOS tree, it runs xcodebuild -alltargets for the iOS Simulator SDK with CODE_SIGNING_ALLOWED=NO.

Gradle wrapper integrity is checked with gradle/actions/wrapper-validation.

Project layout

Path Role
app/src/main/java/dev/rmfake/client/ UI (MainActivity), app entry
app/src/main/java/dev/rmfake/client/data/ API client, DataStore session and preferences
app/src/main/java/dev/rmfake/client/ui/ ViewModel, document grid, layout helpers

Application id: dev.rmfakeclient
Namespace (Kotlin packages): dev.rmfake.client

Changelog

See CHANGELOG.md for version history and how to maintain it.

License

This project is licensed under the GNU General Public License v3.0 — see LICENSE.

About

mobile app for rmFakeCloud

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors