nx_tracker_refresh.nx
buildroot/runtime/nx_tracker_refresh.nx
about
nx_tracker_refresh.nx -- GROW the tracker list (operator: "trackers list needs to grow, not be static").
Fetches live public tracker lists over the sovereign TLS-1.3 stack (nx_https_fetch_follow + Mozilla CA),
keeps only http/https announce URLs (UDP goes via cl_announce; tg_wide_to_pex reads http/https only), and
MERGES them into <trackers.txt> (dedup by exact URL, preserving our curated header + entries). Re-run daily
(hostctl trackerrefresh / cron) => the set grows as the public lists update. Fail-safe: any fetch/CA failure
leaves the existing file untouched (no-op), so a network blip never empties our trackers.
argv[1] = trackers.txt path (default /volume1/ai/torrent/trackers.txt). license_tier: ORIGINAL
dependencies 4 imports · 0 importers
imports: nx_syscalls.nxnx_x509_trust_store.nxnx_trust_store_load_from_certdata.nxnx_https_fetch_follow.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 12 | const K_MAGIC_4194304: i64 = 4194304 |
| 13 | const K_MAGIC_1048576: i64 = 1048576 |
| 14 | const K_MAGIC_262144: i64 = 262144 |
| 15 | const K_MAGIC_262143: i64 = 262143 |
functions
| 17 | func tr_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 18 | func tr_putn(v: i64) -> i64 { if v==0 { sys_write(1,"0" as *u8,1); return 0 } var m: i64=v; if m<0 { sys_write(1,"-" as *u8,1); m=0-m } let t: *u8=sys_mmap(28); var k: i64=0; while m>0 { t[k]=(48+(m%10)) as u8; m=m/10; k=k+1 } while k>0 { k=k-1; sys_write(1,(((t as i64)+k) as *u8),1) } return 0 } |
| 19 | func tr_is_http(buf: *u8, ls: i64, le: i64) -> i64 { let h: *u8="http" as *u8; var i: i64=0; while i<4 { if ls+i>=le { return 0 } if buf[ls+i]!=h[i] { return 0 } i=i+1 } return 1 } called by 1: tr_fetch_merge |
| 20 | func tr_has(hay: *u8, hlen: i64, ndl: *u8, nlen: i64) -> i64 called by 1: tr_fetch_merge |
| 26 | func tr_fetch_merge(url: *u8, store: *TrustStore, out: *u8, cap: i64, ex: *u8, exn: i64) -> i64 |
| 51 | func main(argc: i64, argv: *i64) -> i64 |