https://github.com/Riaan007/farm-netwatch
· scanned 2026-06-15 23:50 UTC (2 months, 3 weeks ago)
123 raw signals (0 security + 123 graph)
Last scanned 2 months, 3 weeks ago · v1 · 114 actionable findings from 1 signal source. 9 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 435 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
_conn |
software | healthy | hub/app/sitehistory.py:19 |
_init |
software | healthy | hub/app/sitehistory.py:31 |
record |
software | healthy | hub/app/sitehistory.py:51 |
reachability_pct |
software | healthy | hub/app/sitehistory.py:63 |
summary |
software | healthy | hub/app/sitehistory.py:76 |
last_reachable |
software | healthy | hub/app/sitehistory.py:85 |
series |
software | healthy | hub/app/sitehistory.py:94 |
prune |
software | healthy | hub/app/sitehistory.py:115 |
secret_key |
software | healthy | hub/app/auth.py:19 |
password_set |
software | healthy | hub/app/auth.py:35 |
proxy_hash_set |
software | healthy | hub/app/auth.py:39 |
_bcrypt |
software | healthy | hub/app/auth.py:43 |
set_password |
software | healthy | hub/app/auth.py:50 |
ensure_proxy_hash |
software | healthy | hub/app/auth.py:56 |
check |
software | healthy | hub/app/auth.py:66 |
seed_from_env |
software | healthy | hub/app/auth.py:71 |
fetch |
software | healthy | hub/app/kuma_status.py:21 |
_safe |
software | healthy | hub/app/poller.py:34 |
__init__ |
software | healthy | hub/app/poller.py:39 |
snapshot |
software | healthy | hub/app/poller.py:47 |
poll_now |
software | healthy | hub/app/poller.py:51 |
start |
software | healthy | hub/app/poller.py:59 |
_load_snapshots |
software | healthy | hub/app/poller.py:64 |
_save_snapshot |
software | healthy | hub/app/poller.py:87 |
_run |
software | healthy | hub/app/poller.py:97 |
_tick |
software | healthy | hub/app/poller.py:106 |
_base_url |
software | healthy | hub/app/poller.py:143 |
_fetch |
software | healthy | hub/app/poller.py:146 |
_fetch_status |
software | healthy | hub/app/poller.py:159 |
_fetch_devices |
software | healthy | hub/app/poller.py:198 |
__init__ |
software | healthy | hub/app/tunnels.py:141 |
port_range |
software | healthy | hub/app/tunnels.py:34 |
start |
software | healthy | hub/app/tunnels.py:146 |
_accept_loop |
software | healthy | hub/app/tunnels.py:72 |
_handle |
software | healthy | hub/app/tunnels.py:82 |
_pump |
software | healthy | hub/app/tunnels.py:103 |
conns |
software | healthy | hub/app/tunnels.py:119 |
close |
software | healthy | hub/app/tunnels.py:228 |
_timeout |
software | healthy | hub/app/tunnels.py:155 |
_free_port |
software | healthy | hub/app/tunnels.py:159 |
_close_site |
software | healthy | hub/app/tunnels.py:167 |
open |
software | healthy | hub/app/tunnels.py:174 |
_info |
software | healthy | hub/app/tunnels.py:216 |
list |
software | healthy | hub/app/tunnels.py:223 |
_reaper |
software | healthy | hub/app/tunnels.py:238 |
_deep_merge |
software | healthy | hub/app/hubconfig.py:58 |
load |
software | healthy | hub/app/hubconfig.py:69 |
save |
software | healthy | hub/app/hubconfig.py:79 |
update |
software | healthy | hub/app/hubconfig.py:90 |
get_site |
software | healthy | hub/app/hubconfig.py:95 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
ANY / |
api | healthy | hub/app/server.py |
ANY /site/<site_id> |
api | healthy | hub/app/server.py |
ANY /login |
api | healthy | hub/app/server.py |
ANY /app.css |
api | healthy | hub/app/server.py |
ANY /api/auth-state |
api | healthy | hub/app/server.py |
ANY /api/login |
api | healthy | hub/app/server.py |
ANY /api/logout |
api | healthy | hub/app/server.py |
ANY /api/health |
api | healthy | hub/app/server.py |
ANY /api/hub/overview |
api | healthy | hub/app/server.py |
ANY /api/hub/sites |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id> |
api | healthy | hub/app/server.py |
ANY /api/hub/wizard |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/enroll |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/devices |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/history/<path:key> |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/command |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/trigger |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/kuma |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/reachability |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/poll |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/tunnel |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/tunnels |
api | healthy | hub/app/server.py |
ANY /api/hub/sites/<site_id>/tunnel/<tid> |
api | healthy | hub/app/server.py |
ANY /setup |
api | healthy | app/server.py |
ANY /api/status |
api | healthy | app/server.py |
ANY /api/config |
api | healthy | app/server.py |
ANY /api/trigger |
api | healthy | app/server.py |
ANY /api/command |
api | healthy | app/server.py |
ANY /api/test-ntfy |
api | healthy | app/server.py |
ANY /api/setup |
api | healthy | app/server.py |
ANY /api/devices |
api | healthy | app/server.py |
ANY /api/devices/<path:key>/credentials |
api | healthy | app/server.py |
ANY /api/devices/prune |
api | healthy | app/server.py |
ANY /api/devices/<path:key> |
api | healthy | app/server.py |
ANY /api/devices/<path:key>/hikvision |
api | healthy | app/server.py |
ANY /api/devices/<path:key>/health |
api | healthy | app/server.py |
ANY /api/devices/<path:key>/kuma |
api | healthy | app/server.py |
ANY /api/kuma/sync-tags |
api | healthy | app/server.py |
ANY /api/kuma/repair |
api | healthy | app/server.py |
ANY /api/kuma/test |
api | healthy | app/server.py |
ANY /api/devices/<path:key>/photo |
api | healthy | app/server.py |
ANY /api/history/<path:key> |
api | healthy | app/server.py |
ANY /api/events |
api | healthy | app/server.py |
ANY /api/ip-history |
api | healthy | app/server.py |
ANY /api/wizard |
api | healthy | app/server.py |
ANY /api/hub/status |
api | healthy | app/server.py |
ANY /api/hub/connect |
api | healthy | app/server.py |
ANY /api/hub/disconnect |
api | healthy | app/server.py |
ANY /api/tunnel |
api | healthy | app/server.py |
ANY /api/tunnel/<tid> |
api | healthy | app/server.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
tailwind.config.js |
software | healthy | tailwind.config.js |
install.sh |
software | healthy | install.sh |
Dockerfile |
software | healthy | Dockerfile |
input.css |
software | healthy | input.css |
requirements.txt |
software | healthy | requirements.txt |
docker-compose.yml |
software | healthy | docker-compose.yml |
Dockerfile |
software | healthy | hub/Dockerfile |
.env.example |
software | healthy | hub/.env.example |
requirements.txt |
software | healthy | hub/requirements.txt |
docker-compose.yml |
software | healthy | hub/docker-compose.yml |
sitehistory.py |
software | healthy | hub/app/sitehistory.py |
auth.py |
software | healthy | hub/app/auth.py |
kuma_status.py |
software | healthy | hub/app/kuma_status.py |
poller.py |
software | healthy | hub/app/poller.py |
tunnels.py |
software | healthy | hub/app/tunnels.py |
hubconfig.py |
software | healthy | hub/app/hubconfig.py |
wgeasy.py |
software | healthy | hub/app/wgeasy.py |
server.py |
software | healthy | hub/app/server.py |
proxycfg.py |
software | healthy | hub/app/proxycfg.py |
site.html |
software | healthy | hub/app/static/site.html |
login.html |
software | healthy | hub/app/static/login.html |
index.html |
software | healthy | hub/app/static/index.html |
publish.sh |
software | healthy | scripts/publish.sh |
history.py |
software | healthy | app/history.py |
commands.py |
software | healthy | app/commands.py |
config.py |
software | healthy | app/config.py |
kuma.py |
software | healthy | app/kuma.py |
scanner.py |
software | healthy | app/scanner.py |
creds.py |
software | healthy | app/creds.py |
hubvpn.py |
software | healthy | app/hubvpn.py |
tunnels.py |
software | healthy | app/tunnels.py |
listener.py |
software | healthy | app/listener.py |
discovery.py |
software | healthy | app/discovery.py |
server.py |
software | healthy | app/server.py |
notify.py |
software | healthy | app/notify.py |
hikvision.py |
software | healthy | app/hikvision.py |
identify.py |
software | healthy | app/identify.py |
devices.json |
software | healthy | app/defaults/devices.json |
index.html |
software | healthy | app/static/index.html |
setup.html |
software | healthy | app/static/setup.html |
build.yml |
software | healthy | .github/workflows/build.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
Poller |
software | healthy | hub/app/poller.py:38 |
TunnelError |
software | healthy | hub/app/tunnels.py:28 |
Tunnel |
software | healthy | hub/app/tunnels.py:47 |
HubTunnelManager |
software | healthy | hub/app/tunnels.py:140 |
WgEasyError |
software | healthy | hub/app/wgeasy.py:18 |
Scanner |
software | healthy | app/scanner.py:53 |
TunnelError |
software | healthy | app/tunnels.py:27 |
Tunnel |
software | healthy | app/tunnels.py:33 |
TunnelManager |
software | healthy | app/tunnels.py:140 |
NtfyListener |
software | healthy | app/listener.py:24 |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8090 |
network | healthy | Dockerfile |
port:51821 |
network | healthy | docker-compose.yml |
port:3001 |
network | healthy | docker-compose.yml |
port:51820 |
network | healthy | docker-compose.yml |
port:8091 |
network | healthy | hub/Dockerfile |
port:8231 |
network | healthy | hub/docker-compose.yml |
port:8200 |
network | healthy | hub/docker-compose.yml |
port:8331 |
network | healthy | hub/docker-compose.yml |
port:8300 |
network | healthy | hub/docker-compose.yml |
port:16 |
network | healthy | hub/app/tunnels.py |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
image::hub/Dockerfile |
hardware | healthy | hub/Dockerfile |
netwatch |
hardware | healthy | docker-compose.yml |
uptime-kuma |
hardware | healthy | docker-compose.yml |
tailscale |
hardware | healthy | docker-compose.yml |
wg-client |
hardware | healthy | docker-compose.yml |
wireguard |
hardware | healthy | docker-compose.yml |
wg-easy |
hardware | healthy | hub/docker-compose.yml |
hub |
hardware | healthy | hub/docker-compose.yml |
hub-proxy |
hardware | healthy | hub/docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
hub |
software | healthy | hub |
app |
software | healthy | hub/app |
static |
software | healthy | hub/app/static |
scripts |
software | healthy | scripts |
app |
software | healthy | app |
defaults |
software | healthy | app/defaults |
static |
software | healthy | app/static |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
192.168.88.0 |
network | healthy | README.md |
192.168.88.5 |
network | healthy | README.md |
192.168.88.254 |
network | healthy | README.md |
10.8.0.1 |
network | healthy | README.md |
10.8.0.0 |
network | healthy | README.md |
192.168.88.250 |
network | healthy | hub/app/hubconfig.py |
239.255.255.250 |
network | healthy | app/discovery.py |
224.0.0.251 |
network | healthy | app/discovery.py |
| Label | Layer | Status | Path |
|---|---|---|---|
site_samples |
data | healthy | hub/app/sitehistory.py |
samples |
data | healthy | app/history.py |
events |
data | healthy | app/history.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-_p826q0p |
software | healthy | /tmp/repobility-clone-_p826q0p |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::build |
cicd | healthy | .github/workflows/build.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/build.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/809281bb-544c-4af7-b675-79383e80725c/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/809281bb-544c-4af7-b675-79383e80725c/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.