diff options
Diffstat (limited to 'assets')
21 files changed, 207 insertions, 111 deletions
diff --git a/assets/2026-06-19-collapsible-waybar-sides-spec.org b/assets/2026-06-19-collapsible-waybar-sides-spec.org index b9ddc0d..a80d755 100644 --- a/assets/2026-06-19-collapsible-waybar-sides-spec.org +++ b/assets/2026-06-19-collapsible-waybar-sides-spec.org @@ -1,5 +1,5 @@ #+TITLE: Collapsible waybar sides — implementation spec -#+AUTHOR: Craig Jennings & Claude +#+AUTHOR: Craig Jennings #+DATE: 2026-06-19 * Goal diff --git a/assets/2026-07-03-instrument-console-panels-build-summary.org b/assets/2026-07-03-instrument-console-panels-build-summary.org new file mode 100644 index 0000000..6e975bf --- /dev/null +++ b/assets/2026-07-03-instrument-console-panels-build-summary.org @@ -0,0 +1,106 @@ +#+TITLE: Instrument-Console Panel Rebuild — Build Summary +#+DATE: 2026-07-03 +#+AUTHOR: Craig Jennings +Findings summary for the no-approvals speedrun that rebuilt the net and +bluetooth waybar panels as single-screen instrument consoles. Spec: +[[file:../docs/specs/2026-07-03-instrument-console-panels-spec.org][2026-07-03-instrument-console-panels-spec.org]] (ID e73877f5, IMPLEMENTED). +Normative design: [[file:../docs/prototypes/2026-07-03-instrument-console-panels-prototype.html][docs/prototypes/2026-07-03-instrument-console-panels-prototype.html]] +(Craig approved through five prototype iterations). + +* What shipped + +Both panels went from a tabbed Blueprint UI (Connections / Diagnostics / +Performance style tabs) to one always-visible instrument console: a faceplate +with a state lamp and word, engraved section labels, scrolled lamp rows for +the live entities, a row of console keys, cairo dial meters, and an output +well that streams diagnostics in place. No terminals, no tabs. + +Six phases, each committed and pushed on landing: + +| Phase | Commit (dotfiles) | What landed | +|-------+----------------------+-------------------------------------------------| +| 1 | (spec + task wiring) | Spec authored, parent task wired with :SPEC_ID: | +|-------+----------------------+-------------------------------------------------| +| 2 | 81ec9c3 | Net GTK-free presenter layer + engine verbs | +| | | (52 new tests) | +|-------+----------------------+-------------------------------------------------| +| 3+4 | 800ef60 | Net view rebuilt as the console + all | +| | | interactions wired | +|-------+----------------------+-------------------------------------------------| +| 5a | 5318b34 | Bt GTK-free layer + engine gaps (47 new tests) | +|-------+----------------------+-------------------------------------------------| +| 5b | 66f03d9 | Bt view rebuilt as the console + all | +| | | interactions wired | +|-------+----------------------+-------------------------------------------------| +| 6 | f4e688e | Dead-code removal, build close-out | +|-------+----------------------+-------------------------------------------------| + +* Engine gaps closed + +The console needed capabilities the tabbed panels never had: + +- Net: =manage.wifi_radio= (nmcli radio wifi on/off), =manage.device_up= + (ethernet takes the route), =sysio.link_speed_mbps= (/sys wired speed), + =connections.ethernet_devices=, and a hidden-SSID flag on =manage.add=. +- Bt: =btctl.set_alias= renames a device through the bluez D-Bus Alias via + busctl (there is no MAC-addressed one-shot for set-alias, so =device_path= + discovers the controller node from the object tree), =manage.rename= wraps + it with a verify-after read, =parse_info= reads the Alias as the display + name, and =doctor= grew =on_report= / =on_begin= callbacks so its checks and + repairs stream into the output well. + +* Tests added + +- Phase 2: 52 new net presenter tests (581 net total at the time). +- Phase 5a: 47 new bt console tests. +- Both panels' AT-SPI smokes rewritten to drive the single-screen console and + anchor on stable engraved labels + the panel-unique console key (net DOCTOR, + bt SCAN) rather than the flaky count labels. +- Full suite through phase 6: 46 suites, zero failures. + +* Live-verify results (velox, 2026-07-03) + +- =make test=: 46 suites green, zero FAILED/ERROR. +- =make test-panel= (net): green end to end — faceplate NET·01 / ONLINE, one + Close, DOCTOR + SPEED TEST keys, engraved CHANNEL/CONSOLE/NETWORKS/TUNNELS, + live route line, tunnel rows (tailscale + 7 WireGuard NM), DOCTOR streamed + real diagnose steps, output-well dismiss, panel closed on Close. +- =make test-panel-bt= (bt): green end to end — faceplate BT·01 / POWERED, one + Close, adapter-power switch, DOCTOR + SCAN keys, engraved + ADAPTER/CONSOLE/NEARBY/PAIRED, discoverable chip, battery gauge slots, DOCTOR + streamed real checks, output-well dismiss, panel closed on Close. +- Both =gui.py= files are byte-identical to their screenshot-verified commits + (net 800ef60, bt 66f03d9), so the phase-3/4/5 screenshots (render matching + the prototype) still stand — phase 6 touched no view code. + +* Phase-6 dead code removed (dotfiles f4e688e) + +The console builds its widget tree in Python, so the old Gtk.Template page +classes and Blueprint sources had no caller: + +- =net/src/net/pages.py=, =bluetooth/src/bt/pages.py= +- both panels' =ui/= dirs (=window_content=, =diagnostics_page=, + =connections_page= / =devices_page= — the =.blp= sources and compiled =.ui=) +- the =make ui= Blueprint-compile target and its =.PHONY= entry (no =.blp= + files remain to compile) +- a stale =gui.py / pages.py= mention in the bt =viewmodel.py= docstring + +Confirmed nothing imported the removed modules before deleting; 46 suites and +both smokes stayed green after. + +* Folded tasks closed with this build + +- Network panel redesign — no terminals, verify-everything, full failure + coverage (its failure-mode catalog stays as the standing diagnose/repair + completeness reference). +- Bluetooth panel: switch placement + panel title. +- Bluetooth panel: rename devices. + +* Deferrals + +Interactions that mutate Craig's real bluetooth state can't be auto-driven — +they need a human at the keyboard with real devices. Filed as a manual-test +checklist under "Manual testing and validation" in todo.org: pair-passkey +flow, rename a real device, connect/disconnect, forget, discoverable toggle, +power toggle, and the LOW BATT badge with a real sub-15% device. Net's +in-panel speedtest and timer-dialog manual tests were already pending there. diff --git a/assets/outbox/2025-11-08-keyring-fix-next-steps.org b/assets/outbox/2025-11-08-keyring-fix-next-steps.org index e478ac3..c378335 100644 --- a/assets/outbox/2025-11-08-keyring-fix-next-steps.org +++ b/assets/outbox/2025-11-08-keyring-fix-next-steps.org @@ -1,7 +1,6 @@ #+TITLE: GNOME Keyring Authentication Fix - Next Steps #+DATE: 2025-11-08 -#+AUTHOR: Craig Jennings & Claude - +#+AUTHOR: Craig Jennings * URGENT: Complete Keyring Fix on Next Login ** What Was Done diff --git a/assets/outbox/2025-11-08-test-failure-analysis.org b/assets/outbox/2025-11-08-test-failure-analysis.org index 56453c3..93377f3 100644 --- a/assets/outbox/2025-11-08-test-failure-analysis.org +++ b/assets/outbox/2025-11-08-test-failure-analysis.org @@ -1,5 +1,5 @@ #+TITLE: Test Failure Analysis - VM Test Run 20251108-204202 -#+AUTHOR: Craig Jennings & Claude +#+AUTHOR: Craig Jennings #+DATE: 2025-11-08 * Test Overview diff --git a/assets/outbox/2026-07-01-2143-from-rulesets-archsetup-tooling-note.txt b/assets/outbox/2026-07-01-2143-from-rulesets-archsetup-tooling-note.txt new file mode 100644 index 0000000..6f62d17 --- /dev/null +++ b/assets/outbox/2026-07-01-2143-from-rulesets-archsetup-tooling-note.txt @@ -0,0 +1,5 @@ +Security check from rulesets — action needed: your CLAUDE.md is tracked. + +Same broadcast as the tooling-check note also in your inbox, plus a project-specific finding: archsetup is gitignore-mode (anchored /.ai/ style) but CLAUDE.md is currently TRACKED in git. The fixed sweep just added /CLAUDE.md and /AGENTS.md to your .gitignore, but an ignore line never untracks an already-tracked file. + +Action: git rm --cached CLAUDE.md (keeps the file on disk), then commit. Your only remote is private cjennings.net, so no public exposure is known — but verify with Craig that the bare repo carries no mirror hook, since .emacs.d's exposure rode exactly that. diff --git a/assets/outbox/2026-07-01-2143-from-rulesets-broadcast-tooling-check.txt b/assets/outbox/2026-07-01-2143-from-rulesets-broadcast-tooling-check.txt new file mode 100644 index 0000000..7b10753 --- /dev/null +++ b/assets/outbox/2026-07-01-2143-from-rulesets-broadcast-tooling-check.txt @@ -0,0 +1,12 @@ +Security check request from rulesets: tracked tooling vs public reachability. + +Background: .emacs.d found its entire tooling layer (CLAUDE.md + .claude/ — 22 files, including rules with personal data) tracked in git and mirrored to PUBLIC GitHub by a server-side post-receive hook on its cjennings.net bare repo. The mirror was invisible from the client; the history is now scrubbed. The sweep script that should have caught it silently skipped any project using the anchored /.ai/ gitignore style — that bug is fixed as of rulesets 909b21b. + +Action for this project's next session: +1. Check whether .ai/, .claude/, CLAUDE.md, or AGENTS.md is tracked: git ls-files .ai .claude CLAUDE.md AGENTS.md +2. Check reachability: git remote -v. A non-cjennings.net remote with tracked tooling is an exposure — gitignore the set, git rm --cached the paths (files stay on disk), and consider a history scrub (see .emacs.d's 2026-06-30 filter-repo precedent). +3. Even with only a cjennings.net remote, a server-side mirror hook can republish invisibly. If this project might be mirrored, ask Craig to check the bare repo's hooks/ on the server. + +Convention update (protocols.org): any repo whose remotes include a non-cjennings.net host gitignores the tooling set; a deliberate, explicitly-decided team-shared config is the only exception. Track-mode on the private server (history-is-the-project repos) is unchanged. + +The fixed sweep has already backfilled missing ignore lines across gitignore-mode projects (2026-07-01 run). No reply needed unless you find tracked tooling with public reach. diff --git a/assets/outbox/2026-07-01-2144-from-rulesets-accepted-your-spec-review-ui-traps.org b/assets/outbox/2026-07-01-2144-from-rulesets-accepted-your-spec-review-ui-traps.org new file mode 100644 index 0000000..055e635 --- /dev/null +++ b/assets/outbox/2026-07-01-2144-from-rulesets-accepted-your-spec-review-ui-traps.org @@ -0,0 +1,5 @@ +#+TITLE: Accepted: your spec-review UI-traps checklist is promoted in +#+SOURCE: from rulesets +#+DATE: 2026-07-01 21:44:52 -0400 + +Accepted: your spec-review UI-traps checklist is promoted into the canonical spec-review.org (rulesets 9814b94). It landed as a conditional Phase 4 dimension — 'Operational-panel UI traps', applied when a spec covers a user-facing panel/dialog/control surface, skipped otherwise — with all six checks and a provenance note crediting the 2026-06-30 Waybar network-panel review. Every project picks it up on its next startup sync; you can drop your local copy's divergence next time it syncs. diff --git a/assets/outbox/2026-07-02-0131-from-rulesets-your-roam-routed-handoff-2026-07-02.org b/assets/outbox/2026-07-02-0131-from-rulesets-your-roam-routed-handoff-2026-07-02.org new file mode 100644 index 0000000..3ead015 --- /dev/null +++ b/assets/outbox/2026-07-02-0131-from-rulesets-your-roam-routed-handoff-2026-07-02.org @@ -0,0 +1,5 @@ +#+TITLE: Your roam-routed handoff (2026-07-02 0110) is processed: ite +#+SOURCE: from rulesets +#+DATE: 2026-07-02 01:31:58 -0400 + +Your roam-routed handoff (2026-07-02 0110) is processed: item 1 (template pull with gitignored-only changes) filed as a [#C] feature task in rulesets todo.org; item 2 (ai-term colors) forwarded to .emacs.d — ai-term is its module; item 3 (wrap-it-up summary keep-or-cut) filed as a [#C] task for a think-through with Craig — the teardown-by-default half already shipped 2026-07-01. diff --git a/assets/outbox/2026-07-02-0136-from-rulesets-auto-flush-is-canonicalized-self-inject.org b/assets/outbox/2026-07-02-0136-from-rulesets-auto-flush-is-canonicalized-self-inject.org new file mode 100644 index 0000000..675d73b --- /dev/null +++ b/assets/outbox/2026-07-02-0136-from-rulesets-auto-flush-is-canonicalized-self-inject.org @@ -0,0 +1,5 @@ +#+TITLE: Auto-flush is canonicalized: self-inject.sh now lives in the +#+SOURCE: from rulesets +#+DATE: 2026-07-02 01:36:19 -0400 + +Auto-flush is canonicalized: self-inject.sh now lives in the synced .ai/scripts/ (6-test bats suite, tmux stubbed at the boundary), the flush skill gained an auto mode (checkpoint gate unchanged, then derive-pane-first + tmux run-shell -b arm + end-turn, your two gotchas documented), and work-the-backlog.org (the speedrun's home) auto-flushes between tasks when context grows heavy. Your design note is preserved at rulesets docs/design/2026-07-02-auto-flush-mechanism-note.org. Every project gets the script on its next template sync. diff --git a/assets/outbox/2026-07-02-0555-from-rulesets-both-your-0543-handoffs-are-shipped.org b/assets/outbox/2026-07-02-0555-from-rulesets-both-your-0543-handoffs-are-shipped.org new file mode 100644 index 0000000..f5aac52 --- /dev/null +++ b/assets/outbox/2026-07-02-0555-from-rulesets-both-your-0543-handoffs-are-shipped.org @@ -0,0 +1,5 @@ +#+TITLE: Both your 0543 handoffs are shipped. inbox-send now never ov +#+SOURCE: from rulesets +#+DATE: 2026-07-02 05:55:34 -0400 + +Both your 0543 handoffs are shipped. inbox-send now never overwrites: a colliding filename gets a -2/-3 stem suffix (4 new tests reproduce your lost-message case, 30/30 green — thanks for the wild find). Pages are info-level now: page-me.org and the work-the-backlog end-of-set page use notify info --persist instead of alarm, per Craig's too-alarming verdict. The dupre-blue color item went to .emacs.d with the hex reference — ai-term owns instance colors. diff --git a/assets/outbox/2026-07-03-lint-followups-todo-properties-drawers.org b/assets/outbox/2026-07-03-lint-followups-todo-properties-drawers.org new file mode 100644 index 0000000..bdca099 --- /dev/null +++ b/assets/outbox/2026-07-03-lint-followups-todo-properties-drawers.org @@ -0,0 +1,4 @@ +* lint-org follow-ups — todo.org (2026-07-03) +** TODO obsolete-properties-drawer — Incorrect contents for PROPERTIES drawer (line 1317) +** TODO obsolete-properties-drawer — Incorrect contents for PROPERTIES drawer (line 1292) +** TODO obsolete-properties-drawer — Incorrect contents for PROPERTIES drawer (line 1202) diff --git a/assets/wireguard-config/USCALA.conf b/assets/wireguard-config/USCALA.conf deleted file mode 100644 index 7d902d4..0000000 --- a/assets/wireguard-config/USCALA.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Interface] -# Bouncing = 8 -# NetShield = 1 -# Moderate NAT = on -# NAT-PMP (Port Forwarding) = off -# VPN Accelerator = on -PrivateKey = aDhBPBlyRGAtWz2eaP6mPmEC5e6uNJj/YFleWACZdEk= -Address = 10.2.0.2/32 -DNS = 10.2.0.1 - -[Peer] -# US-CA#187 -PublicKey = fXtINk5LcWvNoCxNwx9WkmHieyyw+zIcLiiRM6eyECc= -AllowedIPs = 0.0.0.0/0 -Endpoint = 146.70.174.162:51820
\ No newline at end of file diff --git a/assets/wireguard-config/USCASF.conf b/assets/wireguard-config/USCASF.conf deleted file mode 100644 index 7948ae4..0000000 --- a/assets/wireguard-config/USCASF.conf +++ /dev/null @@ -1,16 +0,0 @@ -[Interface] -# Key for velox -# Bouncing = 26 -# NetShield = 1 -# Moderate NAT = on -# NAT-PMP (Port Forwarding) = off -# VPN Accelerator = on -PrivateKey = 4Al9epK8qlWSiASFx1D8YPtqaqdUKUA6SRQhfhmL81g= -Address = 10.2.0.2/32 -DNS = 10.2.0.1 - -[Peer] -# US-CA#75 -PublicKey = xRu4XSIeCCNh4wQqit2w0PwAqzAs7JVA4zQqxGOhSSY= -AllowedIPs = 0.0.0.0/0 -Endpoint = 79.127.185.222:51820
\ No newline at end of file diff --git a/assets/wireguard-config/USDC.conf b/assets/wireguard-config/USDC.conf deleted file mode 100644 index 62ede76..0000000 --- a/assets/wireguard-config/USDC.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Interface] -# Bouncing = 1 -# NetShield = 1 -# Moderate NAT = on -# NAT-PMP (Port Forwarding) = off -# VPN Accelerator = on -PrivateKey = ODgff/xOftY7+v64+J9vPs9C2ZK83xepaM9+OdJUong= -Address = 10.2.0.2/32 -DNS = 10.2.0.1 - -[Peer] -# US-DC#29 -PublicKey = 3Lz5VpqnS7wfnOWVYFNCFHl+JuuanJ/hB2TqOKQZxVI= -AllowedIPs = 0.0.0.0/0 -Endpoint = 185.247.68.50:51820
\ No newline at end of file diff --git a/assets/wireguard-config/USGAAT.conf b/assets/wireguard-config/USGAAT.conf deleted file mode 100644 index b4cfc7d..0000000 --- a/assets/wireguard-config/USGAAT.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Interface] -# Bouncing = 0 -# NetShield = 1 -# Moderate NAT = on -# NAT-PMP (Port Forwarding) = off -# VPN Accelerator = on -PrivateKey = gMms305eLQY1Q/GTC1/nTffFh9ou4tIVzpQuWo0P6XU= -Address = 10.2.0.2/32 -DNS = 10.2.0.1 - -[Peer] -# US-GA#319 -PublicKey = vrQlzOff8/CWCDVaesXMZLfQaOE4qrdY2BJUjWeRHyA= -AllowedIPs = 0.0.0.0/0 -Endpoint = 149.22.94.113:51820
\ No newline at end of file diff --git a/assets/wireguard-config/USNY.conf b/assets/wireguard-config/USNY.conf deleted file mode 100644 index ddf43a6..0000000 --- a/assets/wireguard-config/USNY.conf +++ /dev/null @@ -1,16 +0,0 @@ -[Interface] -# Key for New York -# Bouncing = 8 -# NetShield = 1 -# Moderate NAT = off -# NAT-PMP (Port Forwarding) = off -# VPN Accelerator = on -PrivateKey = APAkVGvrTIXjgSCy9fUM7q4B9Fgj4M8PVbakpVEQQnE= -Address = 10.2.0.2/32 -DNS = 10.2.0.1 - -[Peer] -# US-NY#524 -PublicKey = 8NeySGpnCMtwtgwVARpoCNonu9qxQxrE6hFztMcMDkA= -AllowedIPs = 0.0.0.0/0 -Endpoint = 146.70.72.130:51820
\ No newline at end of file diff --git a/assets/wireguard-config/switzerlan-zurich1.conf b/assets/wireguard-config/switzerlan-zurich1.conf deleted file mode 100644 index 4d7908e..0000000 --- a/assets/wireguard-config/switzerlan-zurich1.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Interface] -# Bouncing = 18 -# NetShield = 1 -# Moderate NAT = off -# NAT-PMP (Port Forwarding) = off -# VPN Accelerator = on -PrivateKey = CJSPw7zcMMBDJbQDYlwFvdVcXvvsGns592PiDHmhTks= -Address = 10.2.0.2/32 -DNS = 10.2.0.1 - -[Peer] -# CH#185 -PublicKey = XPVCz7LndzqWe7y3+WSo51hvNOX8nX5CTwVTWhzg8g8= -AllowedIPs = 0.0.0.0/0 -Endpoint = 149.88.27.234:51820
\ No newline at end of file diff --git a/assets/wireguard-config/switzerlan-zurich2.conf b/assets/wireguard-config/switzerlan-zurich2.conf deleted file mode 100644 index c2d390f..0000000 --- a/assets/wireguard-config/switzerlan-zurich2.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Interface] -# Bouncing = 10 -# NetShield = 1 -# Moderate NAT = off -# NAT-PMP (Port Forwarding) = off -# VPN Accelerator = on -PrivateKey = ACCwCDY+Y+RlSH2dSt+IumCBYAo5Sk4an9eXZKt8jEE= -Address = 10.2.0.2/32 -DNS = 10.2.0.1 - -[Peer] -# CH#177 -PublicKey = XPVCz7LndzqWe7y3+WSo51hvNOX8nX5CTwVTWhzg8g8= -AllowedIPs = 0.0.0.0/0 -Endpoint = 149.88.27.234:51820
\ No newline at end of file diff --git a/assets/wireguard-config/wg-NL-781.conf b/assets/wireguard-config/wg-NL-781.conf new file mode 100644 index 0000000..bc6696d --- /dev/null +++ b/assets/wireguard-config/wg-NL-781.conf @@ -0,0 +1,19 @@ +[Interface] +# Bouncing = 15 +# NetShield = 0 +# Moderate NAT = off +# NAT-PMP (Port Forwarding) = off +# VPN Accelerator = on +PrivateKey = OOJnyB7Mtr6DIZ+NTv6y3Qv8kV/urmfB8efw/mEEoEA= +Address = 10.2.0.2/32, 2a07:b944::2:2/128 +DNS = 10.2.0.1, 2a07:b944::2:1 + +[Peer] +# NL#781 +PublicKey = lqb+ofGYNsfYfvGBefHDrYR6BdDrgoY6QwN4QF//gwc= +AllowedIPs = 0.0.0.0/0, ::/0 +Endpoint = 169.150.196.131:51820 + +# Uncomment the following line (delete the # symbol) to connect to Proton VPN using IPv6. +# Endpoint = [2a02:6ea0:c041:6654::10]:51820 +PersistentKeepalive = 25
\ No newline at end of file diff --git a/assets/wireguard-config/wg-US-CA-144.conf b/assets/wireguard-config/wg-US-CA-144.conf new file mode 100644 index 0000000..9de4f10 --- /dev/null +++ b/assets/wireguard-config/wg-US-CA-144.conf @@ -0,0 +1,19 @@ +[Interface] +# Bouncing = 1 +# NetShield = 0 +# Moderate NAT = off +# NAT-PMP (Port Forwarding) = off +# VPN Accelerator = on +PrivateKey = sIdZ8nXgMTczLC+QKF8pHEVwEP6CgPAYyCuZ9VWAGlk= +Address = 10.2.0.2/32, 2a07:b944::2:2/128 +DNS = 10.2.0.1, 2a07:b944::2:1 + +[Peer] +# US-CA#144 +PublicKey = WLIgAxtnNNGoiPqZLeQ398sBR3Kubzzf52zcpP6Is3c= +AllowedIPs = 0.0.0.0/0, ::/0 +Endpoint = 89.45.4.2:51820 + +# Uncomment the following line (delete the # symbol) to connect to Proton VPN using IPv6. +# Endpoint = [2a0d:5600:8:109::10]:51820 +PersistentKeepalive = 25
\ No newline at end of file diff --git a/assets/wireguard-config/wg-US-TX-714.conf b/assets/wireguard-config/wg-US-TX-714.conf new file mode 100644 index 0000000..f37c96d --- /dev/null +++ b/assets/wireguard-config/wg-US-TX-714.conf @@ -0,0 +1,19 @@ +[Interface] +# Bouncing = 6 +# NetShield = 0 +# Moderate NAT = off +# NAT-PMP (Port Forwarding) = off +# VPN Accelerator = on +PrivateKey = aNotkjCHmfWQoaEYm9GjVaxW8d3VN8b47NOxWnav3FU= +Address = 10.2.0.2/32, 2a07:b944::2:2/128 +DNS = 10.2.0.1, 2a07:b944::2:1 + +[Peer] +# US-TX#714 +PublicKey = OlXK5sTOUzxjTnzBAH3uIEvl3IuiUL1DKTKurQYddRc= +AllowedIPs = 0.0.0.0/0, ::/0 +Endpoint = 79.127.183.238:51820 + +# Uncomment the following line (delete the # symbol) to connect to Proton VPN using IPv6. +# Endpoint = [2a02:6ea0:e00a:8077::10]:51820 +PersistentKeepalive = 25
\ No newline at end of file |
