{"id":13495687,"url":"https://github.com/termux/termux-api","last_synced_at":"2025-04-11T06:22:55.046Z","repository":{"id":34521969,"uuid":"38464245","full_name":"termux/termux-api","owner":"termux","description":"Termux add-on app which exposes device functionality as API to command line programs.","archived":false,"fork":false,"pushed_at":"2024-08-17T00:51:57.000Z","size":1261,"stargazers_count":2300,"open_issues_count":243,"forks_count":456,"subscribers_count":146,"default_branch":"master","last_synced_at":"2024-10-29T15:38:07.293Z","etag":null,"topics":["android","termux"],"latest_commit_sha":null,"homepage":"https://f-droid.org/en/packages/com.termux.api/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/termux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2015-07-03T00:57:59.000Z","updated_at":"2024-10-28T03:38:27.000Z","dependencies_parsed_at":"2023-11-09T11:25:38.019Z","dependency_job_id":"3e405bdd-19ce-471d-8063-7cce6f49cf3c","html_url":"https://github.com/termux/termux-api","commit_stats":{"total_commits":404,"total_committers":56,"mean_commits":7.214285714285714,"dds":0.599009900990099,"last_synced_commit":"c553bc2ba7de37ad5c42df23d71e699d2785d7c5"},"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/termux","download_url":"https://codeload.github.com/termux/termux-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217775,"owners_count":20903132,"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":["android","termux"],"created_at":"2024-07-31T19:01:37.175Z","updated_at":"2025-04-11T06:22:55.020Z","avatar_url":"https://github.com/termux.png","language":"Java","readme":"# Termux API\n\n[![Build status](https://github.com/termux/termux-api/workflows/Build/badge.svg)](https://github.com/termux/termux-api/actions)\n[![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux)\n\nThis is an app exposing Android API to command line usage and scripts or programs.\n\nWhen developing or packaging, note that this app needs to be signed with the same\nkey as the main Termux app for permissions to work (only the main Termux app are\nallowed to call the API methods in this app).\n\n## Installation\n\nLatest version is `v0.51.0`.\n\nTermux:API application can be obtained from [F-Droid](https://f-droid.org/en/packages/com.termux.api/).\n\nAdditionally we provide per-commit debug builds for those who want to try\nout the latest features or test their pull request. This build can be obtained\nfrom one of the workflow runs listed on [Github Actions](https://github.com/termux/termux-api/actions/workflows/github_action_build.yml?query=branch%3Amaster+event%3Apush)\npage.\n\nSignature keys of all offered builds are different. Before you switch the\ninstallation source, you will have to uninstall the Termux application and\nall currently installed plugins. Check https://github.com/termux/termux-app#Installation for more info.\n\n## License\n\nReleased under the [GPLv3 license](http://www.gnu.org/licenses/gpl-3.0.en.html).\n\n## How API calls are made through the termux-api helper binary\n\nThe [termux-api](https://github.com/termux/termux-api-package/blob/master/termux-api.c)\nclient binary in the `termux-api` package generates two linux anonymous namespace\nsockets, and passes their address to the [TermuxApiReceiver broadcast receiver](https://github.com/termux/termux-api/blob/master/app/src/main/java/com/termux/api/TermuxApiReceiver.java)\nas in:\n\n```\n/system/bin/am broadcast ${BROADCAST_RECEIVER} --es socket_input ${INPUT_SOCKET} --es socket_output ${OUTPUT_SOCKET}\n```\n\nThe two sockets are used to forward stdin from `termux-api` to the relevant API\nclass and output from the API class to the stdout of `termux-api`.\n\n## Client scripts\n\nClient scripts which processes command line arguments before calling the\n`termux-api` helper binary are available in the [termux-api package](https://github.com/termux/termux-api-package).\n\n## Ideas\n\n- Wifi network search and connect.\n- Add extra permissions to the app to (un)install apps, stop processes etc.\n","funding_links":[],"categories":["Java","HarmonyOS","💻 Terminal and Shell Tools"],"sub_categories":["Windows Manager","Termux"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftermux%2Ftermux-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftermux%2Ftermux-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftermux%2Ftermux-api/lists"}