Portable: USB stick, Windows, macOS¶
The portable builds are the easiest way to use Unseenet: one folder with the client and Tor inside, nothing to install. Unzip it, start it, done. Put the folder on a USB stick and you carry your Unseenet with you - your keys, groups and contacts are in the encrypted vault inside it.
Download¶
Get the zips from the releases page:
| File | For |
|---|---|
unseenet-<version>-windows-x86_64.zip |
Windows 10 and 11, 64-bit |
unseenet-<version>-macos-aarch64.zip |
Macs with Apple silicon (M1 and later) |
unseenet-<version>-macos-x86_64.zip |
Macs with Intel processors |
unseenet-<version>-linux-x86_64.zip |
Linux, 64-bit (glibc 2.35 or newer) |
unseenet-<version>-usb.zip |
All of the above in one folder - for a stick that works on any computer |
Check the download against SHA256SUMS.txt from the same release:
certutil -hashfile unseenet-0.2.0-usb.zip SHA256
shasum -a 256 unseenet-0.2.0-usb.zip
sha256sum unseenet-0.2.0-usb.zip
Releases, test releases and development builds¶
| Kind | Version | Where | For |
|---|---|---|---|
| Release | 0.2.1 |
Releases | Everyday use |
| Test release | 0.2.1a1 (alpha), b1, rc1 |
Releases, marked Pre-release | Trying what comes next, before it is released |
| Development build | 0.2.1.dev3 |
Development build | The newest code: built after every change, replaced each time |
A development build is made and self-tested automatically after every change
to the code, so you can try a fix the same day. 0.2.1.dev3 is the third
change after 0.2.0. It may have bugs a release would not. If you report one,
give the version: the About screen (F1) shows it, or unseenet --version.
Your data folder works with all of them: copy it into the new Unseenet
folder to keep your vault.
Put it on a stick¶
Unzip, and copy the Unseenet folder to the stick. Any stick formatted
for Windows (FAT32 or exFAT) works on all three systems. You need about
120 MB per system, 500 MB for the all-in-one folder.
Unseenet/
Start Unseenet.bat Windows: double-click
Start Unseenet.command macOS: double-click
start-linux.sh Linux: sh start-linux.sh
README.txt
data/ your vault, created at the first start
windows-x86_64/ macos-aarch64/ macos-x86_64/ linux-x86_64/
LICENSES/
Start it¶
Double-click Start Unseenet.bat. It opens in Windows Terminal if you have it (Windows 11 does), otherwise in the classic console.
The first time, Windows may show "Windows protected your PC". The program is not signed (a code-signing certificate costs money every year). Click More info, then Run anyway.
Double-click Start Unseenet.command. A Terminal window opens with the client.
The first time, macOS may say the developer cannot be verified. Right-click (or Ctrl-click) the file, choose Open, and confirm. The launcher then lets macOS run the programs in its folder.
From a terminal:
sh /run/media/$USER/STICK/Unseenet/start-linux.sh
USB sticks formatted with FAT are usually mounted without execute permission; the script starts the program anyway, through the system's program loader.
The first start asks for a passphrase for your new vault, a display name and
a node. Starting Tor takes up to a minute; after that, it is quicker,
because Tor keeps what it learned about the network in data/.
Your data¶
Everything is in data/, encrypted with your passphrase (Argon2id and
XSalsa20-Poly1305, UN-RFC 0007):
unseenet.vault- your keys, groups, contacts, settingsunseenet.vault.cache,.sent- saved posts and your sent private messagesunseenet-tor/- Tor's state (no secrets of yours)
Back up data/. It is small. If you lose the stick and have no copy,
your identity is gone - nobody, not even a node operator, can restore it.
If you forget the passphrase, the vault cannot be opened.
The same data/ works with every program in the folder: start on Windows
at work, continue on Linux at home.
What stays on the computer¶
Unseenet writes only inside its folder: no installation, no registry, no
files in your home directory or the system's temp directory. (That is why it
is built as a folder and not as one .exe: one-file programs unpack
themselves into the temp directory at every start.)
But the computer's own system can still record things, and Unseenet cannot stop that:
- Windows keeps Prefetch entries and recent files lists that show a program ran, and antivirus software may scan and log it.
- macOS records opened applications and downloaded files' origin.
- Linux may keep your shell history and system logs.
- The network sees that the computer connects to Tor - not what you do there.
- Anything with a keylogger or screen recorder sees what you type and read.
Use a computer you trust. On a computer you do not trust, assume that everything you type may be recorded.
If Tor cannot connect¶
Some networks block Tor: workplaces, schools, hotels, some countries. Press Ctrl+P in the client and choose Tor bridges:
| Choice | What it does |
|---|---|
| Off | Connect to Tor directly. Best where Tor is not blocked. |
| Built-in obfs4 | Tor traffic disguised as random data. Works in most places. |
| Built-in Snowflake | Goes through volunteers' web browsers; very hard to block, slower. |
| My own bridges | Lines you got from bridges.torproject.org or by email to bridges@torproject.org. |
The built-in bridges come with each release, from the Tor Project. From the
command line: unseenet cli bridges obfs4.
Checking a copy¶
Start Unseenet.bat --self-test # Windows
sh start-linux.sh --self-test # Linux
./macos-aarch64/unseenet --self-test # macOS, from the Unseenet folder
prints which program, vault and Tor it uses, checks that every part loads,
starts Tor and connects to the Tor network. Add --offline to skip the
network, or --node xyz.onion to also talk to a node over Tor - the whole
path a post takes.
Other modes¶
The program in each folder is also the command-line client and a node:
unseenet # the terminal client (default)
unseenet cli --help # the command-line client
unseenet node --help # run a node (see "Running a node")
unseenet --version
How the builds are made¶
Every release is built by GitHub Actions from the tagged source, in the
open: .github/workflows/portable.yml
and tools/build_portable.py.
- Tor is the Tor Project's
Expert Bundle - Tor, its
libraries and the pluggable transports, without a browser. The build
downloads it from
dist.torproject.organd refuses to continue unlessgpgfinds a valid signature by the Tor Browser Developers key (EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290), which is kept in the repository. The version is pinned intools/tor-version.txt; a weekly job opens an issue when Tor releases a newer one. - The client is packed with PyInstaller on each system. Each build is unpacked and self-tested (offline, and over the Tor network) before it is published.
- Releases are drafted by the workflow and published by hand, with
SHA256SUMS.txt.
To build one yourself (you need Python 3.11+, gpg, and the system you are
building for):
pip install ".[tui]" pyinstaller pillow
python tools/build_portable.py # -> dist-portable/unseenet-<version>-<platform>.zip
Known limits¶
- The programs are not code-signed, hence the warnings on first start.
- No 32-bit builds, and no Linux on ARM yet (the Tor Project offers no stable Expert Bundle for it).
- Linux builds need glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora 36 and later).