omni-TAK

(★ 41)

A TAK client replica that allows users to connect any TAK server to any number of other TAK servers to federate data at will

File Explorer

  • .dockerignore
  • .gitignore
  • ADB_INTEGRATION.md
  • Cargo.lock
  • Cargo.toml
  • Cargo.toml.bak
  • CHANGELOG.md
  • CHANGELOG_GUI.md
  • config.example.listeners.yaml
  • config.example.yaml
  • docker-compose.yml
  • Dockerfile
  • INTEGRATION_TESTS_SUMMARY.md
  • launch-gui.sh
  • LICENSE
  • omnitak-gui-screenshot-20251113-210419.png
  • PLUGIN_GUI_API_SUMMARY.md
  • PLUGIN_SYSTEM_FINAL_REPORT.md
  • PLUGIN_SYSTEM_INVESTIGATION.md
  • PLUGIN_SYSTEM_SUMMARY.md
  • QUICKSTART_TESTING.md
  • README.md
  • Screenshot 2025-11-01 105123.png
  • SETUP_MACOS.md
  • SETUP_UBUNTU.md
  • SETUP_WINDOWS.md
  • TEST_SUMMARY.md
  • TESTING.md

# Use via CDN

jsDelivr

jsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.

Command Glossary

Commands referenced in this DOCs, explained below.

🔍

brew install

View Details ▼

Install a Homebrew formula or cask.

brew install {{formula|cask}}

Install a formula/cask:

brew install {{[-s|--build-from-source]}} {{formula}}

Build and install a formula from source (dependencies will still be installed from bottles):

brew install {{[-n|--dry-run]}} {{formula|cask}}

Download the manifest, print what would be installed but don't actually install anything:

🔍

cargo build

View Details ▼

Compile a local package and all of its dependencies.

cargo {{[b|build]}}

Build the package or packages defined by the `Cargo.toml` manifest file in the local path:

cargo {{[b|build]}} {{[-r|--release]}}

Build artifacts in release mode, with optimizations:

cargo {{[b|build]}} --locked

Require that `Cargo.lock` is up to date:

🔍

cargo clippy

View Details ▼

A collection of lints to catch common mistakes and improve your Rust code.

cargo clippy

Run checks over the code in the current directory:

cargo clippy --locked

Require that `Cargo.lock` is up to date:

cargo clippy --workspace

Run checks on all packages in the workspace:

🔍

cargo fmt

View Details ▼

Run `rustfmt` on all source files in a Rust project.
See also: `rustfmt`.

cargo fmt

Format all source files:

cargo fmt --check

Check for formatting errors without writing to the files:

cargo fmt -- {{rustfmt_args}}

Pass arguments to each `rustfmt` call:

🔍

cargo new

View Details ▼

Create a new Cargo package.
Equivalent of `cargo init`, but specifying a directory is required.

cargo new {{path/to/directory}}

Create a new Rust project with a binary target:

🔍

cargo run

View Details ▼

Run the current Cargo package.
Note: The working directory of the executed binary will be set to the current working directory.

cargo {{[r|run]}}

Run the default binary target:

cargo {{[r|run]}} --bin {{name}}

Run the specified binary:

cargo {{[r|run]}} --example {{name}}

Run the specified example:

🔍

cargo test

View Details ▼

Execute the unit and integration tests of a Rust package.

cargo {{[t|test]}} {{test_name}}

Only run tests containing a specific string in their names:

cargo {{[t|test]}} -- --test-threads {{count}}

Set the number of simultaneous running test cases:

cargo {{[t|test]}} {{[-r|--release]}}

Test artifacts in release mode, with optimizations:

🔍

docker compose up

View Details ▼

Start and run Docker services defined in a Compose file.

docker compose up

Start all services defined in the docker-compose file:

docker compose up {{[-d|--detach]}}

Start services in the background (detached mode):

docker compose up --build

Start services and rebuild images before starting:

🔍

git clone

View Details ▼

Clone an existing repository.

git clone {{remote_repository_location}} {{path/to/directory}}

Clone an existing repository into a new directory (the default directory is the repository name):

