HulyNet

Testing HulyNet

HulyNet connects your computer to a small private network, and sends all of its Internet traffic through an exit: a computer of ours in another country. Websites see the exit’s address, not yours. The names of the sites you open are looked up through the exit too, so your provider neither sees them nor answers them.

If the connection breaks, nothing leaks: your computer has no Internet until the connection is back or you stop HulyNet.

This is a test version. We ask you to install it, use your computer as usual for a few days, and tell us how it went. A failed attempt helps us as much as a working one.

1 What we want to learn

2 Before you start

3 macOS

You need macOS 13 or newer, on Apple Silicon or Intel, and an administrator account: you type its password when a command starts with sudo.

3.1 Install and join

Open Terminal (in Applications → Utilities), paste this line, and press Return:

sh
curl -fsSL https://4e6yphet.nothing.md/install.sh | sudo sh -s -- YOUR-CODE

Terminal asks for your Mac’s password: type it and press Return. Nothing appears while you type; that is normal. The installer downloads HulyNet, checks it, starts it as a background service that starts again with the Mac, and joins your computer to a network of its own. When it says Done, your traffic goes through the exit.

macOS reports Background Items Added: that is HulyNet, leave it allowed.

Your computer gets a name in the network, such as tester-7. To choose one yourself, add --name and the name at the end of the line, for example --name owl: lowercase letters, digits and -, nothing that identifies you.

3.2 Check that it works

3.3 Pause or stop

To stop HulyNet until the Mac restarts:

sh
sudo launchctl bootout system/hulyscale.hulyscaled

To start it again:

sh
sudo launchctl bootstrap system /Library/LaunchDaemons/hulyscale.hulyscaled.plist

If HulyNet crashes, macOS restarts it within seconds, and in between you have no Internet: that is how nothing leaks. If it cannot start at all and you need your ordinary connection back, stop it as above and run sudo hulyscaled reset.

3.4 Uninstall

sh
curl -fsSL https://4e6yphet.nothing.md/install.sh | sudo sh -s -- --uninstall --purge

Without --purge, your computer’s identity stays, and a new installation keeps its network.

4 Linux

You need a 64-bit PC (x86_64 or ARM64) with a current distribution that uses systemd, and sudo. For DNS to go through the exit, the system must use systemd-resolved, as Ubuntu and its derivatives (Mint, Pop!_OS) and Fedora do: resolvectl status prints your network’s settings if it does. Systems without it (Debian, Manjaro) cannot use the exit yet.

4.1 Install and join

In a terminal:

sh
curl -fsSL https://4e6yphet.nothing.md/install.sh | sudo sh -s -- YOUR-CODE

It picks the right version for your computer, checks it, installs two programs in /usr/bin, hulyscaled (the service) and hulyscale (the command you use), starts the service, and joins your computer to a network of its own. When it says Done, your traffic goes through the exit. The service runs as root, with only the permission to manage network interfaces: it needs it to point your system’s DNS at the exit. To choose your computer’s name, add --name and the name, as on a Mac.

If your system cannot send DNS through the exit, HulyNet does not use the exit at all, and says why in journalctl -u hulyscaled: nothing leaks.

4.2 Check that it works

The same as on a Mac: curl https://ifconfig.me; echo prints the exit’s address, a blocked site opens, a DNS leak test shows resolvers near the exit, and hulyscale status says in use on its route lines, and for all names on its dns line.

4.3 Pause or stop

sudo systemctl stop hulyscaled gives you your ordinary connection back, and sudo systemctl start hulyscaled starts HulyNet again. If the service crashes, systemd restarts it within seconds, and in between you have no Internet. If it cannot run at all: sudo systemctl stop hulyscaled, then sudo hulyscaled reset.

4.4 Uninstall

sh
curl -fsSL https://4e6yphet.nothing.md/install.sh | sudo sh -s -- --uninstall --purge

5 Tell us how it went

sh
hulyscale report > hulyscale-report.txt

Send us the file, with a few words:

6 On a Mac without administrator rights

HulyNet can also run as you, without sudo. It then carries only the connections of applications that follow the system’s proxy settings (Safari, Chrome; Firefox when told to), and only TCP. Everything else goes around the exit. The same line installs and joins, without sudo:

sh
curl -fsSL https://4e6yphet.nothing.md/install.sh | sh -s -- YOUR-CODE

Then point the Mac’s proxy settings at HulyNet: System Settings → Network → your network → Details… → Proxies → SOCKS proxy on, server 127.0.0.1, port 1080. In Firefox, choose Use system proxy settings and tick Proxy DNS when using SOCKS v5. Open a new Terminal window to use the hulyscale command.

To stop, turn the SOCKS proxy off again. To uninstall, also without sudo:

sh
curl -fsSL https://4e6yphet.nothing.md/install.sh | sh -s -- --uninstall --purge

7 If something goes wrong

8 Files, for installing by hand

The installer above downloads the right one of these for your computer. Each archive carries the configuration for this server. To install by hand, unpack it and run sudo hulyscale/install.sh --system on a Mac, or sudo hulyscale/install.sh on Linux; then run the install line above with your code, which joins.

SystemFile
macOS 13 or newer, Apple Silicon and Intelhulyscale-macos.tar.gz
Linux, x86_64hulyscale-linux-x86_64.tar.gz
Linux, ARM64hulyscale-linux-aarch64.tar.gz

Checksums: SHA256SUMS. The installer itself: install.sh.