Skip to content

Commit 1e8a887

Browse files
committed
updated to 1.1
1 parent a58e0c1 commit 1e8a887

File tree

223 files changed

+9103
-266
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

223 files changed

+9103
-266
lines changed

FreeTAKServer.egg-info/PKG-INFO

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
Metadata-Version: 2.1
2+
Name: FreeTAKServer
3+
Version: 0.112
4+
Summary: An open source server for the TAK family of applications.
5+
Home-page: https://github.com/Tapawingo/FreeTakServer
6+
Author: Ghosty 1008
7+
Author-email: your.email@domain.com
8+
License: MIT
9+
Download-URL: https://github.com/Tapawingo/FreeTakServer/archive/v0.8.4-Beta.tar.gz
10+
Description: # FreeTAKServer
11+
12+
![the Parrot is not dead](https://github.com/Tapawingo/FreeTakServer/blob/master/docs/FreeTakServer%20specs/FreeTakServerLogo.png?raw=true)
13+
14+
Welcome to the FreeTakServer (FTS) git repository.
15+
16+
FTS is a Python3 implementation of the TAK Server for devices like CivTAK , WinTAK and ITAK, it is cross-platform and is only dependent on python stdlib libraries. We use the Flask framework for web services.
17+
it's free and open source (released under the Eclipse Public License).
18+
19+
## Use cases
20+
FTS allows you to connect ATAK clients to share geo information, to chat with all the connected clients, exchange files and more.
21+
It intends to support all the major use cases of the original TAK server.
22+
![the domain model with all the know objects used by CIVTAK/ wintak](https://github.com/Tapawingo/TAKlib/blob/master/docs/FreeTakServer%20specs/FreeTak%20Use%20Case%20model.png?raw=true)
23+
24+
## Community
25+
This code is currently in *BETA STAGE*
26+
Check out our roadmap @ FreeTakServer#25 to see what is planned
27+
If you have any issues don't hesitate to bring it up https://github.com/Tapawingo/FreeTakServer/issues, as TAKFreeServer is still in development.
28+
29+
### Donate back
30+
the FTS team is working daily on the development of a open and free solution. We plan to do more that 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.
31+
32+
We are doing it for free because we believe that donating personal time to a cause its a endeavour that is worthy per-se, However, a part time, we are also spending our own money to:
33+
- Maintain a Public server and a test server
34+
- Investing in different technologies for R&D
35+
36+
if you feel that FTS is useful to you and you can donate in those challenging times please consider to send you contribution here:
37+
[DONATE](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=brothercorvo%40gmail.com&item_name=FreeTAKServer+R%26D&currency_code=CAD&source=url)
38+
39+
You can also support the project by buying one of our [t-shirts](http://tee.pub/lic/elARpZYCmaw)
40+
41+
NOTE:
42+
not a big fan of Paypal, but that is the easier way I found for an initial attempt. We may go to some more ethical system in future.
43+
44+
### Public instance
45+
we support a [public instance}(https://www.reddit.com/r/ATAK/wiki/index/freetakserver) of FTS.
46+
- download the configuration {here}(https://drive.google.com/open?id=1IK1LfPN13EWikHaMyOuDDwIerNGz-Wl)
47+
- use the Import manager in ATAK to import the configuration
48+
49+
### Tell us what you think!
50+
to discuss with the developer team
51+
Use the reddit server
52+
https://www.reddit.com/r/ATAK/
53+
and the Discord chat
54+
https://discordapp.com/invite/XEPyhHA
55+
56+
## Architecture
57+
TAKFreeServer uses a MVC pattern, the concept of a COT is described in a set of Domain classes, generated from the UML model using a Model Driven Architecture approach.
58+
![the domain model with all the know objects used by CIVTAK/ wintak](https://github.com/FreeTAKTeam/FreeTakServer/blob/master/docs/FreeTAKServer%20Model.png)
59+
YOu can see the complete COT description {here}(https://github.com/FreeTAKTeam/FreeTakServer/blob/master/docs/FreeTakServer%20specs/COTDomainModel.pdf)
60+
61+
## Documentation
62+
under docs, you can find various documents including an UML model of the Domain classes involved in a COT event.
63+
64+
## Requirements
65+
- Python 3.6 (or better)
66+
67+
## Installing and using FreeTakServer
68+
Important Note: depending from the system you are using, the following commands may be executed using python3, Pip3 or in alternative python, Pip (without the 3).
69+
70+
71+
### Prerequisites
72+
you will need to install Python 3, PIP before you can install FTS
73+
74+
- Install Python3
75+
```
76+
sudo apt update && sudo apt install python3 && sudo apt install pip3` (Ubuntu)```
77+
```
78+
### install FreeTakServer
79+
Since version 0.8, FTS supports Pip installation, manual installation can be done with some modifications of the import paths, however we don't support it
80+
81+
```
82+
sudo python -m pip install FreeTAKServer
83+
```
84+
85+
Optional: check if installation is correctly executed and install any missing packages if prompted
86+
```
87+
sudo python -m pip check FreeTakServer
88+
```
89+
90+
note under windows it's installed under
91+
```
92+
C:\Users\user.name\AppData\Local\Programs\Python\PythonXX\Lib\site-packages
93+
```
94+
95+
## Run FreeTakServer
96+
97+
### Linux
98+
99+
#### Run Server in console
100+
101+
```
102+
sudo python3 -m FreeTAKServer.controllers.services.FTS -DataPackageIP [YourIP]
103+
```
104+
this will start the server with Port 8087 and API port 8080 on the IP defined in [yourIP]
105+
106+
other parameters you can use:
107+
-AutoStart: (weather the full server start or just the RestAPI, must be True or False)
108+
-CoTIP [yourIP]
109+
-DataPackageIP[yourIP] : set the IP where CoTs are send
110+
-CoTPort [aPort] : the port you want clients to connect to
111+
-DataPackagePort [anotherPort]: the port you want datapackages to be sent and received on
112+
113+
if you dont set any of the above, FTS will adopt a "Convention instead of Configuration" approach and try to set all from the configuation file
114+
115+
Open a new console in a separate window
116+
run FTS Command Line Interface with
117+
```
118+
python -m FreeTAKServer.views.CLI
119+
```
120+
121+
to get a list of other supported commands type
122+
123+
```help```
124+
125+
#### Run Server as Demon
126+
use this command to run FTS independently from your command window.
127+
128+
```
129+
sudo nohup python3 -m FreeTAKServer.controllers.FTS -DataPackageIP [YourIP] &
130+
```
131+
132+
### Windows
133+
go to the start menu and type cmd to start a command prompt
134+
open a console with admin rights
135+
```
136+
python3 -m FreeTAKServer.controllers.FTS -DataPackageIP [YourIP]
137+
```
138+
139+
### Troubleshooting
140+
if, trying to start FTS you get an error 'package not found'
141+
```
142+
'package not found'
143+
```
144+
navigate to the physical location where the controllers are installed and start the server from there
145+
146+
## Update FreeTakServer
147+
if you already installed FTS with pip you can use
148+
```
149+
pip install FreeTAKServer --upgrade
150+
```
151+
152+
153+
### client2client datapackages
154+
155+
If you have issues sending datapackages directly to clients via FTS, make sure -IP you specified can be reached from your device.
156+
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.
157+
When you post package to specific contact in ATAK, following happens:
158+
159+
1) Datapackage is uploaded to server, recorded in database and stored in FTS directory
160+
2) Client receives payload with URL pointing to datapackage so ATAK can download it
161+
162+
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.
163+
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.
164+
165+
166+
167+
## Project Structure
168+
- TakFreeServer
169+
- **Controllers**: Contains all the business Logic
170+
- **Models**: Contains all the COT object model
171+
- **TAKLinuxService**: a demon for linux OS
172+
- **TakWinService**: a service for the windows OS
173+
- Docs: Usefull documentation regarding COTS and different logs to understand how those are implemented
174+
- Model: a UML model in Sparx EnterpriseArchitect format (see https://sparxsystems.com/products/ea/trial/request.html).
175+
- Old: Legacy versions
176+
177+
Keywords: TAK,OPENSOURCE
178+
Platform: UNKNOWN
179+
Classifier: Development Status :: 5 - Production/Stable
180+
Classifier: Intended Audience :: Developers
181+
Classifier: Topic :: Software Development :: Build Tools
182+
Classifier: License :: OSI Approved :: MIT License
183+
Classifier: Programming Language :: Python :: 3.6
184+
Description-Content-Type: text/markdown

0 commit comments

Comments
 (0)