RESEARCH USE — AstraOSINT is for OSINT research and education. Always respect privacy laws and the map data providers' Terms of Service.
 LINK ESTABLISHED — professional-track

ASTRAOSINT

A hands-on course for running AstraOSINT the way a working OSINT researcher would — mapping, target intel, tagging, routing, and export, tied into one repeatable tactical workflow.

> ./run.sh — option 1) Start Local Server
13 modules fully client-side, no accounts Ctrl/Cmd+K to search by HackOps Academy
00WELCOME

What this course is

Get oriented before you designate your first target.

AstraOSINT is a professional-grade, web-based GEOINT console — a single tactical interface for satellite imagery analysis, target tracking, and route planning, fully client-side with no backend and no accounts. This course doesn't re-explain every button — the README already does that. It teaches the workflow a professional researcher follows so a mission console actually turns into a usable intel log.

RESEARCH USE, RESPECT THE LAW AstraOSINT is intended for Open Source Intelligence research and educational purposes. Always respect privacy laws and the Terms of Service of the underlying map data providers (OpenStreetMap, Nominatim, OSRM).
WHO THIS IS FORSomeone who has already run ./run.sh once and seen the console load, and now wants a repeatable process for a real research pass instead of clicking around.
01MODULE 01

Launching the console

One script, one local server, zero accounts.

git clone https://github.com/hackops-academy/AstraOSINT.git
cd AstraOSINT
chmod +x run.sh
./run.sh   # choose 1) Start Local Server

The launcher starts a Python HTTP server on port 8080 and opens http://localhost:8080 automatically. Because everything runs client-side and only talks to public OSM/OSRM APIs, there's no account setup and no data leaves your machine except standard map/geocoding requests.

PRO HABITBookmark http://localhost:8080 once, then get in the habit of relaunching run.sh at the start of every research session rather than leaving a stale tab open across days — a fresh load means a fresh HUD state.
02MODULE 02

The tactical HUD

Know what the status bar is telling you at a glance.

The top status bar runs live the whole session: UTC clock, cursor lat/lng, zoom level, and connection status. The Mission Console below it is tabbed — Search, Layers, Intel, Route — instead of one long scrolling menu.

Jump to search
Ctrl/Cmd + K
Close console
Esc

Feedback comes through toast notifications, not blocking alert() popups — so you can keep working while a save or export confirms in the corner. The ambient scanline/vignette/radar-sweep overlay respects prefers-reduced-motion if that matters for your setup.

03MODULE 03

Map layers

Pick the layer that answers the question you're actually asking.

LayerBest for
StreetOrienting to addresses and named landmarks
SatelliteVisual confirmation of structures, vehicles, terrain features
TerrainElevation, natural cover, approach routes
Tactical (dark)Long working sessions, low-glare console feel
PRO HABITSwitch to Satellite specifically to confirm a target before you tag it — Street layer address matches don't always mean what you think they mean once you see the actual structure.
04MODULE 04

Designating targets

Every intel entry starts with one click.

Click anywhere on the map to designate a target — AstraOSINT reverse-geocodes it instantly into a real-world address in the Intel tab. From there:

  1. Name the target.
  2. Pick a tag (see Module 05).
  3. Hit Save Target — it's logged to both the map and the sidebar list.

The bottom-left coordinate readout is persistent and has one-click copy-to-clipboard — use it when you need to hand a raw lat/lng to another tool without leaving the console.

PRO HABITIf you're on-site, use the locate-me (device geolocation) option to designate your own position first — it gives every subsequent target a reliable reference point in your intel log.
05MODULE 05

Tagging & notes

A log of pins isn't intel — a tagged, annotated log is.

WIFI CCTV ENTRY VEHICLE PERSON CUSTOM

Each tag gets its own icon on the map and in the list, so a dense area is scannable at a glance instead of a wall of identical pins. Every target also takes a free-text note, and can be deleted with one click if it turns out to be wrong.

PRO HABITWrite the note at the moment you tag the target, not later — "why this matters" is obvious in the field and much harder to reconstruct from a bare pin a week into the research.
06MODULE 06

Search

Get to the right place fast, without losing context.

Global place/address search returns a real result list — not just a jump to the first match — so you can confirm you've picked the right location among several similarly-named ones before committing.

PRO HABITCtrl/Cmd + K jumps into search from anywhere in the console, so you never have to hunt for the tab mid-session — build the muscle memory early.
07MODULE 07

Tactical routing

Understand how two targets actually connect.

Plot a road route between any two logged targets with live distance/time estimates. When road data isn't available for a segment, AstraOSINT automatically falls back to a dashed line-of-sight indicator instead of failing silently.

PRO HABITA dashed line-of-sight route is itself a finding — it usually means the two points aren't connected by mapped road infrastructure, which can be as relevant to a physical-security assessment as the route distance itself.
08MODULE 08

Export & import

Your intel log outlives the browser tab.

Export the full intel log as JSON for backup or to hand off to another machine or teammate; import it back the same way to resume exactly where you left off.

PRO HABITExport at the end of every session, not just at the end of the engagement — a browser refresh or crash shouldn't be able to cost you a day's worth of tagged targets.
09MODULE 09

Clustering & dense target sets

Keep a crowded map readable.

The marker clustering toggle groups nearby targets into a single expandable cluster marker once a set gets dense — turn it on for a wide-area survey with dozens of pins, and off again when you need to work precisely at street level.

PRO HABITLeave clustering off while actively tagging in one small area (easier to click exactly the pin you mean), then switch it on afterward to review the whole log at a wider zoom.
10MODULE 10

Tech stack & limits

Know what you're actually depending on.

ComponentTechnology
Mapping engineLeaflet.js
ClusteringLeaflet.markercluster
RoutingLeaflet Routing Machine + OSRM
Geocoding / searchOpenStreetMap Nominatim

No frameworks, no build step, no tracking — but also no offline mode: routing and search depend on the public OSM/OSRM APIs being reachable, and are subject to those services' own rate limits and Terms of Service.

RESPECT THE UPSTREAM SERVICESNominatim and OSRM are shared public infrastructure. Avoid scripting rapid repeated queries against them — bursty automated use can get your IP rate-limited or blocked, affecting every session after.
11MODULE 11

The full methodology

How the modules above chain into one research session.

1 — Launch via ./run.sh, confirm LINK ESTABLISHED
2 — Search to the area of interest; confirm on Satellite layer
3 — Designate targets by click; reverse-geocode confirms the address
4 — Tag each target immediately, note context while it's fresh
5 — Switch to Tactical (dark) for long-session comfort
6 — Route between key targets; note any line-of-sight fallbacks
7 — Toggle clustering on to review the full log at a wide zoom
8 — Export the intel log as JSON before closing the session
WHAT SEPARATES A PROFESSIONAL RUN FROM A DEFAULT RUNNot the layer choice — tagging and noting every target the moment it's placed, and exporting before the session ends instead of trusting the browser to hold onto it.
12MODULE 12

Practice & next steps

Rehearse the workflow somewhere low-stakes.

  1. Pick any public, well-known landmark area and designate five targets around it using all five default tags at least once each.
  2. Route between two of them and deliberately pick a pair likely to hit a line-of-sight fallback (e.g. across water or restricted land) to see that behavior firsthand.
  3. Export the log, clear your browser data, then import it back and confirm everything restored correctly.
NEXTOnce the tag → note → route → export loop feels automatic, bring AstraOSINT into a real research session alongside your other OSINT tooling.