Welcome to BLOX-TAK-CoT. This project is a universal, Python-based integration bridge designed to track any orbital object (Satellites, Rocket Bodies, Debris, Space Stations) in real-time via the N2YO API and visualize its telemetry within the ATAK (Android Team Awareness Kit) ecosystem using the Cursor on Target (CoT) protocol.
While initially developed to research "Ghost Satellite" phenomena during uncontrolled reentries (like ZQ-3), BLOX-TAK-CoT is fully configurable to track stable assets (ISS, Starlink, Tiangong) or high-value targets by simply changing the configuration ID.
📺 #YouTube:
CORE - https://youtu.be/lcWTPbxM3_g
REPLAY - https://youtu.be/nNv6e3a4rn4
🌐 Socials:
Linkedin: https://www.linkedin.com/posts/lukebluelox_zq3-reentry-blox-share-7423271365610393600-aTHS
𝕏: https://x.com/LukeStriderGM/status/2017505686943314412
🇵🇱 [Kliknij Trójkąt Po Lewej Stronie Aby Rozwinąć Opis w Języku Polskim]
Witaj w BLOX-TAK-CoT. Ten projekt to uniwersalny most integracyjny oparty na języku Python, zaprojektowany do śledzenia dowolnego obiektu orbitalnego (satelity, człony rakiet, śmieci kosmiczne, stacje kosmiczne) w czasie rzeczywistym za pośrednictwem API N2YO i wizualizacji jego telemetrii w ekosystemie ATAK (Android Team Awareness Kit) przy użyciu protokołu Cursor on Target (CoT).
Choć narzędzie to zostało pierwotnie opracowane do badania zjawisk "Satelitów Duchów" podczas niekontrolowanych wejść w atmosferę (jak ZQ-3), BLOX-TAK-CoT jest w pełni konfigurowalne do śledzenia stabilnych zasobów (ISS, Starlink, Tiangong) lub celów o wysokim znaczeniu poprzez prostą zmianę identyfikatora w konfiguracji.
📺 #YouTube:
CORE - https://youtu.be/lcWTPbxM3_g
REPLAY - https://youtu.be/nNv6e3a4rn4
🌐 Socials:
Linkedin: https://www.linkedin.com/posts/lukebluelox_deorbitacja-zq3-blox-share-7423271298686173184-G4w8
- Universal Architecture: Compatible with the entire NORAD database. Whether it's a falling rocket body or the ISS, if it has an ID, this tool can track it.
- Real-Time Telemetry Bridge: Fetches precise orbital data (Latitude, Longitude, Altitude) every second and injects it into the TAK network.
- Native CoT Transformation: Instantly converts API data into XML-based Cursor on Target (CoT) events compatible with TAK Servers (CivTAK/FreeTAKServer) and ATAK Civ/Mil clients.
- Dynamic Hostility Tagging: Configurable tagging system to flag objects as "Hostile" (Imminent Threat/Debris) or "Friendly/Neutral" (Active Assets).
- Mission Replay Module: Includes a dedicated
replay_cot.pyengine to re-broadcast captured log data for post-mission analysis, training, and simulation. - Secure SSL/TLS Transmission: Supports encrypted communication channels for professional deployments.
- Bilingual Logs: Console outputs and system logs are formatted in a clean, vertical bilingual style (English/Polish) for international collaboration.
🇵🇱
- Uniwersalna Architektura: Kompatybilność z całą bazą danych NORAD. Niezależnie od tego, czy jest to spadający człon rakiety, czy ISS – jeśli obiekt ma ID, to narzędzie może go śledzić.
- Most Telemetryczny w Czasie Rzeczywistym: Pobiera precyzyjne dane orbitalne (Szerokość, Długość, Wysokość) co sekundę i wstrzykuje je do sieci TAK.
- Natywna Transformacja CoT: Natychmiastowo konwertuje dane API na zdarzenia Cursor on Target (CoT) oparte na XML, kompatybilne z serwerami TAK (CivTAK/FreeTAKServer) i klientami ATAK Civ/Mil.
- Dynamiczne Oznaczanie Wrogości: Konfigurowalny system tagowania do oznaczania obiektów jako "Wrogie" (Bezpośrednie Zagrożenie/Śmieci) lub "Przyjazne/Neutralne" (Aktywne Zasoby).
- Moduł Odtwarzania Misji: Zawiera dedykowany silnik
replay_cot.pydo ponownego nadawania przechwyconych danych logów w celu analizy po misji, szkoleń i symulacji. - Bezpieczna Transmisja SSL/TLS: Obsługuje szyfrowane kanały komunikacji dla profesjonalnych wdrożeń.
- Dwujęzyczne Logi: Wyjścia konsoli i logi systemowe są sformatowane w czystym, pionowym stylu dwujęzycznym (Angielski/Polski) dla współpracy międzynarodowej.
To deploy BLOX-TAK-CoT, you will need the following environment (optimized for Orange Pi 5 / Ubuntu / Debian):
- Hardware: Orange Pi 5 (or any Linux-based edge device/server).
- OS: Ubuntu 22.04 LTS or Debian Bookworm.
- Python 3.10+: With
venvsupport. - Data Source: A valid API key from n2yo.com.
- Target System: A running TAK Server instance reachable via IP.
- Security: Valid client certificates (
.pem,.key,trusted-root.pem) for the TAK connection.
🇵🇱
Aby wdrożyć BLOX-TAK-CoT, będziesz potrzebować następującego środowiska (zoptymalizowanego dla Orange Pi 5 / Ubuntu / Debian):
- Sprzęt: Orange Pi 5 (lub dowolne urządzenie brzegowe/serwer oparty na Linuxie).
- System Operacyjny: Ubuntu 22.04 LTS lub Debian Bookworm.
- Python 3.10+: Z obsługą
venv. - Źródło Danych: Ważny klucz API ze strony n2yo.com.
- System Docelowy: Działająca instancja serwera TAK dostępna przez IP.
- Bezpieczeństwo: Ważne certyfikaty klienta (
.pem,.key,trusted-root.pem) do połączenia TAK.
Follow these steps to set up the BLOX-TAK-CoT environment.
-
Clone the Repository:
git clone https://github.com/LukeStriderGM/BLOX-TAK-CoT cd BLOX-TAK-CoT -
Create Virtual Environment: It is crucial to use a virtual environment to manage dependencies properly without affecting the system root.
python3 -m venv .venv source .venv/bin/activate -
Install Requirements:
pip install -r requirements.txt
🇵🇱
-
Sklonuj Repozytorium:
git clone https://github.com/LukeStriderGM/BLOX-TAK-CoT cd BLOX-TAK-CoT -
Utwórz Wirtualne Środowisko: Użycie wirtualnego środowiska jest kluczowe dla poprawnego zarządzania zależnościami bez wpływu na system główny (root).
python3 -m venv .venv source .venv/bin/activate -
Zainstaluj Wymagania:
pip install -r requirements.txt
The system is designed to be easily reconfigurable for different missions. Edit the top section of N2YO-API-Query_PyCoT-TAK-Server.py.
Modify the SAT_ID variable to track different objects.
# --- USER SETTINGS ---
N2YO_API_KEY = "YOUR-API-KEY"
# Target Definition (NORAD ID)
SAT_ID = 66877 # Target: ZQ-3 R/B (Debris/Reentry)
# SAT_ID = 25544 # Target: ISS (International Space Station)
# SAT_ID = 48274 # Target: CSS (Tiangong Space Station)Adjust the CoT type to reflect the tactical nature of the object.
https://github.com/wcrum/py-cot/blob/main/CoT/types.py
# For Threats / Debris / Hostiles:
type="a-h-P-S" # Atom-Hostile-Space-Satellite (Red Icon)
# For Friendly / Neutral Assets:
type="a-n-P-S" # Atom-Neutral-Space-Satellite (Green/Blue Icon)🇵🇱
Zmodyfikuj zmienną SAT_ID, aby śledzić różne obiekty.
# --- USTAWIENIA UŻYTKOWNIKA ---
N2YO_API_KEY = "TWÓJ-KLUCZ-API"
# Definicja Celu (NORAD ID)
SAT_ID = 66877 # Cel: ZQ-3 R/B (Szczątki/Deorbitacja)
# SAT_ID = 25544 # Cel: ISS (Międzynarodowa Stacja Kosmiczna)
# SAT_ID = 48274 # Cel: CSS (Stacja Kosmiczna Tiangong)Dostosuj type CoT, aby odzwierciedlić taktyczną naturę obiektu.
https://github.com/wcrum/py-cot/blob/main/CoT/types.py
# Dla Zagrożeń / Szczątków / Wrogów:
type="a-h-P-S" # Atom-Hostile-Space-Satellite (Czerwona Ikona)
# Dla Zasobów Przyjaznych / Neutralnych:
type="a-n-P-S" # Atom-Neutral-Space-Satellite (Zielona/Niebieska Ikona)Starts the live bridge between N2YO and the TAK Server. Note: Use sudo combined with the venv path to ensure access to SSL certs and system sockets.
sudo ./.venv/bin/python3 N2YO-API-Query_PyCoT-TAK-Server.py- Output: Displays live formatted ALT/LAT/LON telemetry.
- Logging: Automatically saves session data to
cot.log.
Re-broadcasts captured telemetry to simulate the event or analyze data post-mission.
sudo ./.venv/bin/python3 replay_cot.py- The script prompts for Start/End Time (Format:
YYYY-MM-DD HH:MM:SS). - Reads from
cot.logand injects packets into the TAK network as if they were live.
🇵🇱
Uruchamia żywy most między N2YO a serwerem TAK. Uwaga: Użyj sudo w połączeniu ze ścieżką venv, aby zapewnić dostęp do certyfikatów SSL i gniazd systemowych.
sudo ./.venv/bin/python3 N2YO-API-Query_PyCoT-TAK-Server.py- Wyjście: Wyświetla sformatowaną telemetrię WYS/SZER/DŁU na żywo.
- Logowanie: Automatycznie zapisuje dane sesji do
cot.log.
Ponownie nadaje przechwyconą telemetrię w celu symulacji zdarzenia lub analizy danych po misji.
sudo ./.venv/bin/python3 replay_cot.py- Skrypt prosi o Czas Startu/Końca (Format:
RRRR-MM-DD GG:MM:SS). - Odczytuje dane z
cot.logi wstrzykuje pakiety do sieci TAK tak, jakby były na żywo.
This project is licensed under the MIT License. See the LICENSE file for details.
🇵🇱
Ten projekt jest objęty licencją MIT. Zobacz plik LICENSE, aby uzyskać szczegółowe informacje.
Tłumaczenie [PL]:
Licencja MIT
Prawa autorskie (c) 2025 Łukasz "LukeStriderGM" Andruszkiewicz
Niniejszym udziela się bezpłatnej zgody każdej osobie wchodzącej w posiadanie kopii tego oprogramowania i powiązanych z nim plików dokumentacji (dalej „Oprogramowanie”), na obchodzenie się z Oprogramowaniem bez ograniczeń, włączając w to bez ograniczeń prawa do używania, kopiowania, modyfikowania, łączenia, publikowania, dystrybucji, sublicencjonowania i/lub sprzedaży kopii Oprogramowania, oraz na zezwolenie osobom, którym Oprogramowanie jest dostarczane, aby to czyniły, pod następującymi warunkami:
Powyższa nota o prawach autorskich i ta nota o pozwoleniu muszą być dołączone do wszystkich kopii lub istotnych części Oprogramowania.
OPROGRAMOWANIE JEST DOSTARCZANE "TAKIM, JAKIE JEST", BEZ JAKIEJKOLWIEK GWARANCJI, WYRAŹNEJ LUB DOROZUMIANEJ, WŁĄCZAJĄC W TO, ALE NIE OGRANICZAJĄC SIĘ DO, GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU ORAZ NIENARUSZALNOŚCI PRAW. W ŻADNYM WYPADKU AUTORZY LUB POSIADACZE PRAW AUTORSKICH NIE BĘDĄ ODPOWIEDZIALNI ZA JAKIEKOLWIEK ROSZCZENIA, SZKODY LUB INNE ZOBOWIĄZANIA, CZY TO W WYNIKU DZIAŁANIA UMOWY, DELIKTU CZY W INNY SPOSÓB, WYNIKAJĄCE Z, LUB W ZWIĄZKU Z OPROGRAMOWANIEM LUB UŻYCIEM LUB INNYMI DZIAŁANIAMI W OPROGRAMOWANIU.
This project and everyone participating in it is governed by the Contributor Covenant. See the CODE_OF_CONDUCT.md file for details.
🇵🇱
Kodeks Postępowania
Ten projekt i wszyscy w nim uczestniczący podlegają Zasadom Współtwórcy (Contributor Covenant). Zobacz plik CODE_OF_CONDUCT.md, aby uzyskać szczegółowe informacje.
Tłumaczenie [PL]:
Jako członkinie i członkowie, współtwórczynie i współtwórcy oraz liderki i liderzy zobowiązujemy się, że udział w naszej społeczności będzie wolny od nękania dla każdego, bez względu na wiek, budowę ciała, widoczną lub niewidoczną niepełnosprawność, pochodzenie etniczne, cechy płciowe, tożsamość i ekspresję płciową, poziom doświadczenia, wykształcenie, status społeczno-ekonomiczny, narodowość, wygląd, rasę, religię czy tożsamość i orientację seksualną.
Zobowiązujemy się do działania i interakcji w sposób, który przyczynia się do tworzenia otwartej, przyjaznej, zróżnicowanej, inkluzywnej i zdrowej społeczności.
Przykłady zachowań, które przyczyniają się do tworzenia pozytywnego środowiska dla naszej społeczności, obejmują:
- Okazywanie empatii i życzliwości wobec innych osób
- Szacunek dla odmiennych opinii, punktów widzenia i doświadczeń
- Udzielanie i taktowne przyjmowanie konstruktywnej informacji zwrotnej
- Przyjmowanie odpowiedzialności, przepraszanie osób dotkniętych naszymi błędami i wyciąganie z nich wniosków
- Skupianie się nie tylko na tym, co najlepsze dla nas jako jednostek, ale dla całej społeczności
Przykłady niedopuszczalnych zachowań obejmują:
- Używanie języka lub obrazów o charakterze seksualnym oraz wszelkiego rodzaju zaloty lub umizgi o charakterze seksualnym
- Trolling, obraźliwe lub uwłaczające komentarze oraz ataki osobiste lub polityczne
- Nękanie publiczne lub prywatne
- Publikowanie prywatnych informacji innych osób, takich jak adres fizyczny lub mailowy, bez ich wyraźnej zgody
- Inne zachowania, które można by uznać za niewłaściwe w środowisku profesjonalnym
Liderki i liderzy społeczności są odpowiedzialni za wyjaśnianie i egzekwowanie naszych standardów oraz podejmą odpowiednie i sprawiedliwe działania naprawcze w odpowiedzi na każde zachowanie, które uznają za niestosowne, zagrażające, obraźliwe lub szkodliwe.
Liderki i liderzy społeczności mają prawo i obowiązek usuwać, edytować lub odrzucać komentarze, commity, kod, edycje wiki, zgłoszenia i inne formy wkładu, które nie są zgodne z niniejszym Kodeksem Postępowania, i w razie potrzeby przedstawią powody swoich decyzji moderacyjnych.
Niniejszy Kodeks Postępowania obowiązuje we wszystkich przestrzeniach społeczności, a także wtedy, gdy dana osoba oficjalnie reprezentuje społeczność w przestrzeni publicznej. Przykłady reprezentowania naszej społeczności obejmują używanie oficjalnego adresu e-mail, publikowanie postów za pośrednictwem oficjalnego konta w mediach społecznościowych lub występowanie w charakterze wyznaczonej przedstawicielki lub przedstawiciela na wydarzeniu online lub offline.
Przypadki obraźliwego, nękającego lub w inny sposób niedopuszczalnego zachowania mogą być zgłaszane liderkom i liderom społeczności odpowiedzialnym za egzekwowanie zasad pod adresem luke.strider.gm@gmail.com. Wszystkie skargi zostaną rozpatrzone i zbadane niezwłocznie i sprawiedliwie.
Wszystkie liderki i liderzy społeczności są zobowiązani do poszanowania prywatności i bezpieczeństwa osoby zgłaszającej incydent.
Liderki i liderzy społeczności będą postępować zgodnie z niniejszymi Wytycznymi Dotyczącymi Wpływu na Społeczność przy określaniu konsekwencji za każde działanie, które uznają za naruszenie niniejszego Kodeksu Postępowania:
Wpływ na Społeczność: Używanie niestosownego języka lub inne zachowanie uznane za nieprofesjonalne lub niemile widziane w społeczności.
Konsekwencja: Prywatne, pisemne upomnienie od liderek lub liderów społeczności, wyjaśniające naturę naruszenia i powód, dla którego zachowanie było niestosowne. Może zostać zażądane publiczne przeproszenie.
Wpływ na Społeczność: Naruszenie w wyniku pojedynczego incydentu lub serii działań.
Konsekwencja: Ostrzeżenie z konsekwencjami za dalsze zachowanie. Zakaz interakcji z osobami zaangażowanymi, w tym nieproszonych interakcji z osobami egzekwującymi Kodeks Postępowania, przez określony czas. Obejmuje to unikanie interakcji w przestrzeniach społeczności, jak i na kanałach zewnętrznych, takich jak media społecznościowe. Naruszenie tych warunków może prowadzić do tymczasowego lub stałego bana.
Wpływ na Społeczność: Poważne naruszenie standardów społeczności, w tym utrzymujące się niestosowne zachowanie.
Konsekwencja: Tymczasowy zakaz jakichkolwiek interakcji lub publicznej komunikacji ze społecznością na określony czas. W tym okresie zabronione są publiczne i prywatne interakcje z osobami zaangażowanymi, w tym nieproszone interakcje z osobami egzekwującymi Kodeks Postępowania. Naruszenie tych warunków może prowadzić do stałego bana.
Wpływ na Społeczność: Wykazywanie wzorca naruszania standardów społeczności, w tym utrzymujące się niestosowne zachowanie, nękanie danej osoby lub agresja wobec lub oczernianie grup osób.
Konsekwencja: Stały zakaz jakichkolwiek publicznych interakcji w ramach społeczności.
Atrybucja
Niniejszy Kodeks Postępowania jest adaptacją Contributor Covenant, wersja 2.1, dostępnej pod adresem https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.