HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
monasticacademy
httptap
Go2025–2025
monasticacademy / httptap

httptap

View HTTP/HTTPS requests made by any Linux program

6Distinct people
8Mentions
0Explicit recommenders
4.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

View HTTP/HTTPS requests made by any Linux program

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour8 dated mentions

Observed mentions: 2025-02-03 16:28:45 UTC to 2025-02-04 16:18:03 UTC.

0122025-02-03 16:00:00 UTC to 2025-02-03 17:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsFeb 3, 16:002025-02-03 17:00:00 UTC to 2025-02-03 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-02-03 18:00:00 UTC to 2025-02-03 19:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-02-03 19:00:00 UTC to 2025-02-03 20:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 20:00:00 UTC to 2025-02-03 21:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-02-03 21:00:00 UTC to 2025-02-03 22:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 22:00:00 UTC to 2025-02-03 23:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-03 23:00:00 UTC to 2025-02-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 00:00:00 UTC to 2025-02-04 01:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 01:00:00 UTC to 2025-02-04 02:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 02:00:00 UTC to 2025-02-04 03:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-02-04 03:00:00 UTC to 2025-02-04 04:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 04:00:00 UTC to 2025-02-04 05:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsFeb 4, 04:002025-02-04 05:00:00 UTC to 2025-02-04 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 06:00:00 UTC to 2025-02-04 07:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-02-04 07:00:00 UTC to 2025-02-04 08:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 08:00:00 UTC to 2025-02-04 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 09:00:00 UTC to 2025-02-04 10:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 10:00:00 UTC to 2025-02-04 11:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 11:00:00 UTC to 2025-02-04 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 12:00:00 UTC to 2025-02-04 13:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 13:00:00 UTC to 2025-02-04 14:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 14:00:00 UTC to 2025-02-04 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 15:00:00 UTC to 2025-02-04 16:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-04 16:00:00 UTC to 2025-02-04 17:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 4, 16:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 3, 16:002025-02-03 16:00:00 UTC2025-02-03 17:00:00 UTC110
Feb 3, 17:002025-02-03 17:00:00 UTC2025-02-03 18:00:00 UTC101
Feb 3, 18:002025-02-03 18:00:00 UTC2025-02-03 19:00:00 UTC202
Feb 3, 19:002025-02-03 19:00:00 UTC2025-02-03 20:00:00 UTC000
Feb 3, 20:002025-02-03 20:00:00 UTC2025-02-03 21:00:00 UTC101
Feb 3, 21:002025-02-03 21:00:00 UTC2025-02-03 22:00:00 UTC000
Feb 3, 22:002025-02-03 22:00:00 UTC2025-02-03 23:00:00 UTC000
Feb 3, 23:002025-02-03 23:00:00 UTC2025-02-04 00:00:00 UTC000
Feb 4, 00:002025-02-04 00:00:00 UTC2025-02-04 01:00:00 UTC000
Feb 4, 01:002025-02-04 01:00:00 UTC2025-02-04 02:00:00 UTC000
Feb 4, 02:002025-02-04 02:00:00 UTC2025-02-04 03:00:00 UTC101
Feb 4, 03:002025-02-04 03:00:00 UTC2025-02-04 04:00:00 UTC000
Feb 4, 04:002025-02-04 04:00:00 UTC2025-02-04 05:00:00 UTC000
Feb 4, 05:002025-02-04 05:00:00 UTC2025-02-04 06:00:00 UTC000
Feb 4, 06:002025-02-04 06:00:00 UTC2025-02-04 07:00:00 UTC101
Feb 4, 07:002025-02-04 07:00:00 UTC2025-02-04 08:00:00 UTC000
Feb 4, 08:002025-02-04 08:00:00 UTC2025-02-04 09:00:00 UTC000
Feb 4, 09:002025-02-04 09:00:00 UTC2025-02-04 10:00:00 UTC000
Feb 4, 10:002025-02-04 10:00:00 UTC2025-02-04 11:00:00 UTC000
Feb 4, 11:002025-02-04 11:00:00 UTC2025-02-04 12:00:00 UTC000
Feb 4, 12:002025-02-04 12:00:00 UTC2025-02-04 13:00:00 UTC000
Feb 4, 13:002025-02-04 13:00:00 UTC2025-02-04 14:00:00 UTC000
Feb 4, 14:002025-02-04 14:00:00 UTC2025-02-04 15:00:00 UTC000
Feb 4, 15:002025-02-04 15:00:00 UTC2025-02-04 16:00:00 UTC000
Feb 4, 16:002025-02-04 16:00:00 UTC2025-02-04 17:00:00 UTC101

