All Projects → FreeTAKTeam → Freetakserver

FreeTAKTeam / Freetakserver

Licence: epl-2.0
an open source, lightweight Server for connect TAK clients

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Freetakserver

Toapi
Every web site provides APIs.
Stars: ✭ 3,209 (+2426.77%)
Mutual labels:  json, flask
Safrs
SqlAlchemy Flask-Restful Swagger Json:API OpenAPI
Stars: ✭ 255 (+100.79%)
Mutual labels:  json, flask
Flask Restplus
Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 2,585 (+1935.43%)
Mutual labels:  json, flask
Flask Restx
Fork of Flask-RESTPlus: Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 1,050 (+726.77%)
Mutual labels:  json, flask
Stateshot
💾 Non-aggressive history state management with structure sharing.
Stars: ✭ 128 (+0.79%)
Mutual labels:  json
Soul Manga
react + flask + scrapy 构建的单页应用漫画网站
Stars: ✭ 126 (-0.79%)
Mutual labels:  flask
Json2caseclass
Kickstart your scala API client by turning JSON into case classes.
Stars: ✭ 123 (-3.15%)
Mutual labels:  json
Plug logger json
Elixir Plug that formats http request logs as json
Stars: ✭ 125 (-1.57%)
Mutual labels:  json
Sabisu Rails
Simple and powerful engine for exploring your Rails api application
Stars: ✭ 129 (+1.57%)
Mutual labels:  json
Reel2bits
Self-hosted Soundtracks and Podcasts sharing, with ActivityPub federation.
Stars: ✭ 128 (+0.79%)
Mutual labels:  flask
Openuba
A robust, and flexible open source User & Entity Behavior Analytics (UEBA) framework used for Security Analytics. Developed with luv by Data Scientists & Security Analysts from the Cyber Security Industry. [PRE-ALPHA]
Stars: ✭ 127 (+0%)
Mutual labels:  flask
Flask Calendar
Simple Python & Flask web-calendar
Stars: ✭ 125 (-1.57%)
Mutual labels:  flask
Tiny Json
The tiny-json is a versatile and easy to use json parser in C suitable for embedded systems. It is fast, robust and portable.
Stars: ✭ 127 (+0%)
Mutual labels:  json
Burner.kiwi
No bullshit temporary mail service written in Go
Stars: ✭ 126 (-0.79%)
Mutual labels:  json
Jsonviewer
Android json viewer, to convert json strings to a friendly readable format, it supports expend&collapsed json strings.
Stars: ✭ 129 (+1.57%)
Mutual labels:  json
Fx
Command-line tool and terminal JSON viewer 🔥
Stars: ✭ 11,295 (+8793.7%)
Mutual labels:  json
Swiftcodes
Swift Codes or BIC Codes for all the Banks in the world. Cached to json.
Stars: ✭ 127 (+0%)
Mutual labels:  json
Scobot
SCORM API for Content. JavaScript library, QUnit tests and examples.
Stars: ✭ 128 (+0.79%)
Mutual labels:  json
Klaxon
A JSON parser for Kotlin
Stars: ✭ 1,687 (+1228.35%)
Mutual labels:  json
Pyxtermjs
A fully functional terminal in your browser.
Stars: ✭ 127 (+0%)
Mutual labels:  flask

FreeTAKServer

the Parrot is not dead

Welcome to the FreeTakServer (FTS) git repository.

FTS is a Python3 implementation of the TAK Server for devices like ATAK, WinTAK, and ITAK, it is cross-platform and runs from a multi node installation on AWS down to the Android edition. It's free and open source (released under the Eclipse Public License).

User Documentation

For documentation on installation and usage visit https://freetakteam.github.io/FreeTAKServer-User-Docs/

Supported Use cases

FTS allows you to connect ATAK clients to share geo information, to chat with all the connected clients, exchange files and more. It intends to support all the major use cases of the original TAK server. the domain model with all the known objects used by CIVTAK/wintak Live version

Community

This code is currently in Early Production Stage. Check out our roadmap @FreeTakServer#25 to see what is planned If you have any issues don't hesitate to bring it up, as TAKFreeServer is in continuous development.

Donate back

the FTS team is working daily on the development of an open and free solution. We plan to do more than simply replicate the functionalities of the legacy TAK server, our road map includes integration with open source systems like LORA's Meshtastic, porting it to Android, having an open API, and much more.

