Recent submissions

Comment · 3 months ago
Comment · 3 months ago
Comment · 4 months ago
It is incredible! It is amazing that they implemented the Windows kernel yourself. It is also similar to gvisor in that it is a userspace kernel. I am curious about the process of making this.
Comment · 6 months ago
Oops, I accidentally left "Show HN:" out of the title.
Comment · 6 months ago
test-foundry is an open-source tool for automating Windows guest testing on top of QEMU.

The main goal is to make kernel driver and UEFI application testing easier, not just regular user-space app testing. It supports VM setup, snapshot-based test runs, guest control over WinRM/SSH, file upload/download, screenshots, panic/reset detection, memory dumps, and offline EFI System Partition patching through preboot steps such as efi-add-file.

It is designed for scenarios like driver installation followed by reboot, BSOD detection, and replacing EFI boot files, all described as step-based YAML tests. More flexible and powerful testing is possible than with Vagrant.

The project is currently focused on Windows guests, with Linux guest support still on the TODO list. Feedback is very welcome.

Comment · 1 year ago
HP printers are similar. They run Linux on two cores and an RTOS on the other.
Comment · 1 year ago
Comment · 1 year ago
It is cgo-free, but it seems to require several libraries. I am concerned that some people may misunderstand that it can be run as a single static binary.

$ ldd libtcl9tk9.0.so linux-vdso.so.1 libXft.so.2 => /lib/x86_64-linux-gnu/libXft.so.2 libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 libXss.so.1 => /lib/x86_64-linux-gnu/libXss.so.1 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 libcups.so.2 => /lib/x86_64-linux-gnu/libcups.so.2 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 /lib64/ld-linux-x86-64.so.2 libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 libavahi-common.so.3 => /lib/x86_64-linux-gnu/libavahi-common.so.3 libavahi-client.so.3 => /lib/x86_64-linux-gnu/libavahi-client.so.3 libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 libunistring.so.5 => /lib/x86_64-linux-gnu/libunistring.so.5 libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0

Comment · 2 years ago
I built a tool called local-tls-proxy, which allows easy setup of HTTPS for local testing. It works by proxying all `https://{PORT}.{IP}.sslip.io` requests to their `http://{IP}:{PORT}` counterparts.

It's especially useful for testing in secure contexts in browsers. The tool automatically generates and installs CA certificates, making it convenient for developers on both Linux and Windows.

---

Usage:

1. Install CA certificate

For Linux: $ sudo ./local-tls-proxy -install

For Windows (administrator mode): > local-tls-proxy.exe -install

2. Run the proxy $ ./local-tls-proxy -port 5443

3. Now, access via https://{PORT}.{IP}.sslip.io:5443/ which proxies to http://{IP}:{PORT}/.

For example: https://5173.127-0-0-1.sslip.io:5443/ proxies to http://127.0.0.1:5173/.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton