code wiki / (root) / nx_tracker_refresh.nx

nx_tracker_refresh.nx

buildroot/runtime/nx_tracker_refresh.nx

5138 B72 linesdepth 21pulls 146 transitivereach 0 importersview sourcekind tooltopic tracker
docsdependenciesstructsconstsfunctions

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

nx_syscalls.nx nx_x509_trust_store.nx nx_trust_store_load_from_certdata. nx_https_fetch_follow.nx nx_tracker_refresh.nx

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

main nx_trust_store_load_from_c sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close nx_nss_certdata_parse sys_mmap ↻ _pat_class_cert _pat_value_octal _pat_end _find_newline _starts_with _parse_octal_line sys_mmap ↻ _is_space _decode_octal_escape _is_octal trust_store_alloc sys_mmap ↻ nx_x509_trust_store_load sys_mmap ↻ x509_parse sys_mmap ↻ asn1_cursor_init asn1_expect_tag sys_mmap ↻ asn1_read_tlv_header asn1_read_tag asn1_read_length asn1_read_length ↻ x509_read_tlv sys_mmap ↻ asn1_expect_tag ↻ x509_read_alg_id sys_mmap ↻ asn1_expect_tag ↻

structs

none

consts

12const K_MAGIC_4194304: i64 = 4194304
13const K_MAGIC_1048576: i64 = 1048576
14const K_MAGIC_262144: i64 = 262144
15const K_MAGIC_262143: i64 = 262143

functions

17func 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 }
called by 2: tr_fetch_mergemain calls 1: sys_write
18func 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 }
19func 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
20func tr_has(hay: *u8, hlen: i64, ndl: *u8, nlen: i64) -> i64
called by 1: tr_fetch_merge
26func tr_fetch_merge(url: *u8, store: *TrustStore, out: *u8, cap: i64, ex: *u8, exn: i64) -> i64
51func main(argc: i64, argv: *i64) -> i64