Bonum Certa Men Certa

Help Make Techrights (and Other Technology-Centric Sites) More Robust to Censorship by Setting Up More IPFS Nodes

IPFS large logo



Summary: We're trying to improve the site's availability (ensuring it can never be offline) and make it more censorship-resistant; people who adopt IPFS can make that happen while tackling the "bloated Web" and "centralised Internet" issues -- all at the same time

JUST over a month ago we hooked up with data-centric security folks who had offered help with Techrights. Having faced legal threats over the years (for exposing corruption), we're always looking for ways to avert or discourage such attempts (ideally, even if we're forced to go offline or remove something, we want that to be outside our control, i.e. inability to comply, even if there's a will to comply). We don't typically just repeat what other sites say, we have many exclusive stories and we publish leaks (unseen beforehand).



Now, less than a month later, we have a pipeline for publishing the site both as text and over distributed protocols. The Techrights IPFS node over here (at home) now exceeds 50GB in traffic, just 3 weeks down the line (after introducing people to it, i.e. 'going public'). Not bad considering how young it is. It's always active, offering full site access. There's no single point of failure, no HTTP, no WWW, no HTML. It's very text-centric and thus compact, portable and so on. No bloat associated with exporting/importing images, fonts, JavaScript and so on.

Earlier today we published many pages of internal EPO material; we need to get those sorts of things backed up, as EPO management can be litigious and threatening (they tried it on us several times). Techrights is home to many other important bits of material; months ago we published old debian-private archives (1990s only); those were accessed nearly 30,000 times in this past week alone. Giving Debian better transparency 2.5 decades later can't be a bad thing. In fact, nobody contacted us regarding removal or redaction. Those mailing lists are pretty harmless and barely even embarrassing. Due to their age, they don't present/pose a threat to anybody's career.

"In other words, the more people participate in this network, the more robust and censorship-resistant it'll become. This, in turn, can attract more high-profile whistleblowers with high-profile leaks."Now, on to the 'beef' of this post...

