<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: dongcarl</title><link>https://news.ycombinator.com/user?id=dongcarl</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 18 Jun 2026 11:55:20 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dongcarl" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dongcarl in "Mullvad exit IPs are surprisingly identifying"]]></title><description><![CDATA[
<p>Heh yeah we just check for a Mullvad exit IP, it's one way you know we're actually relaying to Mullvad!</p>
]]></description><pubDate>Fri, 15 May 2026 19:40:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48152911</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=48152911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48152911</guid></item><item><title><![CDATA[New comment by dongcarl in "Mullvad exit IPs are surprisingly identifying"]]></title><description><![CDATA[
<p>Carl here (Obscura CEO, one of Mullvad's partners)<p>This was an interesting finding, though as kfreds mentioned it would have been better to notify the vendor before publishing.<p>The main finding (IP-position-in-pool correlation between servers) seems to include genuinely unintended behaviour. Given our great experience with the Mullvad team, I'm sure this will be addressed soon.<p>In general, if you want different "identities", you should make sure to rotate or use different WireGuard keys.<p>One small thing from the article I'll comment on:<p>> Surprisingly, the exit IP you are given is not randomized each time you connect to the server, but deterministically picked based on your WireGuard key, which rotates every 1 to 30 days (unless you use a third-party client, in which case it never rotates).<p>Context: WireGuard is by design[1] a "Connection-less Protocol", there's no concept of a connection, there's only a "re-keying handshake" (key here refers to the ephemeral Diffie-Hellman key, not the WireGuard key) every 2-3 minutes ONLY IF there's traffic flowing.<p>The above statement is not too surprising if you consider the counterfactual: What would happen if, even with the same WireGuard key, the exit IP were randomized each time you "connect" to the server (say each time there is a "re-keying handshake" or at more frequent cadence (e.g. every 15 minutes) than the WireGuard key rotation).<p>In this scenario, ~every 15 minutes:<p>- At the Transport layer, all your in-tunnel connections that are on non-roaming protocols (basically everything except QUIC) would be disrupted, and the connections would have to be re-established.<p>- At the Application layer, many application-level sessions that treat "same cookie, new IP" as suspicious would trigger logouts, CAPTCHAs, or risk scoring.<p>Both are terrible UX, and what's worse would also make users much more uniquely fingerprintable ("this person keeps reconnecting from a different IP, they must be using Mullvad").<p>[1]: <a href="https://www.wireguard.com/protocol/" rel="nofollow">https://www.wireguard.com/protocol/</a></p>
]]></description><pubDate>Fri, 15 May 2026 17:40:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48151547</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=48151547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48151547</guid></item><item><title><![CDATA[Cursed Knowledge]]></title><description><![CDATA[
<p>Article URL: <a href="https://obscura.net/cursed-knowledge/">https://obscura.net/cursed-knowledge/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47065598">https://news.ycombinator.com/item?id=47065598</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 18 Feb 2026 20:02:44 +0000</pubDate><link>https://obscura.net/cursed-knowledge/</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=47065598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47065598</guid></item><item><title><![CDATA[New comment by dongcarl in "Who owns Express VPN, Nord, Surfshark? VPN relationships explained (2024)"]]></title><description><![CDATA[
<p>> should Chat Control not pass<p>Unfortunately in the world we live in no single jurisdiction is good enough anymore, laws can always change and Chat Control can be re-proposed over and over again.<p>Luckily, an MPR like Obscura with hops across different jurisdictions (Obscura in US, and Mullvad in EU) give you a much better scenario than just being in one jurisdiction.<p>> it would be great if you prioritized accepting Monero as payment<p>Definitely prioritized, one of our engineers is working on it right now.<p>> Also, how much control do we have over the features Mullvad offers (e.g. DAITA, quantum resistance, DNS filters, IPv6, integration with Mullvad Browser)?<p>We're limited by the Partner API that Mullvad offers right now, but we'll be looking into many of these soon. For example, we're implementing DNS filtering as we speak!</p>
]]></description><pubDate>Tue, 07 Oct 2025 20:11:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45508203</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45508203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45508203</guid></item><item><title><![CDATA[New comment by dongcarl in "Who owns Express VPN, Nord, Surfshark? VPN relationships explained (2024)"]]></title><description><![CDATA[
<p>We've had many reports that it works. In fact, one of our users told us he took an hour video call over Obscura in China and things worked smoothly!<p>Unfortunately, because we don't identify users we cannot offer a free tier (since that would allow anyone to use it freely indefinitely).<p>However, you can always just top-up for 1 month to see how it works for you! Would love to hear your experience.</p>
]]></description><pubDate>Tue, 07 Oct 2025 20:07:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45508158</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45508158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45508158</guid></item><item><title><![CDATA[New comment by dongcarl in "Who owns Express VPN, Nord, Surfshark? VPN relationships explained (2024)"]]></title><description><![CDATA[
<p>You could probably implement a pluggable transport for it?</p>
]]></description><pubDate>Tue, 07 Oct 2025 20:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45508134</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45508134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45508134</guid></item><item><title><![CDATA[New comment by dongcarl in "Who owns Express VPN, Nord, Surfshark? VPN relationships explained (2024)"]]></title><description><![CDATA[
<p>Ah that's excellent! Do you have a link to the thesis?</p>
]]></description><pubDate>Tue, 07 Oct 2025 20:04:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45508126</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45508126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45508126</guid></item><item><title><![CDATA[New comment by dongcarl in "Who owns Express VPN, Nord, Surfshark? VPN relationships explained (2024)"]]></title><description><![CDATA[
<p>Yes, you can with Obscura. That limitation of Private Relay is just an arbitrary limitation made by Apple.</p>
]]></description><pubDate>Tue, 07 Oct 2025 00:12:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45497820</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45497820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45497820</guid></item><item><title><![CDATA[New comment by dongcarl in "Who owns Express VPN, Nord, Surfshark? VPN relationships explained (2024)"]]></title><description><![CDATA[
<p>We should really be moving towards a world of Multi-Party Relays rather than Single-Party VPN operators: <a href="https://www.privacyguides.org/articles/2024/11/17/where-are-all-the-mprs/#a-solution-multi-party-relays" rel="nofollow">https://www.privacyguides.org/articles/2024/11/17/where-are-...</a><p>With Multi-Party Relays you no longer have a trust a single entity not being malicious or compromised.<p>Disclaimer: I run obscura.net, which does exactly this with Mullvad (our partner) as the Exit Hop.</p>
]]></description><pubDate>Mon, 06 Oct 2025 22:54:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45497218</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45497218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45497218</guid></item><item><title><![CDATA[New comment by dongcarl in "A little more privacy centric DNS setup for home users"]]></title><description><![CDATA[
<p>Actually, they don’t need to do a reverse lookup at all.<p>They can just look at the TLS SNI field and the hostname is there in plaintext.<p>It’s _more_ trouble to do the reverse lookup.</p>
]]></description><pubDate>Sat, 27 Sep 2025 14:10:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45395858</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45395858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45395858</guid></item><item><title><![CDATA[New comment by dongcarl in "PureVPN IPv6 Leak"]]></title><description><![CDATA[
<p>If you can't see your VPN's source code, you can almost safely assume that they're broken in some way.</p>
]]></description><pubDate>Wed, 17 Sep 2025 18:17:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45279387</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45279387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45279387</guid></item><item><title><![CDATA[New comment by dongcarl in "Who Owns, Operates, and Develops Your VPN Matters"]]></title><description><![CDATA[
<p>It's trusting A OR B, rather than A AND B</p>
]]></description><pubDate>Thu, 04 Sep 2025 16:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45128790</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45128790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45128790</guid></item><item><title><![CDATA[New comment by dongcarl in "Who Owns, Operates, and Develops Your VPN Matters"]]></title><description><![CDATA[
<p>Yup, when you're not using a VPN, even with encrypted DNS and HTTPS, you're still sending hostnames (e.g. wikileaks.org) over plaintext in TLS SNI for every HTTPS connection. I believe most firewall appliances now even prefer to use SNI for deep-packet-inspection since it's so reliable.</p>
]]></description><pubDate>Wed, 03 Sep 2025 21:06:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45120417</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45120417</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45120417</guid></item><item><title><![CDATA[New comment by dongcarl in "Who Owns, Operates, and Develops Your VPN Matters"]]></title><description><![CDATA[
<p>I'm surprised no one has mentioned iCloud Relay-style Multi-Party Relays yet: <a href="https://www.privacyguides.org/articles/2024/11/17/where-are-all-the-mprs/#the-alternative-tor" rel="nofollow">https://www.privacyguides.org/articles/2024/11/17/where-are-...</a><p>It greatly improves on the existing VPN trust model by separating the "who" (connecting IP, potential payment info, etc.), from the "what" (IP traffic). You no longer have a trust a single entity not being malicious or compromised.<p>Disclaimer: I run obscura.net, which does exactly this with Mullvad (our partner) as the Exit Hop.</p>
]]></description><pubDate>Wed, 03 Sep 2025 20:15:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=45119937</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45119937</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45119937</guid></item><item><title><![CDATA[New comment by dongcarl in "Ask HN: The government of my country blocked VPN access. What should I use?"]]></title><description><![CDATA[
<p>We're working on it! Android is next :-)</p>
]]></description><pubDate>Fri, 29 Aug 2025 22:20:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45070068</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45070068</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45070068</guid></item><item><title><![CDATA[New comment by dongcarl in "Ask HN: The government of my country blocked VPN access. What should I use?"]]></title><description><![CDATA[
<p>We should link it in more places, apologies!<p>Here it is: <a href="https://github.com/Sovereign-Engineering/obscuravpn-client" rel="nofollow">https://github.com/Sovereign-Engineering/obscuravpn-client</a></p>
]]></description><pubDate>Thu, 28 Aug 2025 19:46:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45056255</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45056255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45056255</guid></item><item><title><![CDATA[New comment by dongcarl in "Ask HN: The government of my country blocked VPN access. What should I use?"]]></title><description><![CDATA[
<p>Very possible, though many of our users are saying that in network environments where WireGuard is blocked they were able to use Obscura.</p>
]]></description><pubDate>Thu, 28 Aug 2025 19:01:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45055742</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45055742</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45055742</guid></item><item><title><![CDATA[New comment by dongcarl in "Ask HN: The government of my country blocked VPN access. What should I use?"]]></title><description><![CDATA[
<p>Give Obscura a try, we get around internet restrictions by using QUIC as transport, which looks like HTTP/3 and doesn't suffer from TCP-over-TCP meltdown: <a href="https://obscura.net/" rel="nofollow">https://obscura.net/</a><p>Technical details: <a href="https://obscura.net/blog/bootstrapping-trust/" rel="nofollow">https://obscura.net/blog/bootstrapping-trust/</a><p>Let us know what you think!<p>Disclaimer: I'm the creator of Obscura.</p>
]]></description><pubDate>Thu, 28 Aug 2025 17:51:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45054975</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=45054975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45054975</guid></item><item><title><![CDATA[New comment by dongcarl in "A privacy VPN you can verify"]]></title><description><![CDATA[
<p>I actually spent a few months prototyping SGX/SEV VPNs before settling on a Multi-Party Relay scheme for obscura.net<p>Things may have changed since mid-2023 but here were my takeaways:<p>-----<p>Re: Vendor lock-in<p>Vendor lock-in is (was?) a huge problem (at least for process-based TEEs)<p>Process-based TEEs (mainly SGX) operated by providing essentially a whole new system abstraction. At the base level, there was no `libc`-like or `POSIX`-like interfaces, only Intel specific ones. This is why there are projects like [Gramine](<a href="https://github.com/gramineproject/gramine" rel="nofollow">https://github.com/gramineproject/gramine</a>) and [Fortanix](<a href="https://github.com/fortanix/rust-sgx" rel="nofollow">https://github.com/fortanix/rust-sgx</a>) that aimed to provide a more `libc`/`POSIX`-like interface to developers, even though this was the leakiest of abstractions (you can’t even create a UDP socket).<p>This is not only a problem in terms of Developer Experience though, this is also a huge problem for vendor lock-in. Porting things were nigh impossible, and you’re stuck with the Intel platform. I think Intel is making a genuine attempt at making a good TEE right now, but what if Intel decides to axe their budget for TEEs or drop support altogether?<p>*Possible solution*: Use VM-based TEE abstractions like SEV or TDX, which can run a full VM, which is at least a more portable solution and has a full Linux environment (with some caveats).<p>-----<p>Re: Trust model<p>A <i>convincing</i> trust model for TEE VPNs was possible, but a big engineering challenge.<p>1. TEEs without remote attestation and reproducible builds of the backend are near-meaningless: If a VPN operator hands you a proof co-signed by Intel that they’re running in SGX… so what? They could simply be running a data-harvesting pipeline in SGX.<p><pre><code>   *Possible solution**: A **remote attestation** of *what they’re running*, which requires that they have a reproducible build of *what they’re running*, and for the remote attestation to verifiably attest to that reproducible build

</code></pre>
2. For VPNs: it is always possible to hand the user a *remote attestation* to one server, then just swap out that server for another when the user is connecting.<p><pre><code>   *Possible solution**: A way to link the **remote attestation** to what you’re connecting to.
</code></pre>
-----<p>Re: Vulnerabilities<p>Back in mid-2023, it seemed like vulnerabilities in different TEEs were still popping up. However, I don’t want to overstate them here or engage in FUD: over time, it seems like the newly revealed vulnerabilities were becoming more and more theoretical attacks hard to carry out in the real world.<p>I think this is something that improves over time as the different TEE platforms matures, but *relying solely on TEEs* to make claims about privacy and security seemed a bit shaky to me.<p>This was the final straw for me for why not to start with TEEs back in 2023: Given that we wanted to avoid vendor lock-in as much as possible, we only had AMD SEV as a choice at the time. I came across this vulnerability ([GitHub](<a href="https://github.com/PSPReverse/amd-sp-glitch" rel="nofollow">https://github.com/PSPReverse/amd-sp-glitch</a>), [arXiv](<a href="https://arxiv.org/abs/2108.04575" rel="nofollow">https://arxiv.org/abs/2108.04575</a>)) and (from my reading) it was very practical and almost unforgive-able, see [this image](<a href="https://forum-uploads.privacyguidesusercontent.com/original/2X/4/42df6a47e600e2b826b13bf921938af33ce49013.png" rel="nofollow">https://forum-uploads.privacyguidesusercontent.com/original/...</a>). Funnily enough, you can even see my post in 2023 to understand if the AMD VLEK addition mitigated the vulnerability ([GitHub comment](<a href="https://github.com/PSPReverse/amd-sp-glitch/issues/3" rel="nofollow">https://github.com/PSPReverse/amd-sp-glitch/issues/3</a>)).<p>*Possible solution*: MPR but each hop is a different TEE implementation. That way an attacker would have to have an exploit for all the TEE implementations to break the security model.<p>-----<p>Anyway, these were my thoughts back in 2023, things like hardware vulnerabilities may have changed since then, and certainly the availability of Intel TDX (another VM-based TEE) makes vendor lock-in much better, but the “Trust Model” challenges still remain. That is a big engineering challenge though, and not a fundamental problem with TEEs, so I’m very cautiously optimistic!</p>
]]></description><pubDate>Mon, 18 Aug 2025 15:54:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44942011</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=44942011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44942011</guid></item><item><title><![CDATA[New comment by dongcarl in "A technical look at Iran's internet shutdowns"]]></title><description><![CDATA[
<p>At Obscura we just tunnel WireGuard over QUIC's unreliable datagram mechanism to make it look like HTTP/3 (for DPI): <a href="https://github.com/Sovereign-Engineering/obscuravpn-client/blob/fae9cda990ff2b4296feed5e45cf99abddd63716/rustlib/src/quicwg.rs">https://github.com/Sovereign-Engineering/obscuravpn-client/b...</a><p>We just upstreamed our patch to quinn-rs that pads Datagrams to MTU: <a href="https://github.com/quinn-rs/quinn/pull/2274">https://github.com/quinn-rs/quinn/pull/2274</a></p>
]]></description><pubDate>Sun, 13 Jul 2025 21:05:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44553727</link><dc:creator>dongcarl</dc:creator><comments>https://news.ycombinator.com/item?id=44553727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44553727</guid></item></channel></rss>