1002 lines
37 KiB
JSON
1002 lines
37 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "lib_supabase_client",
|
|
"label": "Supabase Client (rebreak-native)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/lib/supabase.ts",
|
|
"source_location": "line 16",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "lib_supabase_realtime_token_refresh",
|
|
"label": "Supabase Realtime accessToken auto-refresh",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/lib/supabase.ts",
|
|
"source_location": "line 32",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "rebreak_protection_module_package",
|
|
"label": "rebreak-protection Expo Module Package",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/package.json",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "rebreak_protection_index_exports",
|
|
"label": "rebreak-protection index.ts (public API exports)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/index.ts",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_rebreakprotectionmodule_swift",
|
|
"label": "RebreakProtectionModule.swift (iOS unified protection module)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 82",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_nefilter_layer",
|
|
"label": "iOS NEFilter Layer (NEFilterDataProvider supervised)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 160",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_packet_tunnel_layer",
|
|
"label": "iOS PacketTunnel DNS-Sinkhole Layer (NEPacketTunnelProvider)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 166",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_family_controls_layer",
|
|
"label": "iOS FamilyControls + ManagedSettings Layer (denyAppRemoval)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 499",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_webcontent_filter_layer2",
|
|
"label": "iOS Layer 2 WebContent Filter (ManagedSettings blockedByFilter)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 696",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_neurlfilter_layer_ios26",
|
|
"label": "iOS NEURLFilter Layer (iOS 26+ future path, currently inactive)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 255",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_blocklist_sync",
|
|
"label": "iOS syncBlocklist (ETag-cached HTTP download + atomic write + Darwin notification)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 875",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_health_probe",
|
|
"label": "iOS runHealthProbe (hidden WKWebView against bet365.com)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 1182",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_shared_log_store",
|
|
"label": "SharedLogStore (App-Group UserDefaults cross-process logging)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 47",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_app_group",
|
|
"label": "iOS App Group: group.org.rebreak.app",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 13",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_blocklist_bin",
|
|
"label": "blocklist.bin (sorted 64-bit big-endian SHA-256 hashes)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 14",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_darwin_notification",
|
|
"label": "Darwin Notification rebreak.blocklist.updated (cross-process)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 16",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_gambling_domains_json",
|
|
"label": "gambling-domains.json (curated gambling domain list per country, max 50/country)",
|
|
"file_type": "document",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/gambling-domains.json",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_bloomfilter_swift",
|
|
"label": "BloomFilter.swift (Apple vendored, Murmur3+FNV1a dual-hash)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/BloomFilter.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_fnv1ahash_swift",
|
|
"label": "FNV1aHash.swift (Apple vendored, FNV-1a 32-bit)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/FNV1aHash.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_murmur3hash_swift",
|
|
"label": "Murmur3Hash.swift (Apple vendored, MurmurHash3A 32-bit)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/Murmur3Hash.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_urlfilter_control_provider",
|
|
"label": "RebreakURLFilterControlProvider (NEURLFilterControlProvider, fetchPrefilter bloom)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/RebreakURLFilterControlProvider.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "tools_generatebloomfilter_swift",
|
|
"label": "GenerateBloomFilter.swift (CLI tool to produce bloom_filter.plist)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/tools/GenerateBloomFilter.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_hashlist_packet_tunnel",
|
|
"label": "HashList.swift (PacketTunnel — mmap'd sorted 64-bit hash list, binary search)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/HashList.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_domainhasher_packet_tunnel",
|
|
"label": "DomainHasher.swift (PacketTunnel — SHA-256 first 8 bytes big-endian UInt64)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/DomainHasher.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_packettunnelprovider_swift",
|
|
"label": "PacketTunnelProvider.swift (NEPacketTunnelProvider DNS sinkhole read-loop)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_dnsfilter_packet_tunnel",
|
|
"label": "DnsFilter.swift (PacketTunnel — IPv4/UDP/DNS classify block/forward/drop)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/DnsFilter.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_filterdataprovider_swift",
|
|
"label": "FilterDataProvider.swift (NEFilterDataProvider supervised path, HashListMmap)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakContentFilter/FilterDataProvider.swift",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "android_rebreakprotectionmodule_kt",
|
|
"label": "RebreakProtectionModule.kt (Android Expo Module — VPN + a11y + tamperLock)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/RebreakProtectionModule.kt",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "android_rebreakVpnService_kt",
|
|
"label": "RebreakVpnService.kt (Android VpnService — TUN DNS-sinkhole foreground service)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/vpn/RebreakVpnService.kt",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "android_hashlist_kt",
|
|
"label": "HashList.kt (Android — mmap'd sorted 64-bit hash list, AtomicReference, binary search)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/filter/HashList.kt",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "android_dnsfilter_kt",
|
|
"label": "DnsFilter.kt (Android — IPv4/UDP/DNS packet parsing, NXDOMAIN/forward)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/filter/DnsFilter.kt",
|
|
"source_location": null,
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "cross_platform_blocklist_format",
|
|
"label": "Cross-platform blocklist.bin format (sorted 64-bit big-endian SHA-256 hashes, 8 bytes each)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/HashList.swift",
|
|
"source_location": "line 5",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "cross_platform_domain_hash_algorithm",
|
|
"label": "Cross-platform domain hash: SHA-256(normalize(host)).first(8) big-endian UInt64",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/DomainHasher.swift",
|
|
"source_location": "line 1",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "cross_platform_subdomain_match",
|
|
"label": "Cross-platform subdomain suffix matching (max 5 iterations, strip to next dot)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/HashList.swift",
|
|
"source_location": "line 137",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_virtual_tun_subnet",
|
|
"label": "Virtual TUN subnet 10.0.0.0/24 with virtual DNS 10.0.0.1 (iOS + Android identical)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 46",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_vpn_reconcile",
|
|
"label": "iOS reconcileUrlFilter (self-heal after VPN deleted in Settings)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 459",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_on_demand_vpn",
|
|
"label": "iOS On-Demand VPN rule (NEOnDemandRuleConnect, any interface, self-healing)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 1373",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_inflight_cap",
|
|
"label": "iOS in-flight upstream cap (max 32 concurrent NWConnection, SERVFAIL on overflow)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 89",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_dns_cache_flush",
|
|
"label": "iOS DNS cache flush via setTunnelNetworkSettings nil + re-apply on blocklist reload",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 462",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_bloom_filter_plist",
|
|
"label": "bloom_filter.plist (Bloom filter for NEURLFilter prefilter, XML PropertyList)",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/RebreakURLFilterControlProvider.swift",
|
|
"source_location": "line 41",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_filterdataprovider_hashlistmmap",
|
|
"label": "HashListMmap (FilterDataProvider — mmap with mtime polling + DarwinNotification fallback)",
|
|
"file_type": "code",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakContentFilter/FilterDataProvider.swift",
|
|
"source_location": "line 66",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
},
|
|
{
|
|
"id": "ios_data_protection_class",
|
|
"label": "iOS File Protection: completeUntilFirstUserAuthentication for blocklist.bin",
|
|
"file_type": "concept",
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 935",
|
|
"source_url": null,
|
|
"captured_at": null,
|
|
"author": null,
|
|
"contributor": null
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"source": "lib_supabase_realtime_token_refresh",
|
|
"target": "lib_supabase_client",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/lib/supabase.ts",
|
|
"source_location": "line 32",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "rebreak_protection_index_exports",
|
|
"target": "rebreak_protection_module_package",
|
|
"relation": "references",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/index.ts",
|
|
"source_location": "line 1",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_packet_tunnel_layer",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 166",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_nefilter_layer",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 160",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_family_controls_layer",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 499",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_webcontent_filter_layer2",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 718",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_neurlfilter_layer_ios26",
|
|
"relation": "references",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 255",
|
|
"weight": 0.6
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_blocklist_sync",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 875",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_health_probe",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 1182",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_shared_log_store",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 47",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_app_group",
|
|
"relation": "references",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 13",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_blocklist_sync",
|
|
"target": "ios_blocklist_bin",
|
|
"relation": "shares_data_with",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 931",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_blocklist_sync",
|
|
"target": "ios_darwin_notification",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 966",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_blocklist_sync",
|
|
"target": "ios_data_protection_class",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 935",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_webcontent_filter_layer2",
|
|
"target": "ios_gambling_domains_json",
|
|
"relation": "references",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 26",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_vpn_reconcile",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 459",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "ios_on_demand_vpn",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakProtectionModule.swift",
|
|
"source_location": "line 1373",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_bloomfilter_swift",
|
|
"target": "ios_fnv1ahash_swift",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/BloomFilter.swift",
|
|
"source_location": "line 83",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_bloomfilter_swift",
|
|
"target": "ios_murmur3hash_swift",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/BloomFilter.swift",
|
|
"source_location": "line 84",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_urlfilter_control_provider",
|
|
"target": "ios_bloomfilter_swift",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/RebreakURLFilterControlProvider.swift",
|
|
"source_location": "line 57",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_urlfilter_control_provider",
|
|
"target": "ios_bloom_filter_plist",
|
|
"relation": "references",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/RebreakURLFilterControlProvider.swift",
|
|
"source_location": "line 41",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "tools_generatebloomfilter_swift",
|
|
"target": "ios_bloomfilter_swift",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/tools/GenerateBloomFilter.swift",
|
|
"source_location": "line 46",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "tools_generatebloomfilter_swift",
|
|
"target": "ios_bloom_filter_plist",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/tools/GenerateBloomFilter.swift",
|
|
"source_location": "line 48",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_hashlist_packet_tunnel",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 169",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_dnsfilter_packet_tunnel",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 274",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_hashlist_packet_tunnel",
|
|
"target": "ios_domainhasher_packet_tunnel",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/HashList.swift",
|
|
"source_location": "line 141",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_dnsfilter_packet_tunnel",
|
|
"target": "ios_hashlist_packet_tunnel",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/DnsFilter.swift",
|
|
"source_location": "line 98",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_darwin_notification",
|
|
"relation": "references",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 43",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_blocklist_bin",
|
|
"relation": "shares_data_with",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 42",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_dns_cache_flush",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-monorepo/apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 462",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_inflight_cap",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 116",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_virtual_tun_subnet",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 46",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_filterdataprovider_swift",
|
|
"target": "ios_filterdataprovider_hashlistmmap",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakContentFilter/FilterDataProvider.swift",
|
|
"source_location": "line 184",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_filterdataprovider_swift",
|
|
"target": "ios_blocklist_bin",
|
|
"relation": "shares_data_with",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakContentFilter/FilterDataProvider.swift",
|
|
"source_location": "line 69",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_filterdataprovider_swift",
|
|
"target": "ios_darwin_notification",
|
|
"relation": "references",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakContentFilter/FilterDataProvider.swift",
|
|
"source_location": "line 133",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_rebreakVpnService_kt",
|
|
"target": "android_hashlist_kt",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/vpn/RebreakVpnService.kt",
|
|
"source_location": "line 46",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_rebreakVpnService_kt",
|
|
"target": "android_dnsfilter_kt",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/vpn/RebreakVpnService.kt",
|
|
"source_location": "line 14",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_rebreakprotectionmodule_kt",
|
|
"target": "android_rebreakVpnService_kt",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/RebreakProtectionModule.kt",
|
|
"source_location": "line 27",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_dnsfilter_kt",
|
|
"target": "android_hashlist_kt",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/filter/DnsFilter.kt",
|
|
"source_location": "line 76",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_rebreakVpnService_kt",
|
|
"target": "ios_virtual_tun_subnet",
|
|
"relation": "conceptually_related_to",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/vpn/RebreakVpnService.kt",
|
|
"source_location": "line 26",
|
|
"weight": 0.9
|
|
},
|
|
{
|
|
"source": "ios_dnsfilter_packet_tunnel",
|
|
"target": "android_dnsfilter_kt",
|
|
"relation": "semantically_similar_to",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/DnsFilter.swift",
|
|
"source_location": "line 1",
|
|
"weight": 0.95
|
|
},
|
|
{
|
|
"source": "ios_hashlist_packet_tunnel",
|
|
"target": "android_hashlist_kt",
|
|
"relation": "semantically_similar_to",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/HashList.swift",
|
|
"source_location": "line 1",
|
|
"weight": 0.95
|
|
},
|
|
{
|
|
"source": "ios_domainhasher_packet_tunnel",
|
|
"target": "cross_platform_domain_hash_algorithm",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/DomainHasher.swift",
|
|
"source_location": "line 1",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_hashlist_kt",
|
|
"target": "cross_platform_domain_hash_algorithm",
|
|
"relation": "implements",
|
|
"confidence": "INFERRED",
|
|
"confidence_score": 0.95,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/filter/HashList.kt",
|
|
"source_location": "line 91",
|
|
"weight": 0.95
|
|
},
|
|
{
|
|
"source": "ios_hashlist_packet_tunnel",
|
|
"target": "cross_platform_blocklist_format",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/HashList.swift",
|
|
"source_location": "line 5",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_hashlist_kt",
|
|
"target": "cross_platform_blocklist_format",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/filter/HashList.kt",
|
|
"source_location": "line 11",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_hashlist_packet_tunnel",
|
|
"target": "cross_platform_subdomain_match",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/HashList.swift",
|
|
"source_location": "line 137",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "android_hashlist_kt",
|
|
"target": "cross_platform_subdomain_match",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/android/src/main/java/expo/modules/rebreakprotection/filter/HashList.kt",
|
|
"source_location": "line 91",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "android_rebreakVpnService_kt",
|
|
"relation": "semantically_similar_to",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 1",
|
|
"weight": 0.95
|
|
},
|
|
{
|
|
"source": "ios_rebreakprotectionmodule_swift",
|
|
"target": "android_rebreakprotectionmodule_kt",
|
|
"relation": "semantically_similar_to",
|
|
"confidence": "INFERRED",
|
|
"confidence_score": 0.9,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/expo-module.config.json",
|
|
"source_location": null,
|
|
"weight": 0.9
|
|
},
|
|
{
|
|
"source": "ios_filterdataprovider_swift",
|
|
"target": "cross_platform_domain_hash_algorithm",
|
|
"relation": "implements",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakContentFilter/FilterDataProvider.swift",
|
|
"source_location": "line 38",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_urlfilter_control_provider",
|
|
"target": "ios_shared_log_store",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakURLFilterExtension/RebreakURLFilterControlProvider.swift",
|
|
"source_location": "line 26",
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"source": "ios_packettunnelprovider_swift",
|
|
"target": "ios_shared_log_store",
|
|
"relation": "calls",
|
|
"confidence": "EXTRACTED",
|
|
"confidence_score": 1.0,
|
|
"source_file": "apps/rebreak-native/modules/rebreak-protection/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift",
|
|
"source_location": "line 60",
|
|
"weight": 1.0
|
|
}
|
|
],
|
|
"hyperedges": [],
|
|
"input_tokens": 0,
|
|
"output_tokens": 0
|
|
}
|