Skip to content

pavelc4/Rin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

112 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rin Terminal


About

Rin Terminal is a modern Android terminal emulator built with Kotlin and Jetpack Compose, integrated with a native pacman-style package manager written in Rust.

It provides seamless terminal access and robust package management on Android 10+ devices, utilizing innovative execution bypasses to resolve modern Android restrictions, while prioritizing clarity, performance, and minimal system overhead.


Features

  • Built-in Package Manager (rpkg)
    A lightweight, pacman-style (-S, -R, etc.) package manager written in Rust, utilizing the vast Termux repository ecosystem directly within the app.

  • Multicall Binary & Library Support
    Intelligent proxy injection supports complex multicall binaries (like coreutils, busybox, toybox) and dynamic .so libraries right out of the box, seamlessly bypassing Android's W^X execution restrictions.

  • Material 3 UI
    Clean, modern, and highly responsive interface built natively with Jetpack Compose.

  • Fast & Minimal
    Lightweight architecture natively binding Rust binaries via JNI.


Development Setup

Prerequisites

  • Android Studio (latest version)
  • Android SDK (API 31+)
  • Rust toolchain (with aarch64-linux-android target)
  • NDK 26.1.10909125

Local Development

  1. Clone the repository:

    git clone https://github.com/YourName/Rin.git
    cd Rin
  2. Setup configuration files:

    cp local.properties.template local.properties
    cp gradle.properties.template gradle.properties
  3. Edit local.properties with your Android SDK and NDK paths:

    sdk.dir=/path/to/your/android/sdk
    ndk.dir=/path/to/your/android/ndk/26.1.10909125
  4. Build the Rust JNI binary via cargo and compile the APK:

    ./build_android.sh
    cd android
    ./gradlew assembleDebug

Security Notice

  • local.properties and gradle.properties are gitignored for security
  • Keystore files are never committed to the repository
  • All builds are reproducible and verifiable

Requirements

  • Android Version – Android 10 (API 29) or above
  • Architecture – ARM64 (aarch64)

Credits

  • Termux - The premier Android terminal emulator and Linux environment app that pioneered modern terminal capabilities on Android. rpkg leverages their incredible package repository ecosystem.

License

Rin is open-sourced software licensed under the MIT License.
See the LICENSE file for more information.

About

fast lightweight Android terminal emulator

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors