René's URL Explorer Experiment


Title: Migrate WireGuard engine from wireguard-go to gotatun (Rust) by kasnder · Pull Request #594 · TrackerControl/tracker-control-android · GitHub

Open Graph Title: Migrate WireGuard engine from wireguard-go to gotatun (Rust) by kasnder · Pull Request #594 · TrackerControl/tracker-control-android

X Title: Migrate WireGuard engine from wireguard-go to gotatun (Rust) by kasnder · Pull Request #594 · TrackerControl/tracker-control-android

Description: Summary Replaces the Go wgbridge module (wireguard-go via gomobile) with a new Rust crate wgbridge-rs/ embedding gotatun 0.7.2, Mullvad's WireGuard® implementation, and removes the Go toolchain from the repo and CI entirely. Motivation: tunnel instability when roaming across networks/borders or under long uptime, higher battery drain, and reduced throughput. Mullvad hit the same wall — over 85% of their app crashes originated in wireguard-go, and after shipping gotatun to all Android users their user-perceived crash rate dropped from 0.40% to 0.01% (announcement). What changed wgbridge-rs/ — gotatun with custom transports for TrackerControl's unusual packet path: IpRecv over the socketpair written by the C hijack (ip.c), IpSend to the VpnService TUN fd with the passive DNS inspection ported from dns.go (test vectors included), and a VpnService.protect()-ed UDP factory that fails closed. Hand-written Java bindings in net.kollnig.missioncontrol.wgbridge with the same API shape as the gomobile-generated classes — WgEgress, the profile generators, and key rotation needed no call-site changes. Roaming fixes (the actual user-facing symptom): on network change or a broken-tunnel verdict, the bridge now rebinds the UDP sockets onto the new default network and re-resolves the peer endpoint (bypassing the 5-min cache) via new Tunnel.rebind() / Tunnel.updateEndpoint() — instead of tearing down and re-handshaking. Escalates to a full restart only if the tunnel breaks again within 90s. Build/CI — wgbridgeBuild Gradle task drives cargo-ndk for all four ABIs with 16KB-aligned LOAD segments (Android 15+); CI installs Rust instead of Go and runs cargo test. Contributor and F-Droid prerequisites documented in wgbridge-rs/README.md. Testing cargo test: 16/16 (DNS parser incl. compression pointers and IPv6 extension headers, UAPI config parsing, X25519 keys incl. RFC 7748 vector) ./gradlew testGithubDebugUnitTest: passes, existing connectivity-monitor tests unchanged ./gradlew assembleGithubDebug: APK bundles libwgbridge.so for all four ABIs (~0.8–1.3 MB each, vs the multi-MB Go runtime), zero Go artifacts, 16KB alignment verified with llvm-readelf ⚠️ Not yet done: on-device end-to-end testing (handshake, Wi-Fi↔cellular roaming recovery, DNS answers reaching the tracker mapping, multi-hour uptime) Notes gotatun is pinned to =0.7.2; its transport traits are the pre-1.0 surface most likely to change. gotatun has no direct "send keepalive now" API, so the monitor's prod pulses persistent_keepalive to 1s and restores it; rebind is triggered by a listen-port toggle that forces gotatun's connection re-setup through our protecting socket factory. 🤖 Generated with Claude Code

Open Graph Description: Summary Replaces the Go wgbridge module (wireguard-go via gomobile) with a new Rust crate wgbridge-rs/ embedding gotatun 0.7.2, Mullvad's WireGuard® implementation, and removes the Go toolchain...

X Description: Summary Replaces the Go wgbridge module (wireguard-go via gomobile) with a new Rust crate wgbridge-rs/ embedding gotatun 0.7.2, Mullvad's WireGuard® implementation, and removes the Go toolc...