We are doing it for free because we believe that donating personal time to a cause is an endeavour that is worthy per-se, However, we are also spending our own time and money to:

  • Maintain a Public server and a test server
  • Invest in different technologies for R&D

If you feel that FTS is useful to you and you can donate in those challenging times please consider contributing here: DONATE

You can also support the project by buying one of our t-shirts

NOTE: not a big fan of Paypal, but that is the easiest way I found for an initial attempt. We may go to some more ethical system in future.

Public instance

we support a public instance of FTS.

  • download the configuration here
  • use the Import manager in ATAK to import the configuration

Tell us what you think!

to discuss with the developer team Visit the ATAK subreddit https://www.reddit.com/r/ATAK/ or join the Discord chat https://discordapp.com/invite/XEPyhHA

Architecture

TAKFreeServer uses a MVC pattern, the concept of a COT (Cursor On Target) is described in a set of Domain classes, generated from the UML model using a Model Driven Architecture approach. the domain model with all the known objects used by CIVTAK/wintak Live version generated documentation of the COT description

OPEN SOURCE NOTICES

FTS was made possible by the following Open Source projects. We like to thank the following individuals and organization for providing crucial support and making FTS possible.

  • flask
  • lxml
  • pathlib
  • tabulate
  • sqlalchemy
  • setuptools
  • eventlet
  • random_word
  • Pip
  • Bootstrap4
  • pyopenssl
  • Flask Dashboard Black by AppSeed

Documentation

under /docs, you can find various documents including an UML model of the Domain classes involved in a COT event.

Requirements

  • Python 3.6 (or better) following Python libraries are required and will be installed automatically by pip: flask, lxml, pathlib, tabulate, sqlalchemy, setuptools, Flask-SQLAlchemy

Installing and using FreeTakServer

For documentation on installation and usage visit https://freetakteam.github.io/FreeTAKServer-User-Docs/Installation/PyPi/Linux/Install/

Windows

go to the start menu and type cmd to start a command prompt

open a console with admin rights Powershell has issues so do not use it

python3 -m FreeTAKServer.controllers.services.FTS -DataPackageIP [YourIP]

Troubleshooting

package not found'

if, trying to start FTS you get an error 'package not found'

'package not found'

navigate to the physical location where the controllers are installed and start the server from there.

You may also check for missing libraries and install then using pip

issue connecting in WinTAK

if you have issues connecting winTAK to FTS, try to deactivate the TAKChat plugin, under the plugin section

Update FreeTakServer

if you already installed FTS with pip you can use

pip install FreeTAKServer --upgrade

this is not warranted to work, often the best way is to delete the installation and start from zero.

subscribe to this feed to be automatically informed about PIP new versions: https://pypi.org/rss/project/freetakserver/releases.xml

client2client datapackages

If you have issues sending datapackages directly to clients via FTS, make sure the -IP argument you specified can be reached from your device.
A quick way to test if it works is to take a picture with Quick Pic in ATAK and send it to another client. Please also note that for that test ATAK clients needs to be on different network (ie one on mobile and one on wifi), because if you run them in same network (wifi, vpn, etc) they will just use same multicast group, bypassing FTS completely.
When you post package to specific contact in ATAK, following happens:

  1. Datapackage is uploaded to server, recorded in database and stored in FTS directory
  2. Client receives payload with URL pointing to datapackage so ATAK can download it

Assuming you want to run open-to-everyone FTS instance, and you have server hosted somewhere, you need to specify public IP address in -IP argument. And just in case, -IP also accepts domain names.
If you run it at home and port forward on router doesn't work, check if you receive actual IP address and not being NATed and ports 8080 and 8087 are not filtered - you can ask your ISP about that.

Additional Documentation

Project Structure

  • TakFreeServer
    • Controllers: Contains all the business Logic
    • Models: Contains all the COT object model
    • TAKLinuxService: a demon for linux OS
    • TakWinService: a service for the windows OS
  • Docs: Usefull documentation regarding COTS and different logs to understand how those are implemented
  • Model: a UML model in Sparx EnterpriseArchitect format (see https://sparxsystems.com/products/ea/trial/request.html).
  • Old: Legacy versions
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].