This past autumn we spent time coding and testing a bunch of stuff (at the back end for the most part). First we made everything in the site accessible in/as text. Plain text. Nice and simple. Then, we explored a number of distribution systems. At the end we went ahead of IPFS, seeing that it is decentralised and Web-agnostic (its protocols aren't connected to the Web, unless a gateway is set up). We already have a number of devices pinning and serving the site's pages (or objects) upon request by CID.

Share large logoHow can readers help? They can become nodes. The material itself isn't sensitive (everything in it is public anyway), but it's precarious in the sense that takedown requests can be attempted against our main servers; we want to make it very clear upfront that it's an exercise in futility because many copies of the articles are already 'out there', being distributed by peer, not from a single point (of potential failure).

In other words, the more people participate in this network, the more robust and censorship-resistant it'll become. This, in turn, can attract more high-profile whistleblowers with high-profile leaks.

An informal manual was typed up by one of us as a sort of primer for those wishing to set up their own node. It ought not be hard to achieve (by just following the series of steps). Those instructions were written for a Raspberry Pi with Debian, but the hardware and the distro ought not matter much because we use the binaries rather than repos.

"I'm going to outline a pragmatic setup that you can use to get going with IPFS on any host," said the manual's author. Here's the recipe:




SUMMARY



Make user + group for IPFS. All further steps are to be performed under IPFS user's "~/" (home directory).

Download and extract latest Go binaries available from official tarball.

Symbolic link Go binary executables, from tarball, into "~/bin".

Download and extract latest IPFS binary available from official tarball.

Symbolic link IPFS binary executable, from tarball, into "~/bin".

BEGIN IPFS BASIC USE GUIDE SUMMARY



What's covered:

IPFS conceptual overview.

Help from the `ipfs` command itself.

Initialise ipfs for your IPFS user.

List pinned IPFS objects.

Add/pin IPFS objects.

Remove pinned IPFS objects.

Run garbage collector for IPFS objects.

Check IPFS stats.

Check a file's CID without adding/pinning to IPFS.

SETUP DETAILS



Make a dedicated user and group for IPFS on your machine. This will keep things manageable, down the line. Everything should be done under the IPFS user's home directory "~/".

Grab the latest Go binary you can find. Set it up in the home directory of your IPFS user. You can find the latest Go binary here. There are builds for a wide array of operating systems and CPU architectures.

Extract the tarball; look in "/bin" in the tarball for the binary executables. Right now there are two binaries, "go" and "gofmt".

Create a symbolic link in "~/bin" for the binary executables you find in the Go tarball. You should be able to run `$ source ~/.profile` to make sure "~/bin" is in PATH, for the IPFS user.

This completes the Go setup.

Next, we tackle the IPFS setup.

Download the latest binary you can get for go-ipfs from here. This binary should be packed in a tarball.

Extract the tarball.

"go-ipfs" is the name of the binary executable. Create a symbolic link for this binary in "~/bin". You don't need to use the setup script provided. It'll just mess with things that don't need messing.

IPFS BASIC USE GUIDE



Think of IPFS as a filesystem that lives on the Internet. Each file is an IPFS object denoted by a hash called the CID (content identifier).

`ipfs --help` includes help for commands and subcommands. Always double-check with this to make sure that anything you read on the Internet about IPFS matches up to the binary you actually are using on your system.

Before you do anything with ipfs, make sure to run `ipfs init`. This will populate "~/.ipfs" for you. That's all you need to do for initial setup.

You can "deploy" ipfs locally with `ipfs daemon`; this process will be running in the foreground and print to the terminal (probably stdout). You can just put it in the background and redirect stdout and stderr to a log file to manually monitor what it's doing. Killing this daemon will mean your IPFS node is no longer online. Feel free to control this daemon in whichever method you choose. This guide is kept as abstract as possible to enable deployment in maximum number of environments.

Files from your host can be added to IPFS as something called IPFS objects. The ipfs command for this is, unsurprisingly, called `ipfs add`. `ipfs add path` will add the specified file or directory to IPFS.

By default, `ipfs add` "pins" objects in your local IPFS datastore. What is a "pinned object"? A pinned object is an IPFS object in your local IPFS datastore that doesn't get garbage-collected.

`ipfs pin ls` is a good way to view your pins. `ipfs pin rm` can be used to remove pins; if you try to remove the wrong type of pin, IPFS will get mad and yell at you because it's probably a recursive pin (you'll see what kind of pin an IPFS object is in the output for `ipfs pin ls`); a top-level pin will probably be of type "recursive" (so you'll need to remove that to get rid of all the pinned objects that are associated).

You can check bandwidth status with `ipfs stats bw`. Good way to keep track of your precious bandwidth. ipfs comes with some default pins. You might want to get rid of those with `ipfs pin rm` to save on bandwidth. Those pins are documentation, however, so it's up to you if you want to keep them around or not.

Just removing a pin is not enough to ensure pin(s) are no longer is eating up your local IPFS datastore space. `ipfs repo gc` will run the garbage collector to get rid of all the unpinned IPFS objects.

The default IPFS configuration is pretty sane. You can find the default config file for IPFS in "~/.ipfs/config"; the config file is formatted in JSON. See `ipfs config --help` for further details.

Remember: always check `ipfs <command> <subcommand> --help` for definitive guidance on your binary's implementation. `ipfs --help` should be skimmed, in full, before you do anything with IPFS; you will likely find commands to help you with what you want to do. Don't forget that `ipfs <command> --help` and `ipfs <command> <subcommand> --help` are always available for you as well.

Consuming IPFS objects is straightforward. Just look at `ipfs get --help` and `ipfs cat --help` for instructions.

To check what a file's CID is, without adding/pinning to ipfs, just run `ipfs add -n /path/to/file`; see `ipfs add --help` for details. This is going to be a very important operation if you want to do any automation. It helps knowing what a file's CID will be before doing any operations live IPFS operations on it.

You should now be able to independently navigate the Internet for further information on IPFS. Official, online, documentation available here. Remember to always cross-check `ipfs version` and `ipfs <command> <subcommand> --help` to ensure what you read on the Internet is applicable to the IPFS binary executable on your system.

Image attributions: Font Awesome (Creative Commons Attribution 4.0 International) and IPFS project (Creative Commons Attribution-Share Alike 3.0 Unported)

Recent Techrights' Posts

Natural Disasters and Personal Disasters
Thank you, Om Malik, for the positive memories
Microsoft Already Closing Down Studios, According to Some Publishers
It is being compared to what happened in Intel
IBM PIP Stories Told in Public, Fake IBM News (Fabricated Claims) Drown Media Sites
IBM is seeding fake news to help justify the bailout
The Register MS is Promoting a Pyramid Scheme for Money, But It Is Over 6 Million Pounds in Debt
How much lower can the reputation of this publisher sink?
The Cyber Show on How Data is Misused and Broadcast is Abused to Crush Resistance to Harmful Technology
We recently published a number of articles about how Computer Science is coming under attack
Assessing the "Worth" of a Life
Don't let blunt plutocrats decide whether Venezuelans deserve sympathy or not
 
Firehose of Spam (Fake News) From The Register MS Today
This is how awful the state of news sites really is
Slopfarms Becoming Scarce and Few (or Inactive)
we'll try to refrain from even giving the remaining slopfarms any visibility
The Register MS Promotes Things That Do Not Exist... for Money
How much more ZTE spam will come out before 5PM?
Links 26/06/2026: RIP, Om Malik, 1966-2026
Links for the day
Memory Leaks Suck
Slop ('vibe') coding means lots of bad programs
Gemini Links 25/06/2026: Life Philosophy and Misery
Links for the day
GAFAM Became a Mainstream Term, and Why Words Matter
Conveying problems in useful terms [...] Impairing propaganda attempts (e.g. calling parrots "intelligence", back doors "confidential", and outsourcing "cloud") should be the first step
European Patent Office (EPO) on Strike Today, Next Week Another Historic Week
If you live in Europe, contact your delegates today
FSF FreeJS Project (Part of the GNU Project's Goals) Advanced Further in 2026
They're moving to reduce dependence on anything to do with Microsoft
SLAPP Censorship - Part 119 Out of 200: Our Suggestions to Our Politicians and Heads of State
coverage about SLAPPs and related matters
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Thursday, June 25, 2026
IRC logs for Thursday, June 25, 2026
Microsoft Falls to Lowest Value Since 2023
Microsoft can come back down to somewhere below $100
This Could be the Start of Microsoft's Biggest Wave of Layoffs in 50+ Years
This is what it looked like for Intel a few years ago
Gemini Links 25/06/2026: Unix-like People and NeoGeo
Links for the day
Members of the Delegations in the EPO's Administrative Council Told That Amid Unrest Campinos Must Go; a Year of EPO Strikes Means It's Time to Change Leadership
Which strategy is needed for the European Patent Organisation?
Increasing Participation Rates in Staff Representatives' Elections at the European Patent Office (EPO)
The industrial actions seem to have brought colleagues closer together
Microsoft's Mass Layoffs Have Already Begun (Could Not Wait 'Til July)
Microsoft's biggest layoffs round in 50+ years?
Planning 20-Year Techrights Event
Interested people can contact us in IRC
Links 25/06/2026: Earthquakes Strike Venezuela, Conflict of Interest in Kangaroo Court UPC
Links for the day
More Weight of IBM's Stock is Ascribed to Lies and Things That Do Not Exist
Turning stones into gold?
SLAPP Censorship - Part 118 Out of 200: Exposing Crimes is Not a Crime, It is a Public Service
We will soon enter the sixth year of lawfare
Links 25/06/2026: "Why We Need Seed Legislation" and XBox Chaos Predicted by Insiders
Links for the day
Gemini Links 25/06/2026: Hobbies Change, Young love, Strange Encounter, and Raspberry Pi Zero W
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, June 24, 2026
IRC logs for Wednesday, June 24, 2026
Don the Con Meets the Conman From IBM, Shares of IBM Continue Sliding Some More
The "Quantum" hype did not last long [...] PIPs are the new layoffs
Retaliatory Whistleblowing Expected at Microsoft During or After the Mass Layoffs
Retaliatory behaviour by Microsoft will backfire
Gemini Links 24/06/2026: Heatwave, Steam Next Fest, and Year of Buying Guitar Pedals
Links for the day
Links 24/06/2026: China Tops "TOP500", Impact of Microsoft’s Massive Layoffs Extends Further, Internet Society's Community Snapshot
Links for the day
While Thousands at IBM Lose Their Jobs ("Silent Layoffs") IBM's CEO Goes Begging the Dictator for Bailouts, Based on Deliberate Lies About "Quantum"
Many who claim to be retiring are only in their 40s and 50s. They're too proud to publicly admit what IBM did to them.
European Patent Office (EPO) Series: London Calling...
EPO Vice-President in charge of the "Patent Granting Process" is likely to have been a pay-off for the support which the UK gave to Campinos in 2017
Faking Productivity With Slop and Wasting Money on Faking 'Productivity': A Microsoft Story
If the quality of everything at Microsoft goes down
IBM Sends Workers 'Packing', Sometimes With the "Low Performer" Label That Imperils Their Future
To many people out there, IBM correlates with deceit
Links 24/06/2026: Four-Day Workweeks, GM Cut 1,000 Workers at Its EV Plant, 21,000+ Oracle Layoffs
Links for the day
A Step in the Right Direction (EU) in the Fight Against LLM Slop From GAFAM (US)
We've already mentioned this in Daily Links, but let's discuss this a little further
SLAPP Censorship - Part 117 Out of 200: Libel Tourism or Defamation Forum-Shopping in the United Kingdom Condemned by the European Union (EU)
Last week we reminded readers that the EU had criticised UK defamation law
Demonstration Next Week at the European Patent Office (EPO), Administrative Council Seen as Complicit
Corruption in Europe hurts all of us
IBM is Now Hinged on False Accounting and False Promises
This is the legacy of the current CEO
"PARTNER CONTENT" or 'Content Farms' That Promote Slop and Misinformation (The Register MS)
The Register MS represents a big part of the problem we all face
Wikipedia - Like Some Free Software Projects Infiltrated and Bribed - Bans Its Own Founder
Over the years we've named (not shamed) some projects and organisations that got corrupted by money and ended up banning their own founders
Turn Off the Slop, It's Wasting Energy and Destroying the Planet (the Only Planet We Have)
Right now we see lots of headlines about energy shortages and drained-up reserves
Lessons From Almost 30 Years of Site-Building Activities
We still strive to become faster and lighter
Do Not Outsource (the Seductive Mirage)
Abandoning so-called 'conventional wisdom'
Media Complicit in IBM Fraud Meant to Prop Up the Share Price Based on Lies, Fabrications
Even IBM insiders are fuming at this
The “Aktion T4” at the European Patent Office (EPO) Saves Money for the President's Own Purse
Call for parents of children with special needs
In Some Countries, Windows Has Lost Its Monopoly
Windows fell to an all-time low globally this month
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, June 23, 2026
IRC logs for Tuesday, June 23, 2026
Gemini Links 24/06/2026: Motivation, PostScript Printer, and Why Hyperscalers and the Smolnet are Compatible
Links for the day