frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Phoenix: A modern X server written from scratch in Zig

https://git.dec05eba.com/phoenix/about/
457•snvzz•12h ago•223 comments

Self-referencing Page Tables for the x86-Architecture

https://0l.de/blog/2015/01/bachelor-thesis-abstract/
18•stv0g•2h ago•1 comments

Tell HN: Merry Christmas

1311•basilikum•12h ago•318 comments

We invited a man into our home at Christmas and he stayed with us for 45 years

https://www.bbc.co.uk/news/articles/cdxwllqz1l0o
47•rajeshrajappan•41m ago•2 comments

Who Watches the Waymos? I do [video]

https://www.youtube.com/watch?v=oYU2hAbx_Fc
179•notgloating•11h ago•52 comments

Ruby 4.0.0

https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/
319•FBISurveillance•7h ago•67 comments

Asterisk AI Voice Agent

https://github.com/hkjarral/Asterisk-AI-Voice-Agent
122•akrulino•11h ago•49 comments

Handheld PC Community Forums

https://www.hpcfactor.com/forums/category-view.asp
11•walterbell•3d ago•1 comments

Fabrice Bellard: Biography (2009) [pdf]

https://www.ipaidia.gr/wp-content/uploads/2020/12/117-2020-fabrice-bellard.pdf
279•lioeters•16h ago•80 comments

Show HN: Minimalist editor that lives in browser, stores everything in the URL

https://github.com/antonmedv/textarea
343•medv•15h ago•115 comments

CSRF protection without tokens or hidden form fields

https://blog.miguelgrinberg.com/post/csrf-protection-without-tokens-or-hidden-form-fields
217•adevilinyc•3d ago•66 comments

Quantum Error Correction Goes FOOM

https://algassert.com/post/2503
5•EvgeniyZh•1h ago•0 comments

JEDEC developing reduced pin count HBM4 standard to enable higher capacity

https://blocksandfiles.com/2025/12/17/jedec-sphbm4/
39•rbanffy•6d ago•3 comments

Show HN: Exploring Mathematics with Python

https://coe.psu.ac.th/ad/explore/
134•Andrew2565•5d ago•11 comments

Using Vectorize to build an unreasonably good search engine in 160 lines of code

https://blog.partykit.io/posts/using-vectorize-to-build-search/
78•ColinWright•3d ago•21 comments

Show HN: Vibium – Browser automation for AI and humans, by Selenium's creator

https://github.com/VibiumDev/vibium
322•hugs•17h ago•98 comments

Fabrice Bellard Releases MicroQuickJS

https://github.com/bellard/mquickjs/blob/main/README.md
1386•Aissen•1d ago•522 comments

Research team digitizes more than 100 years of Canadian infectious disease data

https://news.mcmaster.ca/mcmaster-research-team-digitizes-more-than-100-years-of-canadian-infecti...
117•XzetaU8•6d ago•6 comments

Comptime – C# meta-programming with compile-time code generation and evaluation

https://github.com/sebastienros/comptime
95•bj-rn•4d ago•21 comments

Nvidia buying AI chip startup Groq for about $20B in cash

https://www.cnbc.com/2025/12/24/nvidia-buying-ai-chip-startup-groq-for-about-20-billion-biggest-d...
549•nickrubin•14h ago•314 comments

Prototaxites

https://astrobiology.com/2025/03/ancient-prototaxites-dont-belong-to-any-living-lineage-possibly-...
46•andsoitis•5d ago•4 comments

The First Photographs of Snowflakes Discover the Groundbreaking Microphotography

https://www.openculture.com/2017/12/the-first-photographs-of-snowflakes.html
5•_____k•6d ago•0 comments

The Next-Gen Mainboard Designed with AmigaOS4 and MorphOS in Mind

https://mirari.vitasys.nl/our-story/
40•todsacerdoti•10h ago•7 comments

I'm returning my Framework 16

https://yorickpeterse.com/articles/im-returning-my-framework-16/
239•YorickPeterse•22h ago•390 comments

The port I couldn't ship

