GolangTAK GitHub

One program. Every TAK device. One command to install.

GolangTAK is a free server for ATAK, WinTAK, iTAK and any software that speaks Cursor on Target. It has no runtime dependencies, no containers and no database server, and it runs on anything from a Raspberry Pi to a cloud server.

curl -fsSL https://raw.githubusercontent.com/…/install.sh | sh
  • 1 program, no dependencies
  • 28 builds for 7 operating systems
  • Apache 2.0 licensed

What a TAK server does

Devices send their position, chat, markers and alerts to the server. The server checks who may see them and passes each message on to everyone in the right groups, to linked servers and to other software. GolangTAK does all of it in one process.

Messaging

CoT XML and TAK Protocol version 1 with automatic negotiation. Groups with separate send and receive sets, direct messages, emergency alerts with a repeater, chat store-and-forward for devices that were offline, and recent positions replayed to devices that join.

Accounts and certificates

A built-in certificate authority, certificate enrollment for ATAK and iTAK, one-time QR codes, revocation, and a server certificate that renews itself. Local users and groups, or sign-in with LDAP and Active Directory.

Data

Data packages and Data Sync, missions with roles and change notifications, ExCheck checklists, video feeds, KML export, track history and an update server for ATAK plugins.

Links

Two-way links to TAK Server, OpenTAKServer, FreeTAKServer, another GolangTAK or any CoT software over TCP, TLS, UDP and WebSocket, plus TAK Server federation in both directions. Loop protection keeps messages from echoing back.

Meshtastic and live feeds

A built-in MQTT broker bridges Meshtastic LoRa radios: mesh positions and chat appear in TAK and TAK traffic goes out to the mesh. Aircraft from ADS-B exchanges and ships from AISHub can be shown on every device.

Operations

Installs as a service on every operating system, starts at boot and restarts itself after a failure. Opens the firewall, tests its own ports, cleans up old data on a schedule and makes backups on demand.

A dashboard built in

Served by the same program, in any browser. Manage devices, users, groups, files, missions, links and settings, and watch the server's own load. Press Ctrl+K anywhere to jump to a page.

https://tak.example.org:8446
GolangTAK dashboard overview
Overview: who is online, active emergencies, links and server load.

Install in one command

The installer sets up a service that starts at boot, opens the firewall, creates the certificate authority and the first administrator, and tests every port before it finishes. Running it again updates in place and keeps all data.

curl -fsSL https://raw.githubusercontent.com/grangedevgroup-code/TAK-Backend/main/GolangTAK/scripts/install.sh | sh

Paste into a terminal. It asks for your password to install the service.

  1. Run the command

    It prints the dashboard address, the administrator password and a QR code.

  2. Open the dashboard

    Go to https://SERVER:8446 and sign in. Change the generated password.

  3. Connect a device

    In ATAK choose Settings, Network, Servers, Add, Scan QR. In iTAK choose Connect with QR. Or copy a connection package to the device.

After installing
Check it is runningsudo golangtak status
Add a usersudo golangtak user add alice --groups Blue
QR codes for a devicesudo golangtak qr alice
Follow the logsudo golangtak logs -f
Remove it, keep the datasudo golangtak uninstall

Works with what you already use

Every link is two-way: traffic from devices on GolangTAK reaches the other side, and traffic from the other side reaches GolangTAK devices.

SoftwareHow it connects
ATAK, ATAK-CIVSSL with certificate enrollment, TCP, QR codes, connection packages, Data Sync, plugin update server
WinTAKSSL, TCP, connection packages, Data Sync
iTAKSSL with quick connect QR and enrollment, TCP, server packages
TAK Aware and other CoT appsSSL, TCP, UDP, connection packages
TAK ServerFederation in both directions, or a TCP or TLS link
OpenTAKServer, FreeTAKServerTCP or TLS links in both directions, and a FreeTAKServer-compatible REST API
MeshtasticGateway nodes connect to the built-in MQTT broker, or both sides share a broker
Radios and mesh gatewaysMulticast situational awareness and UDP input
Browsers and scriptsCoT over WebSocket, a REST API with tokens, a live event stream

Runs on the computer you have

Each release is a single file of about 10 to 12 MB, built for 28 combinations of operating system and processor, with a SHA256SUMS file to check them.

SystemProcessors
Linux and Raspberry Piamd64, arm64, armv7, armv6, armv5, 386, riscv64, ppc64le, s390x, loong64, mips, mipsle, mips64, mips64le
Windowsamd64, arm64, 386
macOSarm64, amd64
FreeBSDamd64, arm64, 386, armv7
OpenBSDamd64, arm64
NetBSDamd64, arm64
Androidarm64

The service runs under systemd, OpenRC, SysV init, launchd, FreeBSD rc.d and the Windows service manager, with a cron fallback elsewhere.

Open source, start to finish

Written in Go using only its standard library. Read the code, file an issue, or build it yourself with go build ./cmd/golangtak.