Mirror This Site
This site is designed to be copied and redistributed. The more mirrors that exist, the harder it is to take down. Choose whichever method works for you — they range from "drag a folder onto a USB stick" to "host a Tor hidden service from your laptop." If you're not sure which to start with, the USB and Direct Download options need no technical setup; the rest involve a terminal or a server.
A note on opening the manual locally: if you just double-click home.html from a folder (so the URL starts with file://), you'll be able to browse all pages and click into PDFs — that part works fine. But the in-page preview modal (Document / Text / Summary tabs) and the search page won't work, because modern browsers block JavaScript on file:// pages from loading other local files. To get the full experience, run a tiny local web server in the folder. The simplest way is one terminal command: cd /path/to/field-manual then python3 -m http.server 8080, then visit http://localhost:8080/home.html. The same trick applies on the receiving end of any USB or downloaded copy.
1. Download Everything
Pull the entire Field Manual onto your computer as a self-contained folder. Once you have it, you can browse the manual offline — no internet required. Double-clicking home.html works for general navigation; for the preview modal and search to function, serve the folder with a tiny local web server (see the note at the top of this page). The folder is your mirror; you can copy it anywhere from that point on.
Option A: Direct download
The easiest path: grab a pre-packaged zip archive. "Zip" just means the entire site folder has been compressed into a single file so it can travel as one piece. After it downloads:
- Mac: double-click the
.zipto unzip it next to itself. - Windows: right-click → "Extract All…" and pick a destination folder.
- Linux:
unzip field-manual.zipin a terminal, or use your file manager's "Extract" option.
Then open the resulting folder. Double-click home.html for basic browsing, or run python3 -m http.server 8080 inside the folder and visit http://localhost:8080/home.html for full search and preview-modal support.
Option B: Use wget
If a pre-built zip isn't available or you want the very latest version, wget can walk every link on the site and pull down a complete offline copy. It's a command-line tool that comes with Linux and can be installed on Mac (brew install wget) or Windows (via Chocolatey: choco install wget).
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://SITE_URL/
What each flag does:
--mirror— recursively follow every link and download everything reachable from the starting page.--convert-links— after downloading, rewrite internal links so they point at the local files instead of the original URLs. This is what makes the mirror work offline.--adjust-extension— if a page is served without a.htmlextension, add one so your browser knows how to render it.--page-requisites— grab all the supporting files (CSS, images, JS, fonts, embedded PDFs) needed to display each page correctly.--no-parent— stay inside the site's directory; don't wander up to parent paths on the same domain.
Replace SITE_URL with the current address of this site (whatever you typed into your browser to get here). Depending on connection speed and total size (~40GB), expect this to take anywhere from 30 minutes to several hours. When it finishes you'll have a folder named after the site's hostname containing the full mirror — open home.html inside it.
Option C: Use rsync (if you have SSH access)
If the person running the upstream site has given you a shell account, rsync is the fastest, most reliable way to grab and later re-grab updates — it only transfers files that have changed since the last sync.
rsync -avz --progress user@server:/path/to/field-manual/ ./field-manual/
What each flag does:
-a— "archive mode": preserves permissions, timestamps, symlinks, and the directory structure exactly as it lives on the server.-v— verbose; print what's being copied.-z— compress data during transfer so it goes faster over a slow link.--progress— show a running progress bar for each file.
Replace user@server:/path/to/field-manual/ with the actual login and remote path. The trailing slash matters: field-manual/ means "copy the contents of that folder," not the folder itself. The local destination ./field-manual/ will be created if it doesn't exist.
2. Host on OnionShare (Tor)
OnionShare turns your computer into a Tor hidden service — a website that lives at a .onion address and is only reachable through the Tor network. You don't need a server, a domain name, or any account anywhere; the address is generated locally and your IP stays hidden. This is the lowest-friction way to share the manual without exposing your identity or paying anyone.
Steps:
- Download and install OnionShare. Available for Mac, Windows, and Linux. The first launch will bootstrap Tor in the background — wait a minute for it to connect.
- Open OnionShare and click "Host a Website". This mode tells OnionShare you want to serve files as a browsable site, not just share them for download.
- Drag the entire Field Manual folder into the window. OnionShare will treat that folder as the website's root: whatever browser hits the
.onionURL will see the manual's home page. - Check "This is a public OnionShare service" (no password). By default OnionShare requires a per-session password key. Checking this makes the site publicly readable to anyone who has the URL — what you want for distribution.
- Click "Start sharing". OnionShare publishes the hidden service and prints a
.onionURL (a long string of letters and numbers ending in.onion). - Share the
.onionURL. Anyone with Tor Browser can open it. The URL won't work in Chrome/Firefox/Safari — only Tor Browser knows how to route to.onionaddresses.
Tips:
- Enable "Persistent mode" in OnionShare's settings before starting. Without it, every restart generates a brand-new random
.onionURL and people who bookmarked the old one are out of luck. Persistent mode keeps the same address across reboots. - Your computer needs to stay on and connected. When you close OnionShare or shut down, the site disappears. For 24/7 availability, run it on a machine you leave on (an old laptop, a Raspberry Pi, etc.).
- Your IP address is never exposed. Every connection enters and leaves through Tor relays, so visitors can't see where your computer actually is. This is the main reason to use OnionShare over a regular web server.
- Performance is slower than the clearnet. Tor adds latency; large pages and PDFs may load noticeably more slowly. This is normal.
3. Put It on a USB Drive
The simplest distribution method, and the one that survives without any internet at all. Copy the folder onto a USB stick (or SD card, external hard drive — anything portable) and hand it to someone. They don't need to install anything, sign up for anything, or trust any service: they double-click home.html and read.
Steps:
- Copy the entire Field Manual folder to a USB drive. On Mac/Windows this is a regular drag-and-drop in Finder/File Explorer. On Linux, the file manager works, or use
cp -r field-manual/ /mnt/usb/in a terminal. Wait for the copy to finish completely before ejecting — pulling the drive early can corrupt files. - On the receiving end, open
home.htmlin any browser. Plug in the drive, navigate to the field-manual folder, and double-clickhome.html. Chrome, Firefox, Safari, Edge — anything modern works. This gives full navigation and lets you open any PDF. - For full search and the preview modal, run a tiny local web server in the folder instead:
python3 -m http.server 8080(Python comes with Mac and Linux; on Windows install from python.org or use the Microsoft Store). Then visithttp://localhost:8080/home.html. This is needed because browsers block JavaScript onfile://pages from loading other local files like the OCR text and metadata. - Everything works offline — no internet needed. All assets (CSS, JavaScript, fonts, images, PDFs) are bundled. The site never reaches out to a remote server.
Tips:
- Format the USB as exFAT if it's not already. exFAT is the most universal filesystem — Mac, Windows, and Linux can all read and write to it without extra drivers. FAT32 works too but breaks on files larger than 4GB, which may matter for some of the bigger PDFs. NTFS is Windows-friendly but Macs can only read it (not write) without third-party software.
- The full site with processed documents is approximately 40GB — use a 64GB+ drive. The
_processed/folder holds OCR'd text, per-page image renders, and inline figures for every document, which is what powers the search and preview features. - For a lighter version without the
_processed/folder (no text search or document preview, just the source PDFs), the site is approximately 12GB and fits on a 16GB stick. Search and the in-page preview won't work, but every PDF still opens normally. - Distribute physically. Consider leaving a few blank USB drives with copies at infoshops, libraries, anarchist bookstores, community gardens, or other spaces where people gather. Don't label the drives in a way that's obviously identifying if you're concerned about who sees them.
- Verify the copy worked by opening
home.htmlon the USB itself before handing it off. If the page loads and you can click through to a chapter, you're good.
4. Host on Your Own Server
If you have a VPS (a rented Linux server somewhere — providers like Hetzner, OVH, or BuyVM are inexpensive and accept anonymous payment) or any always-on machine, you can serve the manual to anyone on the public internet. The site is just static files, so any web server works. Pick whichever feels closest to your comfort level.
With nginx (battle-tested, fast, the conventional production choice):
server {
listen 80;
server_name your-domain.com;
root /var/www/field-manual;
index home.html index.html;
# For TTS support (optional):
add_header Cross-Origin-Opener-Policy "same-origin";
add_header Cross-Origin-Embedder-Policy "credentialless";
}
What each line does:
listen 80— accept regular HTTP traffic on port 80, the default web port.server_name your-domain.com— only respond to requests for this hostname. Replace with your actual domain (or use_as a catch-all if you're testing).root /var/www/field-manual— the directory on disk where the site lives. Replace with wherever you copied the folder.index home.html index.html— when someone visits the root URL, servehome.htmlfirst; fall back toindex.htmlif home doesn't exist.- The two
add_headerlines unlock SharedArrayBuffer, which the in-browser text-to-speech feature needs. Leave them out if you don't care about TTS — the rest of the site works fine without.
Drop this config into /etc/nginx/sites-available/field-manual, symlink it into sites-enabled/, run nginx -t to check for typos, then systemctl reload nginx.
With Python (quick and simple) — good for local testing or sharing on a LAN, not for the open internet:
cd /path/to/field-manual
python3 -m http.server 8080
Python's built-in http.server module spins up a single-threaded web server on port 8080 serving the current directory. Open http://localhost:8080/home.html in your browser and the site is live. Stop it with Ctrl+C. It has no HTTPS, no authentication, and isn't tuned for traffic — fine for trying things out, not suitable for a public mirror.
With Caddy (automatic HTTPS) — the friendliest option if you have a domain name and want encrypted HTTPS with zero certificate-management work:
your-domain.com {
root * /var/www/field-manual
file_server
}
Caddy reads this Caddyfile and automatically requests a free Let's Encrypt certificate for your-domain.com on first start. No certbot, no cron jobs, no renewal scripts — it handles everything. root * /var/www/field-manual says "serve files from this directory for all paths," and file_server enables static-file serving. Run caddy run in the folder containing your Caddyfile, or install as a system service per Caddy's docs.
Tips:
- Point your domain at the server first. Set an A record (and AAAA for IPv6) at your DNS provider pointing to the server's IP. Without working DNS, certificates can't be issued and visitors can't reach you by name.
- Open firewall ports. On most VPS providers, you'll need to allow inbound TCP on 80 and 443 in both the OS firewall (
ufw allow 80,443/tcp) and the provider's cloud firewall. - Mind your operator footprint. Whatever domain, IP, and account info you use is linked to you. Consider domains paid for with cryptocurrency through privacy-respecting registrars (Njalla, etc.) and providers that don't require ID.
5. Share via Torrent
Create a torrent of the Field Manual folder and share the .torrent file or magnet link. This is the most resilient distribution method — torrents are peer-to-peer, so as long as one person somewhere in the world is still seeding (sharing) the file, the content is available. There's no single server to take down, no domain to seize, no provider to pressure.
Steps:
- Open your torrent client. qBittorrent (cross-platform, no ads) and Transmission (lightweight, Mac/Linux/Windows) are the standard picks. Avoid uTorrent — modern versions bundle ads/cryptominers.
- Create a new torrent from the Field Manual folder. In qBittorrent: Tools → Torrent Creator, then select the folder. In Transmission: File → New Torrent. The client scans every file inside, computes a cryptographic hash of each chunk, and packages it all into a small
.torrentmetadata file. Anyone with that.torrentcan verify they received the exact bytes you intended. - Add public trackers or use DHT for trackerless distribution. A "tracker" is a coordination server that helps peers find each other; "DHT" (Distributed Hash Table) does the same job without any server at all — peers gossip among themselves. Modern clients enable DHT by default. Adding public trackers on top makes it easier for new peers to discover the swarm. Both can be enabled together.
- Share the
.torrentfile or magnet link. A magnet link is a self-contained URL starting withmagnet:?xt=urn:btih:...that encodes everything needed to start downloading — no separate file to host. Paste it into chats, emails, social posts, paper flyers, anywhere people will see it. - Keep your client open to seed. After the torrent is created, you're the only one with the data. Until others download and start sharing, you are the swarm. Leave the client running indefinitely if you can; the more seeders, the faster and more reliable downloads become for everyone.
Recommended trackers (paste these in when creating the torrent so peers can find each other faster):
udp://tracker.opentrackr.org:1337/announce
udp://open.demonii.com:1337/announce
udp://tracker.openbittorrent.com:80/announce
You can find longer up-to-date lists at newtrackon.com. Adding more trackers doesn't hurt — clients try them in parallel and use whichever responds.
Tips:
- Use a VPN or Tor while seeding if you don't want your IP visible to other peers. By default, every peer in a swarm sees the IP addresses of everyone else. A VPN masks yours; some clients also support routing through Tor (slower).
- Verify the hash before distributing widely. When you create the torrent, copy the "info hash" (a 40-character hex string). Anyone who receives the magnet link or
.torrentcan confirm they're downloading the exact thing you published if they trust the channel you sent the hash through.