https://ammil.industries/the-port-i-couldnt-ship/
116•cjlm•6d ago•74 comments

The dawn of a world simulator

https://odyssey.ml/the-dawn-of-a-world-simulator
65•olivercameron•4d ago•38 comments

Free Software Foundation receives historic private donations

https://www.fsf.org/news/free-software-foundation-receives-historic-private-donations
92•pentagrama•6h ago•13 comments

Jingle Bells (Batman Smells): An incomplete festive folk-rhyme taxonomy

https://loreandordure.com/2025/12/16/jingle-bells/
96•helsinkiandrew•3d ago•40 comments

Qntm's Power Tower Toy

https://qntm.org/files/knuth/knuth.html
77•ravenical•4d ago•25 comments

A faster path to container images in Bazel

https://www.tweag.io/blog/2025-12-18-rules_img/
87•malt3•6d ago•45 comments
Open in hackernews

Leeks and Leaks

https://daniel.haxx.se/blog/2025/05/16/leeks-and-leaks/
123•mrmanner•7mo ago

Comments

Snawoot•7mo ago
Side note: redirection of .onion domain to Tor proxy is how proxy routing with JS script illustrated by example in dumbproxy docs: https://github.com/SenseUnit/dumbproxy?tab=readme-ov-file#up...
immibis•7mo ago
One of the things on my cool ideas list is AF_ONION. getaddrinfo should be able to translate a .onion DNS name into an AF_ONION address immediately, and then you should be able to open an AF_ONION socket to that address. Tor would instantly be compatible with every program that doesn't assume IPv4/6 (which is shockingly few, but automatic Tor support would be a good reason to fix that). Same with I2P.

Prior to that, .onion blocking in getaddrinfo would also make sense - it would apply to a large swath of apps - and could be overridden with nsswitch.conf, perhaps.

Props to Daniel for recognizing that the situation is impossible to solve in a way that pleases everyone. Some people would just change it to meet the demands of the last person who asked, without thinking deeper.

knome•7mo ago
if they're going to be arbitrarily against env vars, like CURL_HOME, CURL_SSL_BACKEND, CURL_CA_BUNDLE, or the other dozen-ish variables curl already checks, an option in could .curlrc seem reasonable.

of course, having a CURL_ALLOW_ONION would allow the oniux program to set it, which would very easy and straight forward for both sides.

alternately, oniux could itself run a proxy and set the appropriate proxying environment variable, like HTTPS_PROXY. This would have the advantage of curl not having to do anything, but would add a rather ugly bit of complication to oniux.

seeing as the ability to run and inform curl of a proxy means oniux can already bypass the onion blocking with an envvar, adding one specifically to do that is convenient for callers, and does not expose the user to parent programs controlling onion exposure any more than it already does.

at best you could argue that requiring a full proxy makes it slightly harder for naive users to accidentally expose themselves since it would raise the bar for exposure from what curl knows, being the env var, to what curl has, in the form of an available proxy endpoint, but this isn't really a great excuse not to implement the CURL_ALLOW_ONION env var.

it's nice that curl is helpful for blocking by default, but having curl require the user to jump through hoops to unblock onion is a bit much.

remram•7mo ago
This doesn't really fix the problem. Curl is not the only tool to have implemented this block, many tools have, this was the point of Tor requesting this mechanism via an RFC. Is oniux going to set hundreds of environment variables to deactivate the block in all programs they know about? And cause users to send bug reports to all programs complying with their RFC that their tool doesn't yet know the workaround for?

The fix is much simpler: have oniux set $http_proxy (and drop non-tor traffic). This is the mechanism that makes the more sense and is in line with their own RFC.

