<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: jonfriesen</title><link>https://news.ycombinator.com/user?id=jonfriesen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 24 Sep 2026 19:35:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jonfriesen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jonfriesen in "Don't kill my pretty RSS feed"]]></title><description><![CDATA[
<p>Build a browser on top of an open standard, neglect that standard, then refer to that neglecting as the reason to kill it. This fits that spiderman pointing at spiderman meme perfectly. It's exhausting.</p>
]]></description><pubDate>Thu, 12 Feb 2026 16:21:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46990710</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=46990710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46990710</guid></item><item><title><![CDATA[The eBPF Verifier – How Linux Safely Runs User Code in Kernel Space]]></title><description><![CDATA[
<p>Article URL: <a href="https://qpoint.io/blog/ebpf-safety-in-production/">https://qpoint.io/blog/ebpf-safety-in-production/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45428111">https://news.ycombinator.com/item?id=45428111</a></p>
<p>Points: 15</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 30 Sep 2025 17:03:40 +0000</pubDate><link>https://qpoint.io/blog/ebpf-safety-in-production/</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=45428111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45428111</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>Yes, since NixOS runs on a standard Linux kernel, Qtap will work. I realized that we weren't scanning the nix store for shared libs (eg. OpenSSL) and added that this morning.</p>
]]></description><pubDate>Fri, 09 May 2025 14:57:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=43937495</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43937495</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43937495</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>Thanks! We're really excited about Qcontrol and what it will be able to provide! The rules in that doc are powered by our Rulekit project <a href="https://github.com/qpoint-io/rulekit">https://github.com/qpoint-io/rulekit</a> if you're curious about seeing more.<p>As far as log sinks, we have stdout right now. We have been working on Fluentbit and will eventually add a bunch more. If you have a request, drop them here!<p>We also have a services concept which support an "event store" and "object store", where the object store handles artifacts that may contain sensitive data and don't need to be indexed for search/aggregation (this is an S3 compliant store). The event store handles all of the events from connection audit logs (these cover the ip protocol level) to individual http request/response pairs. The event store is a custom API we use and need to write some proper documentation for, stay tuned!</p>
]]></description><pubDate>Thu, 08 May 2025 23:32:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=43932392</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43932392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43932392</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>`ecapture` has been around for a while and do a lot of great stuff and a lot of functionality overlaps.<p>Our aim is to make Qtap extensible and via a plugin system. We have http1/2 streaming capabilities and a plugin engine to run these in what we call a stack. Our goal is to add more protocols, like gRPC in the near future.<p>We have a few example plugins that do things like report request/response's and push access information to standard out in a console or structure log format. Our Pro version has a few more plugins like the ability to report errors (eg. an AI agent is getting HTTP 429 errors). These can be pushed to a service or log aggregator.<p>To summarize, we do a lot of the same things that ecapture does. We'd like to be less of a tool and more of a "always running" that ops, opsec, and devs use to answer tough questions. We look forward to open sourcing more of plugins as they mature!</p>
]]></description><pubDate>Thu, 08 May 2025 23:20:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43932323</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43932323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43932323</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>As of today, we don't output pcap or har files though these are additions I'd like to make in the future, they aren't currently on our near term roadmap.</p>
]]></description><pubDate>Thu, 08 May 2025 23:08:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=43932255</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43932255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43932255</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>I think the closest is an app with a full GUI called LittleSnitch. It's pretty impressive.<p><a href="https://www.obdev.at/products/littlesnitch/index.html" rel="nofollow">https://www.obdev.at/products/littlesnitch/index.html</a></p>
]]></description><pubDate>Thu, 08 May 2025 23:07:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=43932249</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43932249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43932249</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>These are all great callouts. We've worked hard to address some of them, some are future endeavours.<p>To address your points:<p>1. In our testing, uprobes add a statistically insignificant amount of latency and in comparison to a MITM proxies it's nearly identical to native.<p>2. True, we're focused on Linux right now. I'm looking forward to exploring Microsoft's eBPF implementation and exploring how we can support the Windows ecosystem.<p>3. You're right that the technique we are using for OpenSSL will not work for other runtimes. That said, there are other techniques that we've implemented in our Pro offering for the JVM, Go, and NodeJS. Rust is in the works!</p>
]]></description><pubDate>Thu, 08 May 2025 19:35:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=43930407</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43930407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43930407</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>Not today, maybe one day!<p>Edit:
Another user posted a link to <a href="https://github.com/gojue/ecapture">https://github.com/gojue/ecapture</a> which looks like it supports android and has some overlapping functionality.</p>
]]></description><pubDate>Thu, 08 May 2025 19:10:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=43930130</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43930130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43930130</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>Qtap does require root privileges to function as it uses eBPF to hook into kernel and userspace program functions. The good news is it can also be run within a container.<p>There are some important flags when spinning it up in docker: `--privileged`, `--cap-add CAP_BPF`, `--cap-add CAP_SYS_ADMIN`, and `--pid=host`. These provide access to load eBPF programs, and monitor traffic.<p>Many deployments use Kubernetes daemonsets where Qtap runs in a container, but monitors all of the traffic on the node. The Qpoint paid offering comes with a Control Plane that produces context specific dashboards so seeing what's happening from a specific container, or pod namespace can provide a lot of insights into your deployments.</p>
]]></description><pubDate>Thu, 08 May 2025 19:10:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=43930126</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43930126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43930126</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>You've definitely hit on a point that we've talked about at length and have come to terms that different organizations have different requirements, especially when it comes to regulatory and compliance.<p>Qtap can be locked down with local firewalls or perimeter firewalls like other applications running within a network. The TLS inspection can also be disabled with a `--tls-probes=none` flag on startup.<p>Even without inspection enabled, Qtap provides rich context when it comes to connections to processes. For example, source/destination information, bandwidth usage, SNI information, container meta, even Kubernetes pod and namespace meta. All of this can paint a thorough picture of what's happening with zero instrumentation.<p>When it comes down to it, some orgs may not be able to use the TLS inspection or require specific methods of persisting data. If we can't support this today, our goal is to address these as they come up and hopefully help devs and ops folks working in these constrained environments get what they need while maintaining compliance.</p>
]]></description><pubDate>Thu, 08 May 2025 18:34:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=43929649</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43929649</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43929649</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>Fair point on -O2 and -O3 optimized bins. We've approached this by building custom bin utils that are optimized for blazingly fast symbol recognition. Traditional ELF tools that focus on providing comprehensive context for debugging, we are strip away everything that is not the symbol locations we need.<p>We've also added caching so frequently used bins don't require multiple scans. Shared libraries as well. This has proven effective with optimized binaries, especially bins that are optimized, start, make a super quick network call, then exit, which was the bane of our existence for a little while.</p>
]]></description><pubDate>Thu, 08 May 2025 18:18:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43929445</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43929445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43929445</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>That was one of our biggest motivators when dreaming up Qtap.<p>How can we remove the impact that proxies have on connections, AND see the content without having to manage a custom certificate authority, AND not have to instrument all of our code.</p>
]]></description><pubDate>Thu, 08 May 2025 17:56:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=43929154</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43929154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43929154</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>This is a great point, and Qtap itself does need to be used with care. The company behind Qtap (Qpoint.io) provides full inventory and alerting for this sort of scenario.<p>That said, the eBPF verifier has robust security guarantees and runs on every load. So arbitrary mem access for example isn't possible. Qtap runs exclusively on your nodes, so you control what it captures and where that data goes. Our paid offering provides more functionality with a Control Plane solutions that provides dashboards, alerting, and live config updates. However, all sensitive information, like captured http bodies, are uploaded to a S3 compliant bucket that you control. This could be S3, Minio, or anything else that supports the S3 API. We never see this information.<p>It's intentionally designed for deployment within your infra and abides by the security policies you set within your org.</p>
]]></description><pubDate>Thu, 08 May 2025 17:47:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=43929025</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43929025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43929025</guid></item><item><title><![CDATA[New comment by jonfriesen in "Show HN: Using eBPF to see through encryption without a proxy"]]></title><description><![CDATA[
<p>Qtap scans binaries of processes as well known locations for OpenSSL on startup, then passes the offsets to eBPF where it hooks into the SSL_read and SSL_write to get the content before or after it's been encrypted.<p>This is the eBPF side:
<a href="https://github.com/qpoint-io/qtap/blob/main/bpf/tap/openssl.bpf.c">https://github.com/qpoint-io/qtap/blob/main/bpf/tap/openssl....</a><p>The Go side which indicates what we are scanning for is here:
<a href="https://github.com/qpoint-io/qtap/blob/main/pkg/ebpf/tls/openssl/symaddr.go">https://github.com/qpoint-io/qtap/blob/main/pkg/ebpf/tls/ope...</a><p>For more docs on the topic:
- <a href="https://docs.ebpf.io/" rel="nofollow">https://docs.ebpf.io/</a> is a must read
- <a href="https://eunomia.dev/en/tutorials/30-sslsniff/" rel="nofollow">https://eunomia.dev/en/tutorials/30-sslsniff/</a> has a tutorial on cracking OpenSSL open and getting the content as well. The tutorials they have are fantastic in general</p>
]]></description><pubDate>Thu, 08 May 2025 17:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=43928788</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=43928788</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43928788</guid></item><item><title><![CDATA[New comment by jonfriesen in "DigitalOcean App Platform"]]></title><description><![CDATA[
<p>A small note, the DigitalOcean dev DBs do have daily backups though these are not accessible by the user and only come into play when there is a non-recoverable issue with the node they are on.</p>
]]></description><pubDate>Tue, 06 Oct 2020 23:31:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=24703687</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=24703687</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24703687</guid></item><item><title><![CDATA[New comment by jonfriesen in "DigitalOcean App Platform"]]></title><description><![CDATA[
<p>Hey futhey,<p>The team agreed that we had some gaps that needed to be filled, you will now see new plans:<p>Basic $40/month 4GB RAM & 2 Shared vCPUs<p>Pro $75/month 4GB RAM & 1 Dedicated vCPU<p>We've also increased the vCPU count on the Pro $50/month plan from 1 to 2 vCPUS so it's now:<p>Pro $50/month 4GB RAM & 2 Shared vCPUs</p>
]]></description><pubDate>Tue, 06 Oct 2020 23:20:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=24703608</link><dc:creator>jonfriesen</dc:creator><comments>https://news.ycombinator.com/item?id=24703608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24703608</guid></item></channel></rss>