<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Vpn on tsvinc</title>
		<link>https://tsvinc.dev/tags/vpn/</link>
		<description>Recent content in Vpn on tsvinc</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Tue, 07 Jul 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://tsvinc.dev/tags/vpn/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>AllowedIPs is not access control</title>
				<link>https://tsvinc.dev/posts/allowedips-is-not-access-control/</link>
				<pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/allowedips-is-not-access-control/</guid>
				<description>&lt;div class=&#34;tldr&#34;&gt;&#xA;  &lt;span class=&#34;tldr-label&#34;&gt;TL;DR&lt;/span&gt;&#xA;  In a WireGuard &lt;em&gt;client&lt;/em&gt; config, &lt;code&gt;AllowedIPs&lt;/code&gt; is a routing statement, not a permission. It tells the client which destinations to send into the tunnel — a route table on a machine your friend owns and can edit at will. Scoping a peer with it restricts nothing. Enforcement has to live where the friend has no vote: a forward-chain rule on the router. Writing the provisioning kit is the easy afternoon; deciding where enforcement lives is the part that matters.&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;The onboarding kit started as a convenience. Give a friend VPN access with one command: &lt;code&gt;provision.sh alice lan&lt;/code&gt;, out comes a &lt;code&gt;.conf&lt;/code&gt; and a QR code, done. Then &lt;code&gt;provision.sh bob transmission&lt;/code&gt; — Bob only needs the media box, so scope him to that one host. The kit allocates the next tunnel address, generates a keypair, adds the peer, writes the scope, emits the config. Clean. &lt;code&gt;list.sh&lt;/code&gt; shows who&#39;s on, &lt;code&gt;remove.sh&lt;/code&gt; revokes by name. As a piece of tooling it&#39;s satisfying.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The iPhone camera wanted to Google my private key</title>
				<link>https://tsvinc.dev/posts/wireguard-qr-ios-camera-footgun/</link>
				<pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/wireguard-qr-ios-camera-footgun/</guid>
				<description>&lt;p&gt;Every WireGuard walkthrough ends the same way: &amp;quot;generate the config, render it as a QR code, scan it with your phone.&amp;quot; None of them tell you &lt;em&gt;which app&lt;/em&gt; does the scanning, because the author scanned it inside the WireGuard app and it never occurred to them you might not. I pointed an iPhone&#39;s Camera app at a freshly generated tunnel QR, and iOS did something helpful and catastrophic: it read the code as plain text and offered me a Google search — of the entire config, private key included.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