git clone --recursive {{remote_repository_location}}

Clone an existing repository and its submodules:

git clone {{[-n|--no-checkout]}} {{remote_repository_location}}

Clone only the `.git` directory of an existing repository:

🔍

git config

View Details ▼

Manage custom configuration options for Git repositories.
These configurations can be local (for the current repository) or global (for the current user).

git config --global {{user.name|user.email}} "{{Your Name|[email protected]}}"

Globally set your name or email (this information is required to commit to a repository and will be included in all commits):

git config --{{local|global|system}} {{[-l|--list]}} --show-origin

List local, global, or system configuration entries and show their file location:

git config --global {{alias.unstage}} "reset HEAD --"

Set the global value of a given configuration entry (in this case an alias):

🔍

lsof

View Details ▼

List open files and the corresponding processes.
Note: Root privileges are required to list files opened by others.

lsof {{path/to/file}}

Find the processes that have a given file open:

lsof -i :{{port}}

Find the process that opened a local internet port:

lsof -t {{path/to/file}}

Only output the process ID (PID):

🔍

openssl rand

View Details ▼

Generate random bytes using a cryptographically secure PRNG.

openssl rand -hex 8

Generate an 8-byte (16 characters) hex string and write it to `stdout`:

openssl rand -base64 20

Generate 20 random bytes encoded in base64:

openssl rand -out {{path/to/file}} {{length}}

Generate random bytes and write them to a file (without encoding):

🔍

openssl

View Details ▼

OpenSSL cryptographic toolkit.
Some subcommands such as `req` have their own usage documentation.

openssl genpkey -algorithm {{rsa|ec}} -out {{path/to/private.key}} -aes256

Generate a private key and encrypt the output file using AES-256:

openssl rsa -in {{path/to/private.key}} -pubout -out {{path/to/public.key}}

Generate the corresponding public key from the private key `private.key` using `rsa`:

openssl req -new -x509 -key {{path/to/private.key}} -out {{path/to/certificate.crt}} -days 365

Generate a self-signed certificate valid for a specified number of days (365):

🔍

pip3

View Details ▼

This command is an alias of `pip`.

tldr pip

View documentation for the original command:

🔍

python3

View Details ▼

This command is an alias of `python`.

tldr python

View documentation for the original command:

🔍

route

View Details ▼

Show and manipulate the route table.

route -n

Display the information of route table:

sudo route add "{{destination_ip_address}}" "{{gateway_address}}"

Add a route to a destination through a gateway:

sudo route add -net {{ip_address}} netmask {{netmask_address}} gw {{gw_address}}

Add route rule:

🔍

rustup target

View Details ▼

Modify a toolchain's supported targets.
Without the `--toolchain` option `rustup` will use the default toolchain. See `rustup help toolchain` for more information about toolchains.

rustup target add --toolchain {{toolchain}} {{target}}

Add a target to a toolchain:

rustup target remove --toolchain {{toolchain}} {{target}}

Remove a target from a toolchain:

rustup target list --toolchain {{toolchain}}

List available and installed targets for a toolchain:

🔍

telnet

View Details ▼

Connect to a specified port of a host using the telnet protocol.

telnet {{host}}

Telnet to the default port of a host:

telnet {{ip_address}} {{port}}

Telnet to a specific port of a host:

quit

[Interactive] Exit a telnet session:

🔍

apt-get

View Details ▼

Debian and Ubuntu package management utility.
Search for packages using `apt-cache`.
It is recommended to use `apt` when used interactively in Ubuntu versions 16.04 and later.

sudo apt-get update

Update the list of available packages and versions (it's recommended to run this before other `apt-get` commands):

sudo apt-get install {{package}}

Install a package, or update it to the latest available version:

sudo apt-get remove {{package}}

Remove a package:

🔍

apt install

View Details ▼

Install packages for Debian-based distributions.

sudo apt install {{package}}

Install a package, or update it to the latest version:

sudo apt install {{[-V|--verbose-versions]}} {{package}}

Display verbose package version information during installation or update:

// repository documentation