{"id":24871158,"url":"https://github.com/rohitkushvaha01/reterminal","last_synced_at":"2025-04-10T00:16:35.566Z","repository":{"id":268101124,"uuid":"903308548","full_name":"RohitKushvaha01/ReTerminal","owner":"RohitKushvaha01","description":"A Simple Android Terminal Emulator","archived":false,"fork":false,"pushed_at":"2025-03-08T05:06:48.000Z","size":8206,"stargazers_count":148,"open_issues_count":1,"forks_count":11,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-02T23:11:24.321Z","etag":null,"topics":["adb","adb-shell","bash","shell","terminal","terminal-app","terminal-emulator","terminal-emulators","termux"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RohitKushvaha01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"RohitKushvaha01","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"polar":null,"buy_me_a_coffee":"rohitkushvaha01","thanks_dev":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2024-12-14T09:10:50.000Z","updated_at":"2025-04-01T08:07:36.000Z","dependencies_parsed_at":"2025-04-02T23:11:30.790Z","dependency_job_id":"5cfe34e8-d571-4fdc-8ad0-7833ec4dd3b3","html_url":"https://github.com/RohitKushvaha01/ReTerminal","commit_stats":null,"previous_names":["rohitkushvaha01/reterminal"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohitKushvaha01%2FReTerminal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohitKushvaha01%2FReTerminal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohitKushvaha01%2FReTerminal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohitKushvaha01%2FReTerminal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RohitKushvaha01","download_url":"https://codeload.github.com/RohitKushvaha01/ReTerminal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131315,"owners_count":21052819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adb","adb-shell","bash","shell","terminal","terminal-app","terminal-emulator","terminal-emulators","termux"],"created_at":"2025-02-01T04:31:04.429Z","updated_at":"2025-04-10T00:16:35.544Z","avatar_url":"https://github.com/RohitKushvaha01.png","language":"Kotlin","funding_links":["https://github.com/sponsors/RohitKushvaha01","https://buymeacoffee.com/rohitkushvaha01"],"categories":[],"sub_categories":[],"readme":"# ReTerminal\n**ReTerminal** is a sleek, Material 3-inspired terminal emulator designed as a modern alternative to the legacy [Jackpal Terminal](https://github.com/jackpal/Android-Terminal-Emulator). Built on [Termux's](https://github.com/termux/termux-app) robust TerminalView\n\n\u003e [!IMPORTANT]\nReTerminal is neither a fork nor a replacement for Termux.\n\n[\u003cimg src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\"\n     alt=\"Get it on F-Droid\"\n     height=\"80\"\u003e](https://f-droid.org/packages/com.rk.terminal/)\n\nOr download the latest APK from the [Releases Section](https://github.com/RohitKushvaha01/ReTerminal/releases/latest).\n\n# Features\n- [x] Basic Terminal\n- [x] Virtual Keys\n- [x] Multiple Sessions\n\n# Screenshots\n\u003cdiv\u003e\n  \u003cimg src=\"/fastlane/metadata/android/en-US/images/phoneScreenshots/01.png\" width=\"32%\" /\u003e\n  \u003cimg src=\"/fastlane/metadata/android/en-US/images/phoneScreenshots/02.jpg\" width=\"32%\" /\u003e\n  \u003cimg src=\"/fastlane/metadata/android/en-US/images/phoneScreenshots/03.jpg\" width=\"32%\" /\u003e\n\u003c/div\u003e\n\n## Community\n\u003e [!TIP]\nJoin the reTerminal community to stay updated and engage with other users:\n- [Telegram](https://t.me/reTerminal)\n\n\n# FAQ\n\n### **Q: Why do I need Shizuku to run Alpine?**\n**A:** ReTerminal targets the latest Android API, which enforces **W^X (Write XOR Execute)** restrictions. This means files downloaded or created in regular app directories can't be executed directly. However, **Shizuku** provides access to `/data/local/tmp`, which has executable permissions. ReTerminal uses this to bypass the restriction and allow running binaries.\n\n---\n\n### **Q: Why do I get a \"Permission Denied\" error when trying to execute a binary or script?**\n**A:** This happens because ReTerminal runs on the latest Android API, which enforces **W^X restrictions** — meaning files can either be writable or executable, but not both. Since files in `$PREFIX` or regular storage directories can't be executed directly, you need to use one of the following workarounds:\n\n---\n\n### **Option 1: Use the Dynamic Linker (for Binaries)**\nIf you're trying to run a binary (not a script), you can use the dynamic linker to execute it:\n\n```bash\n$LINKER /absolute/path/to/binary\n```\n\n- **32-bit**: `LINKER=/system/bin/linker`\n- **64-bit**: `LINKER=/system/bin/linker64`\n\n✅ **Note:** This method won't work for **statically linked binaries** (binaries without external dependencies).\n\n---\n\n### **Option 2: Use `sh` for Scripts**\nIf you're trying to execute a shell script, simply use `sh` to run it:\n\n```bash\nsh /path/to/script\n```\n\nThis bypasses the need for execute permissions since the script is interpreted by the shell.\n\n---\n\n### **Option 3: Use Shizuku for Full Shell Access (Recommended)**\nIf you have **Shizuku** installed, you can gain shell access to `/data/local/tmp`, which has executable permissions. This is the easiest way to run binaries without restrictions.\n\n1. **Login as the shell user:**\n```bash\nsh $PREFIX/bin/rish\n```\n\n2. **Move your binary to `/data/local/tmp` (which has execute permissions):**\n```bash\nmv /path/to/binary /data/local/tmp\n```\n\n3. **Grant execute permissions:**\n```bash\nchmod +x /data/local/tmp/binary\n```\n\n4. **Execute your binary:**\n```bash\ncd /data/local/tmp\n./binary\n```\n\n\n## Find this app useful? :heart:\nSupport it by giving a star :star: \u003cbr\u003e\nAlso, **__[follow](https://github.com/Rohitkushvaha01)__** me for my next creations!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohitkushvaha01%2Freterminal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frohitkushvaha01%2Freterminal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohitkushvaha01%2Freterminal/lists"}