Twig
Dual-pane file manager: archives, SFTP, SMB, WebDAV, S3, restic, Jellyfin
vale Cloud Storage & File Sync File Manager File Transfer System
Screenshots
Description
Twig is a dual-pane file manager for Android that puts every storage source in one tree, written in plain Kotlin and XML views, with no Material library and as few dependencies as possible. One tree, every source Local storage, archives, FTP, SFTP, SMB, WebDAV, S3, restic backup repositories and Jellyfin/Emby servers are all the same thing to the interface. Copying between any two of them is one code path: an SMB folder can be compressed straight into a local ZIP, and a file inside a remote archive can be streamed to an FTP server. Archives expand in place, like folders. It stays small A per-device download is around 6.7 MB — including an FFmpeg audio decoder, an SMB implementation and a video player. Dependencies are added only after their cost in APK size has been measured; WebDAV, S3 request signing, git and restic decryption are all written from scratch rather than pulled in as SDKs. Features
- Two panes with independent navigation, tree-style in-place expansion, grid view and thumbnails
- Copy, move, rename and delete across any pair of sources, with progress and cancellation
- Reading and writing ZIP and 7z, including encrypted archives
- Folder compare and sync between any two sources
- Disk usage treemap, pinch to zoom
- Built-in viewers: text with syntax highlighting and editing, hex, images, video and audio
- A git client written from scratch: status, history, side-by-side diff, worktrees and submodules, on local and remote repositories
- SSH terminal with multiple sessions, plus a local shell
- Wi-Fi sharing: Twig becomes an HTTP and WebDAV server, so a desktop can mount it
- Privileged access through root or Shizuku, as a fallback for the local filesystem rather than a separate tree
- Browse restic backup repositories read-only, decrypted on the device, with snapshots shown as dated folders.
- Thumbnails for video on network shares without downloading the file: Twig parses the container itself, locates a keyframe about a tenth of the way in, and fetches roughly 2 MB.
- Blu-ray M2TS playback, including BDAV 192-byte packets, DTS-HD Master Audio, TrueHD through its embedded AC-3 core, and PGS bitmap subtitles.
- Jellyfin and Emby libraries browse like any other source, with playback position synced back to the server, and posters, tags, lyrics and external subtitles taken from the API instead of by reading the media file.
What’s new (1.13.1)
Optional SMB1 compatibility per connection; local and SMB folder/file counts; expanded app component, shortcut and certificate details. Faster properties with an edge toggle and swipeable tabs; vertical swipes switch images. Favorites expand on startup when location memory is off. Fixed swipe mis-taps, directory refresh, selection feedback and action availability. Copy and compress favorite directories and storage roots; validate destinations on click with clearer prompts.
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- Read storageRead files on the device storage.
- Write storageCreate and change files on the device storage.
- Full file accessAccess all files on the device.
- Internet accessSend and receive data over the internet.
- Wi-Fi stateRead information about the Wi-Fi connection.
- CHANGE_WIFI_MULTICAST_STATE
- Prevent sleepingKeep the device from going to sleep.
- Install appsStart the installation of other apps.
Show 11 more permissions
- REQUEST_DELETE_PACKAGES
- Foreground serviceKeep running in the background, visible in the status bar.
- FOREGROUND_SERVICE_MEDIA_PLAYBACK
- FOREGROUND_SERVICE_DATA_SYNC
- FOREGROUND_SERVICE_SPECIAL_USE
- NotificationsShow notifications.
- BiometricsUnlock with fingerprint or face.
- Installed appsSee which apps are installed.
- permission.API_V23
- Network stateCheck whether and how the device is connected.
- app.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Comments