• Stars
    star
    1,929
  • Rank 23,167 (Top 0.5 %)
  • Language
    Java
  • Created almost 9 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Termux add-on app which exposes device functionality as API to command line programs.

Termux API

Build status Join the chat at https://gitter.im/termux/termux

This is an app exposing Android API to command line usage and scripts or programs.

When developing or packaging, note that this app needs to be signed with the same key as the main Termux app for permissions to work (only the main Termux app are allowed to call the API methods in this app).

Installation

Termux:API application can be obtained from F-Droid.

Additionally we provide per-commit debug builds for those who want to try out the latest features or test their pull request. This build can be obtained from one of the workflow runs listed on Github Actions page.

Signature keys of all offered builds are different. Before you switch the installation source, you will have to uninstall the Termux application and all currently installed plugins. Check https://github.com/termux/termux-app#Installation for more info.

License

Released under the GPLv3 license.

How API calls are made through the termux-api helper binary

The termux-api client binary in the termux-api package generates two linux anonymous namespace sockets, and passes their address to the TermuxApiReceiver broadcast receiver as in:

/system/bin/am broadcast ${BROADCAST_RECEIVER} --es socket_input ${INPUT_SOCKET} --es socket_output ${OUTPUT_SOCKET}

The two sockets are used to forward stdin from termux-api to the relevant API class and output from the API class to the stdout of termux-api.

Client scripts

Client scripts which processes command line arguments before calling the termux-api helper binary are available in the termux-api package.

Ideas

  • Wifi network search and connect.
  • Add extra permissions to the app to (un)install apps, stop processes etc.

More Repositories

1

termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.
Java
30,073
star
2

termux-packages

A package build system for Termux.
Shell
12,032
star
3

termux-x11

Termux X11 add-on application.
C
1,412
star
4

proot-distro

An utility for managing installations of the Linux distributions in Termux.
Shell
1,403
star
5

termux-styling

Termux add-on app for customizing the terminal font and color theme.
Kotlin
987
star
6

termux-root-packages

Termux packages that are only usable by root users.
Shell
976
star
7

termux-api-package

Termux package containing scripts to call functionality in Termux:API.
Shell
926
star
8

termux-tasker

Termux add-on app for integration with Tasker.
Java
850
star
9

termux-widget

Termux add-on app which adds shortcuts to commands on the home screen.
Java
828
star
10

termux-boot

Termux add-on app allowing programs to be run at boot.
Java
800
star
11

termux.github.io

The main termux site and help pages.
HTML
746
star
12

proot

An chroot-like implementation using ptrace.
C
696
star
13

termux-gui

A plugin for Termux to use native Android GUI components from CLI applications.
Kotlin
570
star
14

x11-packages

A set of packages using X11 Windows System.
Shell
535
star
15

termux-docker

Termux environment packaged as Docker image.
Dockerfile
435
star
16

termux-float

Termux add-on app to show the terminal in a floating terminal window.
Java
414
star
17

termux-create-package

Python script to create Termux packages easily.
Python
388
star
18

game-packages

Games for Termux
Shell
308
star
19

termux-apt-repo

Script to create Termux apt repositories.
Python
286
star
20

termux-services

Scripts to handle services in termux.
Shell
258
star
21

termux-tools

Scripts and small programs that are packaged into termux's termux-tools package
Shell
210
star
22

science-packages

Science packages for Termux
C
207
star
23

termux-elf-cleaner

Utility to remove unused ELF sections causing warnings.
C
200
star
24

termux-exec

A execve() wrapper to fix problem with shebangs.
C
161
star
25

command-not-found

Utility for suggesting packages in case typed command was not found.
C++
157
star
26

play-audio

Command-line tool to play audio using OpenSL ES.
C++
122
star
27

termux-auth

Password authentication utilities for Termux.
C
116
star
28

libandroid-shmem

System V shared memory emulation on Android using ashmem.
C
114
star
29

termux-packaging

Termux packaging tools.
Rust
90
star
30

TermuxAm

Android Oreo-compatible am command reimplementation.
Java
85
star
31

repology-metadata

Scripts and Github Actions workflow for generating Repology metadata.
Shell
77
star
32

termux-root-packages-21-bin

termux-root-packages debs for android 5 and 6. Archived from Bintray repository.
53
star
33

wcwidth

A Unicode 15-conformant implementation of wcwidth() in C.
C
40
star
34

termux-failsafe

An app providing a way to launch failsafe sessions.
Kotlin
40
star
35

termux.com

Sync for termux.github.io/termux.dev at termux.com
39
star
36

libandroid-support

C
32
star
37

termux-am-socket

Faster termux-am implementation that connects to a receiver in termux-app using a unix socket
Shell
32
star
38

termux-language-server

🛠️ A language server for some specific bash scripts
Python
31
star
39

science-packages-21-bin

science-package debs for android 5 and 6. Archived from Bintray repository.
25
star
40

getconf

A simple standalone getconf(1) implementation.
C
25
star
41

game-packages-21-bin

game-package debs for android 5 and 6. Archived from Bintray repository.
24
star
42

whatprovides

Utility to find out packages using specific files. Deprecated in favor of apt-file.
Shell
21
star
43

shared-library-testcase

Test case for shared library symbol visibility on dlopen().
C
14
star
44

termux-am-library

Java
14
star
45

distfiles

Moved from https://dl.bintray.com/termux/upstream
11
star
46

create-conventional-changelog

Shell
7
star
47

glibc-packages

Glibc packages for termux (repository mirror)
Shell
7
star
48

termux-community

5
star
49

libandroid-utimes

Library with futimes, futimesat, lutimes from bionic
C
2
star