Opengraph URL: https://github.com/TrackerControl/tracker-control-android/pull/594

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:34c45938-5513-a357-151a-170ec035f120
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE856:1EF1:1A34A8:27CB6F:6A4BE89D
html-safe-nonce0cd95776162a9f70758e450289f6accb4ad6adc36b004b4a263bf15d553082f1
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFODU2OjFFRjE6MUEzNEE4OjI3Q0I2Rjo2QTRCRTg5RCIsInZpc2l0b3JfaWQiOiI2Mzk2Mzk3Mjk5OTU4NTQwNDQ2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac7d35b67d1797c42427e5a67bad2794d855735b89c0602f645cd4ce2c30b0e3c6
hovercard-subject-tagpull_request:3987128877
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/TrackerControl/tracker-control-android/pull/594/files
twitter:imagehttps://avatars.githubusercontent.com/u/5175206?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/5175206?s=400&v=4
og:image:altSummary Replaces the Go wgbridge module (wireguard-go via gomobile) with a new Rust crate wgbridge-rs/ embedding gotatun 0.7.2, Mullvad's WireGuard® implementation, and removes the Go toolchain...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None0f5d3ba365b3985d75c32a5957c8635488d58dcf027ae6ae958eee7edaa306a2
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/TrackerControl/tracker-control-android git https://github.com/TrackerControl/tracker-control-android.git
octolytics-dimension-user_id81009368
octolytics-dimension-user_loginTrackerControl
octolytics-dimension-repository_id220825189
octolytics-dimension-repository_nwoTrackerControl/tracker-control-android
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id220825189
octolytics-dimension-repository_network_root_nwoTrackerControl/tracker-control-android
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef24da9b76b42d77b0bb458f810509565e9ba5f1a
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/TrackerControl/tracker-control-android/pull/594/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FTrackerControl%2Ftracker-control-android%2Fpull%2F594%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FTrackerControl%2Ftracker-control-android%2Fpull%2F594%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=TrackerControl%2Ftracker-control-android
Reloadhttps://github.com/TrackerControl/tracker-control-android/pull/594/files
Reloadhttps://github.com/TrackerControl/tracker-control-android/pull/594/files
Reloadhttps://github.com/TrackerControl/tracker-control-android/pull/594/files
Please reload this pagehttps://github.com/TrackerControl/tracker-control-android/pull/594/files
TrackerControl https://github.com/TrackerControl
tracker-control-androidhttps://github.com/TrackerControl/tracker-control-android
Notifications https://github.com/login?return_to=%2FTrackerControl%2Ftracker-control-android
Fork 123 https://github.com/login?return_to=%2FTrackerControl%2Ftracker-control-android
Star 2.5k https://github.com/login?return_to=%2FTrackerControl%2Ftracker-control-android
Code https://github.com/TrackerControl/tracker-control-android
Issues 134 https://github.com/TrackerControl/tracker-control-android/issues
Pull requests 9 https://github.com/TrackerControl/tracker-control-android/pulls
Discussions https://github.com/TrackerControl/tracker-control-android/discussions
Actions https://github.com/TrackerControl/tracker-control-android/actions
Security and quality 0 https://github.com/TrackerControl/tracker-control-android/security
Insights https://github.com/TrackerControl/tracker-control-android/pulse
Code https://github.com/TrackerControl/tracker-control-android
Issues https://github.com/TrackerControl/tracker-control-android/issues
Pull requests https://github.com/TrackerControl/tracker-control-android/pulls
Discussions https://github.com/TrackerControl/tracker-control-android/discussions
Actions https://github.com/TrackerControl/tracker-control-android/actions
Security and quality https://github.com/TrackerControl/tracker-control-android/security
Insights https://github.com/TrackerControl/tracker-control-android/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FTrackerControl%2Ftracker-control-android%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FTrackerControl%2Ftracker-control-android%2Fissues%2Fnew%2Fchoose
kasnderhttps://github.com/kasnder
masterhttps://github.com/TrackerControl/tracker-control-android/tree/master
gotatun-migrationhttps://github.com/TrackerControl/tracker-control-android/tree/gotatun-migration
Conversation 0 https://github.com/TrackerControl/tracker-control-android/pull/594
Commits 6 https://github.com/TrackerControl/tracker-control-android/pull/594/commits
Checks 1 https://github.com/TrackerControl/tracker-control-android/pull/594/checks
Files changed https://github.com/TrackerControl/tracker-control-android/pull/594/files
Please reload this pagehttps://github.com/TrackerControl/tracker-control-android/pull/594/files
Migrate WireGuard engine from wireguard-go to gotatun (Rust) https://github.com/TrackerControl/tracker-control-android/pull/594/files#top
Show all changes 6 commits https://github.com/TrackerControl/tracker-control-android/pull/594/files
e5e8f9f Migrate WireGuard engine from wireguard-go to gotatun (Rust) kasnder Jul 3, 2026 https://github.com/TrackerControl/tracker-control-android/pull/594/commits/e5e8f9ff2c2bc33e92829bcfe19109f8ddf2f90c
4369fc0 Fix WireGuard recovery restart kasnder Jul 3, 2026 https://github.com/TrackerControl/tracker-control-android/pull/594/commits/4369fc03ba087bcc1272ff54cf2f3d0660197586
5822f9d Fix WireGuard connectivity monitor prodding kasnder Jul 3, 2026 https://github.com/TrackerControl/tracker-control-android/pull/594/commits/5822f9dc0b4a626bb2aefae3223a96508f5cb925
0e37bb6 Defer WireGuard recovery notification kasnder Jul 3, 2026 https://github.com/TrackerControl/tracker-control-android/pull/594/commits/0e37bb66ce27a695e3b92a32c9f40ef9ef4de124
664cd9f Treat fresh WireGuard handshakes as live kasnder Jul 3, 2026 https://github.com/TrackerControl/tracker-control-android/pull/594/commits/664cd9fe952d2b5581a63af0c42481950fa7b443
370ea8c Harden WireGuard recovery and fail-closed behaviour kasnder Jul 3, 2026 https://github.com/TrackerControl/tracker-control-android/pull/594/commits/370ea8c2bc0a530d9030c3f20ece0eec7af34753
Clear filters https://github.com/TrackerControl/tracker-control-android/pull/594/files
Please reload this pagehttps://github.com/TrackerControl/tracker-control-android/pull/594/files
Please reload this pagehttps://github.com/TrackerControl/tracker-control-android/pull/594/files
test.yml https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-faff1af3d8ff408964a57b2e475f69a6b7c7b71c9978cccc8f471798caac2c88
.gitignore https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
README.md https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
build.gradle https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
proguard-rules.pro https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-24fc40bbf6fe503c74604e0477ff8f55aeab48cb521e1a844b9efa6c3771c15e
ServiceSinkhole.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
WgConfig.kt https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-d6609895e2aaf477d39651845f7756829e1f03adf79d0cc89c8fb167e21a373b
WgConnectivityMonitor.kt https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-2710fa68ab33f8f35e247eb9b1d0f12f12ca12378a5f221b6f5ba84252c8e808
WgEgress.kt https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-ce6145c16f10772cc1e3d3dac49a20f9c149be5ec834ae87a396103c3892fdbc
DnsRecorder.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-768ca7812004c7e4d53c510beb23cfb7830c3d4a21b23f0a3257636431fde4f6
Logger.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-5b870461ccb0e955c48b162426bc1559e90365067ff8d723dec4803d3b0a90c8
Protector.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-47a13de05b6d91374195a02db11a26ff7e58a308ddaaf9a5d0080657dd5668c0
Tunnel.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-a7cd7ca656d9d1be5890119b84bfa3f25aee778dc509badbf2f7654a6b033116
TunnelStats.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-163db1adb88ee9808ff3a04623c6df629735c5299c27ec50a24dd22073414c47
Wgbridge.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-06e35d4ce68ca69bf82bf17860f8a030460135b78daf4834dc693d20d20bc3d4
ip.c https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-15547c54714aa00a02883409129ccb219f546409f7de2afd3494f78c1e945d2a
netguard.c https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-62769d4ab6640775a4f4b0d97de175ecc8c78503d8f33f69bca394a942c426ca
strings.xml https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103
WgConnectivityCheckerTest.kt https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-723118f6f734dbb60a7593e88306e74afef4972b2f56a385a78b7aec8c433ed6
WgEgressRecoveryTest.java https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-abaa492eb48a577d2c3f7154a81c439e8055eeaa9c5d59471b802dd3d58a163d
Cargo.lock https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-75d7555b137b9219ce25af7a9ce04231aeac8fe5eb8be57d9109410f2b139568
Cargo.toml https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b81423cf44b98187388a92a42314b2a964a2e2757d3c0b34e6c3f0d8e9dc68e5
README.md https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-d89fdb9b0863ea5b6302a927b61ffc8d8a2198ce2689eb3a3a459de2a7b80f58
callbacks.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-739a2475af157459929bb19c2058b9f805f710494ce962a51ebc23c34b766723
config.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-31fed17dc8f681c1a79ab956e782ff00f735a7118aca53bfc20ed0b9d1922168
dns.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-2fb56724194e7d44cd5bf6f8407a6a016f6838d54a1ee18ac250292680ae7c61
jni_bindings.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-8c54d50fd7e2f2e403d81c56e0ddae818fdc56b3ef5592444879b44f26d6df2d
keys.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-a24ba1b7d31c084f9c7612e1bf076cbc99c2715503bb63630508fbe65066bbe8
lib.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-faf2608c1241fe1068f9185c1b9a6fed4362f71d29236537f082a067073cd40c
ip_recv.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-d6764134caf2e78b45ed0b5bc3eb07a7c8d8dea51ab893e19285bdc16a2aa815
ip_send.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-f4cf524b8a6892c1334f34f77df3f3b4fe58406264a560abfeafb9fbaac263cc
mod.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-f3b6dceefe2df17e9e444efca83bf5650b822a2772d487bfdc8bc9aaf67d31aa
udp.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-e0311b4928229dfe49fc85a6cc9890f5624ceab0ec307ba00e46472bac56e3f0
tunnel.rs https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-feabc4f126966a4f05182008a444e857437388bfff020f2aaed8ff71935b9e34
README.md https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-809f54a1aa71668a63099158250eeafe5bccf995def03d150a170e33bcc0c0bc
bridge.go https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-8d137df093a9ff4d2cbe420aba9e9fe98db4e781e14b130aa6b812d2a2184862
dns.go https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-7b43a56d9d0da5e6bd8b5906de278e532522ec79901e6bb4d1ad1075bfc569cd
dns_test.go https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b4e300e2f784b0eb8fe0f8683b87b32c1206d64cbf9d80177affaf798d3d4743
go.mod https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-5e82a95b4875ffe05548857cff42ed01227e26672371db3552282d6c6307a37a
go.sum https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-156e8314539f26f7ddb151cdc4a8d71de41c4cf1880523bbc0258ba233bfebe6
gomobile_tools.go https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-61b3c995204467e050c508c546bcc38f18b677e9ea6d85c4145ba50f1110503f
.github/workflows/test.ymlhttps://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-faff1af3d8ff408964a57b2e475f69a6b7c7b71c9978cccc8f471798caac2c88
View file https://github.com/TrackerControl/tracker-control-android/blob/370ea8c2bc0a530d9030c3f20ece0eec7af34753/.github/workflows/test.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/TrackerControl/tracker-control-android/pull/594/{{ revealButtonHref }}
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-faff1af3d8ff408964a57b2e475f69a6b7c7b71c9978cccc8f471798caac2c88
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-faff1af3d8ff408964a57b2e475f69a6b7c7b71c9978cccc8f471798caac2c88
.gitignorehttps://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
View file https://github.com/TrackerControl/tracker-control-android/blob/370ea8c2bc0a530d9030c3f20ece0eec7af34753/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/TrackerControl/tracker-control-android/pull/594/{{ revealButtonHref }}
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
README.mdhttps://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
View file https://github.com/TrackerControl/tracker-control-android/blob/370ea8c2bc0a530d9030c3f20ece0eec7af34753/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/TrackerControl/tracker-control-android/pull/594/{{ revealButtonHref }}
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
app/build.gradlehttps://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
View file https://github.com/TrackerControl/tracker-control-android/blob/370ea8c2bc0a530d9030c3f20ece0eec7af34753/app/build.gradle
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/TrackerControl/tracker-control-android/pull/594/{{ revealButtonHref }}
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9
app/proguard-rules.prohttps://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-24fc40bbf6fe503c74604e0477ff8f55aeab48cb521e1a844b9efa6c3771c15e
View file https://github.com/TrackerControl/tracker-control-android/blob/370ea8c2bc0a530d9030c3f20ece0eec7af34753/app/proguard-rules.pro
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/TrackerControl/tracker-control-android/pull/594/{{ revealButtonHref }}
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-24fc40bbf6fe503c74604e0477ff8f55aeab48cb521e1a844b9efa6c3771c15e
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-24fc40bbf6fe503c74604e0477ff8f55aeab48cb521e1a844b9efa6c3771c15e
app/src/main/java/eu/faircode/netguard/ServiceSinkhole.javahttps://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
View file https://github.com/TrackerControl/tracker-control-android/blob/370ea8c2bc0a530d9030c3f20ece0eec7af34753/app/src/main/java/eu/faircode/netguard/ServiceSinkhole.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/TrackerControl/tracker-control-android/pull/594/{{ revealButtonHref }}
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-9aa064d2e548d77350bd67537cc434dcd9dec48ec06a98208813c84fdf9de566
app/src/main/java/net/kollnig/missioncontrol/wg/WgConfig.kthttps://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-d6609895e2aaf477d39651845f7756829e1f03adf79d0cc89c8fb167e21a373b
View file https://github.com/TrackerControl/tracker-control-android/blob/370ea8c2bc0a530d9030c3f20ece0eec7af34753/app/src/main/java/net/kollnig/missioncontrol/wg/WgConfig.kt
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/TrackerControl/tracker-control-android/pull/594/{{ revealButtonHref }}
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-d6609895e2aaf477d39651845f7756829e1f03adf79d0cc89c8fb167e21a373b
https://github.com/TrackerControl/tracker-control-android/pull/594/files#diff-d6609895e2aaf477d39651845f7756829e1f03adf79d0cc89c8fb167e21a373b
Please reload this pagehttps://github.com/TrackerControl/tracker-control-android/pull/594/files
Please reload this pagehttps://github.com/TrackerControl/tracker-control-android/pull/594/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.