Get SAMIZDAT Today
Download and install your own Samizdat node in your computer, be it Windows, MacOS or Linux. One tool, samizdat-up, drives the whole thing on every OS.
Samizdat Node lets you view and publish content on the Samizdat network. Runs on Linux, macOS, and Windows. Pick your OS.
Two commands. The first one drops the samizdat-up installer on your machine. The second one tells it to set up the node service.
curl -fsSL https://series-v5bknud2nujn5bmgrmtmxovrncwhedw4a6jtrnhz4yn3ovm2wxjq.hubfederation.com/latest/install.sh | sudo bash
sudo samizdat-up install nodeDid it work?
Open http://localhost:4510 in your browser. The Samizdat home should load. If it does not, see below.
If something looks wrong
- Port 4510 already in use? Something else has it. Stop it, then
sudo systemctl restart samizdat-node. samizdat: command not found?samizdat-up install nodedrops binaries in/usr/local/bin. Make sure that is on your$PATH.- Service will not start?
sudo journalctl -u samizdat-nodetells you why. - Want to upgrade later?
sudo samizdat-up update. - Want to remove it?
sudo samizdat-up uninstall node(or add--purgeto also wipe data). - Anything else? Open an issue with what you tried and what you saw.
On macOS the installer (samizdat-up) ships via Homebrew. After installing it, point it at the node service.
brew tap tokahuke/samizdat
brew install samizdat
sudo samizdat-up install nodeDid it work?
Open http://localhost:4510 in your browser. The Samizdat home should load. If it does not, see below.
If something looks wrong
- Port 4510 already in use? Something else has it. Stop it, then
sudo launchctl kickstart -k system/com.samizdat.node. samizdat: command not found?samizdat-up install nodedrops binaries in/usr/local/bin. Make sure that is on your$PATH.- Service will not start?
sudo launchctl print system/com.samizdat.nodeshows its state; thestderrpath printed there has the daemon log. - Want to upgrade later?
brew update; brew upgrade samizdatupgrades the installer;sudo samizdat-up updateupgrades the daemons. - Want to remove it?
sudo samizdat-up uninstall node(or add--purge), thenbrew uninstall samizdat. - Anything else? Open an issue with what you tried and what you saw.
Download samizdat-up.exe, save it in your PATH, then run it from an elevated PowerShell prompt:
samizdat-up.exe install nodeDid it work?
Open http://localhost:4510 in your browser. The Samizdat home should load. If it does not, sc.exe query SamizdatNode shows whether the service is up.
If something looks wrong
- SmartScreen? See the click sequence above.
- Want to upgrade later?
samizdat-up.exe updatefrom an elevated prompt. - Want to remove it?
samizdat-up.exe uninstall node(or--purge). - Anything else? Open an issue with what you tried and what you saw.
When it loads, the getting started page is your next stop.
What it needs
A few hundred MB of memory in steady state. Some GB of disk to build the cache of stuff we are going to store; the node cleans up what you stop caring about. Outbound UDP to a hub (default: testbed.hubfederation.com). Installation needs elevated privileges on every OS: sudo on Linux + macOS, admin on Windows.
If you want to work for the cause, welcome aboard! To serve a Samizdat Hub, you will need
- Access to some computing resource that can be up 24/7, such as a desktop server or a cloud VM. As little as US$5 per month works.
- A public IP (preferably both v4 and v6) associated with the machine. If you use a cloud platform this is usually a checkbox.
- A Linux distribution.
If you have checked all the boxes, install (as root):
curl -fsSL https://series-v5bknud2nujn5bmgrmtmxovrncwhedw4a6jtrnhz4yn3ovm2wxjq.hubfederation.com/latest/install.sh | sudo bash
sudo samizdat-up install hub
Did the Hub start?
systemctl status samizdat-hub should say “active (running)”. If not, journalctl -u samizdat-hub tells you why.
Firewall
Open UDP 4511 inbound so other nodes can reach the hub. That is the matchmaker port; everything else is local.
The Hub’s admin HTTP (port 45180) binds only to 127.0.0.1 on purpose. SSH-tunnel in if you need it.
If you want public HTTPS access to a Samizdat node, from people who do not have Samizdat installed, run a proxy in front of it. You will need:
- A Samizdat Node running on the same machine. The proxy forwards reads to it.
- A public domain pointed at your machine. The proxy gets a Let’s Encrypt cert for it.
- A public IP, a Linux distribution, and the willingness to keep the box up.
If you have all of that, install (as root):
curl -fsSL https://series-v5bknud2nujn5bmgrmtmxovrncwhedw4a6jtrnhz4yn3ovm2wxjq.hubfederation.com/latest/install.sh | sudo bash
sudo samizdat-up install proxy
After install, edit /etc/samizdat/proxy.toml (set https = true, your domain, and your contact email for Let’s Encrypt), then sudo systemctl restart samizdat-proxy.
Did the Proxy start?
systemctl status samizdat-proxy should say “active (running)”. If not, journalctl -u samizdat-proxy tells you why. ACME (Let’s Encrypt) errors land in the same journal; grep for acme if HTTPS is not coming up.
Firewall
Open TCP 80 and 443 inbound. Port 80 handles the ACME challenge and redirects HTTP to HTTPS; port 443 carries the HTTPS traffic that the proxy forwards to your local node.