📈 GH Trending Explorer 🎲 Surprise me

← all repos

dev2ex / twig

git clone https://github.com/dev2ex/twig.git v1.14.0 · 2d ago

Dual-pane Android file manager: local storage, archives, FTP, SFTP, SMB, WebDAV, S3, restic and Jellyfin/Emby in one tree. Plain Kotlin, compact APK.

+6
stars, 24h · #2,204
+~42
stars, 7 days · #2,784
+~180
stars, 30 days · #2,819
48
★ total · +42% this week
4
forks · 7 open issues

Star history (as recorded here)

2026-10-20 · 38 ★ 2026-10-22 · 48 ★
LanguageKotlin
LicenseGPL-3.0
Created2026-09-07 (1mo ago)
Last pushtoday
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
Twig 
 English · 中文 
A size-first, dual-pane file manager for Android: every storage source lives in
one tree and expands in place, instead of each being its own screen to enter.
Native Kotlin and XML views, no Material library, minimal dependencies. When
something can reasonably be written by hand, it is: WebDAV, S3 signing, git and
restic are all implemented from scratch.
**Version 1.14.0** (versionCode 305) · minSdk 24 / targetSdk 34 / compileSdk 36 ·
GPL-3.0
| One tree, every source | restic, decrypted on device | A Jellyfin library as a filesystem | Disk-usage treemap |
|---|---|---|---|
| | | | |
 More — directory compare, Wi-Fi sharing, terminal 
| Directory compare | Wi-Fi sharing | Built-in terminal |
|---|---|---|
| | | |
 The rest of the gallery — browsing, media servers, viewers, sharing, terminal 
**Browsing**
| Favourites across every source | Long-press menu on a folder | Copying between two sources | Packing into the other pane |
|---|---|---|---|
| | | | |
**Sources, appearance and shortcuts**
| A document tree named after the app that granted it | Elevated access: root or Shizuku | Light theme, landscape | Shortcuts on the home screen |
|---|---|---|---|
| | | | |
**Media servers and music**
| An Emby library's "Latest" | Music player with waveform | Playlist |
|---|---|---|
| | | |
**Viewers and compare**
| Text viewer, hand-written highlighting | Hex viewer | Text compare with merge arrows | A saved comparison, synced from its row |
|---|---|---|---|
| | | | |
**Sharing, terminal and git**
| Another Twig found over UDP | A share mounted back as WebDAV | Git status beside a terminal | A command pinned to the home screen |
|---|---|---|---|
| | | | |
---
## Download
The version above tracks the source tree; downloads follow the published releases.
Signed APKs are attached to every GitHub release:
| File | Take it if |
|---|---|
| `Twig- -full.apk` | **You are not sure.** arm64-v8a + x86_64, with read-only RAR |
| `Twig- -libre.apk` | You want free software throughout — no RAR, because `junrar` is not free software |
| `Twig- -full-arm64-v8a.apk` / `-x86_64.apk` | You want a smaller download for one architecture |
| `Twig- -full-armeabi-v7a.apk` | You have a 32-bit ARM device — experimental, untested on hardware |
All of them are signed with the same key, so any one installs over any other. The
certificate's SHA-256 is `196f633e942bf4f32f875b98c8ff181138256ba329a63364e3a39f154c1a5e62`.
**Automatic updates** without a store: add `https://github.com/dev2ex/twig` to
Obtainium. A release carries several APKs, so
set *Filter APKs by Regular Expression* to pick one, or Obtainium will ask every time and
cannot update in the background — `-full\.apk$` for the default build, `-libre\.apk$` for
the free one.
**Get Twig on F-Droid**: the `libre`
build includes all features except RAR and uses the same signing key as the GitHub
APKs, verified through reproducible builds. F-Droid automatically tracks stable
release tags; updates appear after