What Hacker News says

8 sources
Based on how it works it cannot run as non-root even in principle. https://github.com/monasticacademy/httptap?tab=readme-ov-fil... Correction: the readme claims it will work without requiring root, but it does need to manage network namespaces, which afaik may only be available to root users depending on system configuration. > To run httptap you do not need to be the root user. ... It makes use of linux-specific system calls -- in particular network namespaces ...
In Httptap: View HTTP/HTTPS requests made by any Linux program
1. Yes. The following commit taught httptap how to configure Java processes to use its CA cert: https://github.com/monasticacademy/httptap/commit/4288a89504... 2. How it works is explained in the last two paragraphs of the "How It Works" section of the readme: > When a client makes an HTTPS request, it asks the server for evidence that it is who it says it is. If the server has a certificate signed by a certificate authority, it can use that certificate to prove that it is who it says it is. The client will only accept such a certificate if it trusts the certificate authority that signed the certificate. Operating systems, web browsers, and many other pieces of software come with a list of a few hundred certificate authorities that they trust. Many of these pieces of software have ways for users to add additional certificate authorities t
Read the rest
o this list. We make use of this. > When httptap starts, it creates a certificate authority (actually a private key plus a corresponding x509 certificate), writes it to a file on the filesystem visible only to the subprocess, and sets a few environment variables -- again only visible to the subprocess being run -- that add this certificate authority to the list of trusted certificate authorities. Since the subprocess trusts this certificate authority, and httptap holds the private key for the certificate authority, it can prove to the subprocess that it is the server which which the subprocess was trying to communicate. In this way we can read the plaintext HTTP requests.
In Httptap: View HTTP/HTTPS requests made by any Linux program
It's a genius idea to run the process in a isolated network namespace! I'm more interested in the HTTPS part. I see that it sets some common environment variables [1] to instruct the program to use the CA bundle in the temporary directory. This seems to pose a similar issue like all the variants of `http_proxy`: the program may simply choose to ignore the variable. I see it also mounts an overlay fs for `/etc/resolv.conf` [2]. Does it help if httptap mounts `/etc/ca-certificates` directory with the temporary CA bundle? [1] https://github.com/monasticacademy/httptap/blob/cb92ee3acfb2... [2] https://github.com/monasticacademy/httptap/blob/cb92ee3acfb2...
In Httptap: View HTTP/HTTPS requests made by any Linux program
Agreed! So there isn't any interface for modifying requests/responses at present, but it's definitely possible given the underlying approach. If you consider [this line of code](https://github.com/monasticacademy/httptap/blob/main/http.go...) where you have an HTTP request parsed from the <command> that ran and are about to send it out to the public internet: you could modify the request (or the response that is received a few lines further) in just the way that you would modify a normal http.Request in Go.
In Httptap: View HTTP/HTTPS requests made by any Linux program
Yeah, for other readers who are looking at this thread, the connection is just that this (httptap) is a Monastic Academy project, and what that means is that there is a group of people living on 123 acres in Vermont according to a fairly traditional Buddhist monastic structure (though we are not ordained monks), and during the day we work on a number of technology and non-technology projects together. The link to the readme that sevg posted above is a good overview: https://github.com/monasticacademy/httptap?tab=readme-ov-fil...
In Httptap: View HTTP/HTTPS requests made by any Linux program

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.