nytpu•7mo ago
Almost like those existing env vars made it clear that they were mistakes that make behavior inconsistent (especially libcurl) and they want to avoid repeating it with additional env vars. Having almost contributed to Curl before, they repeatedly note for contributors that just because old code does something questionable doesn't mean your new code is allowed to do it—if anything, you're just highlighting the questionable piece of old code as being important for them to rewrite soon (of course they can't remove the current env vars for compatibility reasons).

And the article specifically notes that the current solution doesn't work, but it requires discussion on what the best solution is instead of just taking the literal first solution suggested by someone.

captainmuon•7mo ago
I feel like most people only use Tor via the Tor browser or a socks proxy, and the developers in the ecosystem cater only to these users. But there are a bunch of other creative uses of Tor around.

A couple of years ago, I used the TransPort feature of Tor combined with an iptables rule to redirect certain applications over Tor, like a web browser. The goal was a poor man's VPN. Access some websites without your local network admin to know about it, and without the website to know who you are. Back then there was Java applets and Flash, and this worked to hide network requests from them, too, as opposed to other solutions. Later iptables removed the feature that allowed you to filter on PID and broke my workflow. I changed it to use a dedicated unix user for tor, but that broke at some point, too, and I just got a commercial VPN.

Tor discouraged my use case, and I guess if you are afraid of being tracked or recognized as a returning user, then you should stick to Tor browser. But everybody has their own use cases.

Joker_vD•7mo ago
> redirect certain applications over Tor, like a web browser

I personally use a proxy.pac file (which all both Firefox/Chrome support) with roughly the following contents:

    function FindProxyForURL(url, host) {
        var httpProxy = "PROXY localhost:3128";
        var onionProxy = "SOCKS5 localhost:9050";

        if (host.endsWith(".onion")) {
            return onionProxy;
        }

        var proxiedDomains = [
              "example.com",
              ...
        ];

        for (var proxied of proxiedDomains) {
            if (shExpMatch(host, proxied) || shExpMatch(host, "*." + proxied)) {
                return httpProxy;
            }
        }

        return "DIRECT";
    }
The only inconvenient part is that Chrome for some stupid reason can't read this file from a file:// url, so I have to host it on my localhost; oh well.
geocar•7mo ago
Take care with this. Some people are putting sneaky code in that detects if your regular non-proxied access will receive some other network path via a .onion domain. It is not clear to me what exactly they are doing with this knowledge.
loa_in_•7mo ago
That's anecdotal or is there something to confirm this?
iaaan•7mo ago
Not the person you replied to, but theoretically, it's easy for me to imagine how that would work, so I'd definitely be wary of using a solution like this.
geocar•7mo ago
Hi. I checked your profile and it says you like to be referred to as a "black hat hacker" who is being "pursued by multiple agencies".

Can you explain exactly what you hope to do with this knowledge?

Or is it not obvious when pointed out to you that you would have a different IP address accessing a .onion address and a .com address at roughly the same time?

irelephant•7mo ago
It says "i wish" right under that.
fucker42069•7mo ago
terrible idea since .onion websites can (and many do) load resources from non-.onion urls
amiga386•7mo ago
I feel the new oniux command is doing both the right thing and the wrong thing:

- right thing: catch every network access and redirect to Tor

- wrong thing: create the user expectation that (if you remember to prepend "oniux") it'll catch every network access and redirect to Tor

It is essentially moral hazard. What happens when you accidentally forget "oniux"? Or think you've booted up a Tails environment but it's not? Or mistake the Tor Browser window for a Firefox window? You only have to resolve a DNS name _once_ for the world to know you're interested in accessing it.

I like the idea that oniux should not only intercept gethostbyname(), but also always set standard environment variables pointing to its SOCKS proxy. That way curl can do the right thing - refuse to pass .onion names to gethostbyname() - but support automatically passing them on to a proxy. If it's a non-Tor proxy, it should also do the right thing and refuse to resolve .onion addresses, leaving only safe ways forward, which is passing on name resolution to whichever proxy is configured, and the only proxy that will resolve .onion addresses is the Tor proxy.

0points•7mo ago
oniux is completely new to me, but this is not at all a new idea.

torsocks has been available doing the same thing since 2008.

irelephant•7mo ago
I'd say its advantage is being made officially by tor.
Ey7NFZ3P0nzAe•7mo ago
Had not heard about oniux:

https://blog.torproject.org/introducing-oniux-tor-isolation-...