feat: mobile setup — QR onboarding, Wi-Fi scoped mobileconfig #73

Merged
razvandimescu merged 5 commits from chore/site-updates into main 2026-04-11 03:21:51 +08:00
2 changed files with 15 additions and 3 deletions
Showing only changes of commit 2afb8adc7d - Show all commits

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
CLAUDE.md
docs/
site/blog/posts/
ios/

View File

@@ -144,8 +144,6 @@ fn build_ca_payload(ca_pem: &str) -> String {
}
/// Render the `com.apple.dnsSettings.managed` payload dict for Full mode.
/// Pins the device to Numa as its system resolver over DoT with
/// `ServerName = "numa.numa"` (must match the DoT cert SAN).
fn build_dns_payload(lan_ip: Ipv4Addr) -> String {
format!(
r#" <dict>
@@ -160,8 +158,21 @@ fn build_dns_payload(lan_ip: Ipv4Addr) -> String {
<key>ServerName</key>
<string>numa.numa</string>
</dict>
<key>OnDemandRules</key>
<array>
<dict>
<key>Action</key>
<string>Connect</string>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
</dict>
<dict>
<key>Action</key>
<string>Disconnect</string>
</dict>
</array>
<key>PayloadDescription</key>
<string>Routes all DNS queries through Numa over DNS-over-TLS</string>
<string>Routes DNS queries through Numa over DoT when on Wi-Fi</string>
<key>PayloadDisplayName</key>
<string>Numa DNS-over-TLS</string>
<key>PayloadIdentifier</key>