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

Rumour: After FSF Abandons Office in Boston LibrePlanet Will Also Leave Boston
In the past, Libreplanet (or LibrePlanet) was 'branched' out of MIT to "lesser" universities in the same city
linuxsecurity.com is 100% Slopfarm, Nonstop Fake 'Articles' About Security and "Linux"
More than one fake 'author' participates in this, so it deserves condemnation
Social Control Media as a Rapid Race to the Bottom - Part III - Foreign Interference and Chaff/Flare
Why would you trust alleged 'communication' (platforms) controlled by the same people who cut your undersea cables?
[Video] Richard Stallman Explains What Intelligence in Computing Really Means and How Old That Is (Story About 1975, 50 Years Ago)
Uploaded 11 hours ago by Manuel Cuda News
 
Microsoft Laid Off Several Thousands of Workers (Not Counting Those Driven Out) in 3+ Waves of Layoffs in 2 Months in 2025
About a thousand workers laid off per month
Microsoft Reduced to Almost Nothing in the Congos
Even worse for Microsoft in DRC (Democratic Republic Of The Congo)
Why We No Longer Hear About "Red Hat Layoffs"
Sometimes they don't call them "layoffs" are all; it's just PIPs, RTO, and "relocation" offers. They try to compel people to resign/retire
Reputation is Not a Human Right, It's Something One Earns
One can also lose one's reputation for harming women
FreeBSD Foundation is Trying to Improve "Laptop Support", But It Has Outsourced Everything to Microsoft Proprietary Software
Despite many valid alternatives existing and fast maturing
Links 06/03/2025: Discord Wants the Public to Pay for Losses, MongoDB Shares Collapse
Links for the day
Gemini Links 06/03/2025: Remaking Sites, Gemini Capsule Turns 5
Links for the day
Links 06/03/2025: Trade Wars, Trademarks, Attacks on (and by) the Media, Digg to Relaunch
Links for the day
The Fall of the Open Source Initiative (OSI): The Problems Are Much Bigger Than the Rigged Elections
It's not only about elections
Dr. Andy Farnell on Brutality and (or of) Brute-Force Computing
"Understandably, the ecological cost of compute was never really on the minds of pure computer scientists"
IBM Absorbs More of Red Hat and There Are Several Layoff Rumours
Those are just rumours for now
Gemini Links 06/03/2025: Digg, Project Failure, and More
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, March 05, 2025
IRC logs for Wednesday, March 05, 2025
Links 05/03/2025: Prioritising Science, Patents Squashed
Links for the day
Gemini Links 05/03/2025: News Processing, Misbehaving, and Git
Links for the day
GNU/Linux Cracking Past the 4% Barrier in Hungary
There are still quite a few very famous developers and Free software projects from Hungary
Meanwhile in the Matrix Room #dei:fedoraproject.org
Remember that IBM does a lot of perception manipulation
Rumour About Red Hat Layoffs Yesterday
Can somebody from Red Hat or someone who knows someone there (impacted or not) confirm that there are layoffs this week at Red Hat?
New Short Clip of Richard Stallman's Thoughts on the "Hey Hi" (AI) Hype, Courtesy of Manuel Cuda News
about 6 hrs ago
What is fixated behavior? Stalker or just a fan of Emma Raducanu?
Reprinted with permission from Daniel Pocock
In Iran, GNU/Linux Reaches New Highs, According to statCounter
Does that make sense? In light of geopolitics? Probably.
Always Safety First
We have some reasons to suspect that one of several parties (possibly not in the UK but having connections here), having suffered major and very expensive setbacks, may look to harm the messenger one way or another
Links 05/03/2025: Starbucks Debt Soars and CFO Changed, Apple Pretends to Value Privacy, "Cloudflare Blocking Privacy Focused Users From Accessing Third-Party Websites"
Links for the day
Canonical's Latest Love Letter to Microsoft (Ubuntu Promoting Proprietary Spyware With Back Doors)
Typical Canonical, promoting Microsoft (and sometimes Windows) instead of competing against them
What Microsoft and GitHub Really, Really, REALLY Do Not Want You to See or Know About
They're trying to misuse law in a completely different continent or to allege that reporting important facts is in breach of privacy law
Slopwatch: linuxsecurity.com and Other 'Linux' Sites With LLM Slop
SEO spam with machine-generated fodder, plus a person to whom English isn't a first language
GNU/Linux Climbs to Record Levels in Switzerland. Can the EU, Norway, the UK, and Switzerland Divorce GAFAM?
Germany openly speaks about becoming independent from the US. How about Switzerland?
Gemini Links 05/03/2025: Living in Interesting Times, Font, and Social Control Media with Gos v1.0.0
Links for the day
Just Because Common Currencies (Including the US Dollar) Are Considered Uncertain Doesn't Mean People Should Adopt Volatile Multi-Level (Pyramid) Schemes
the scammers are trying to "go mainstream"
Use RSS Readers Instead of Social Control Media
RSS readers were designed to save time. Social Control Media was designed to waste time.
The 'Windows Era' Already Came to an End
Microsoft said to shareholders everything would be alright because of "clown computing" and then "hey hi"
The Fall of the Open Source Initiative (OSI): Microsoft Committing the Largest GPL Violation in Human History, Then OSI Covering That Up on Microsoft's Payroll
LLMs don't make GPL violations any more noble or acceptable; it's not hard to see what OSI was paid by Microsoft for
Social Control Media as a Rapid Race to the Bottom - Part II - Think Before You Talk
The 'socmed' nonsense does not exist in our home
Links 04/03/2025: Hardware, Health, Data Breaches, Politics
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, March 04, 2025
IRC logs for Tuesday, March 04, 2025
Luxembourg: GNU/Linux at 8% Based on Estimates
steady increases this year
Gemini Links 04/03/2025: Bicycle, Photos, and Motorola 6809 Assemblers
Links for the day
Crossbow tragedy, bigger than Kyle Clifford, social media culture
Reprinted with permission from Daniel Pocock
Microsoft OSI Apparently Still Reading Techrights Closely, Trying to Make Face-Saving PR Moves
They have long had this reactionary rhythm, wherein it feels like we can 'control' what they publish and when by merely highlighting facts about them
Links 04/03/2025: Microsoft/Korea Game Industry Association Workforce Cuts, Outlook and 365 Outage Affects Very Many
Links for the day
Transcript of Richard Stallman's Interview With Manuel Cuda News in Italy (Debunking Fake "AI")
A rough draft, but checked by two people
Chad: All-Time Lows for Windows, According to statCounter
According to statCounter, many in Chad moved to Android
Links 04/03/2025: Universities Are Under Attack, Windows Attracts Ransom Against Ministry of Health
Links for the day
Microsoft Collapses While GNU/Linux Rises in Bulgaria, According to statCounter
Microsoft is losing across all sectors
The Fall of the Open Source Initiative (OSI): An Introduction
In a nutshell: there's a massive conflict inside the OSI and the OSI stooges (staff serving Big Sponsors like Microsoft) try to hide it
Paraguay: GNU/Linux Surging to New Usage Levels (7%), According to statCounter
Notice that the gains are at Microsoft Windows' expense
Social Control Media as a Rapid Race to the Bottom - Part I - That Sinking Feeling
When you realise you made an error and things you adopted more than 15 years ago became utterly bad
Microsoft's Entryism as Mortal Risk/Danger: The Example of the Open Source Initiative (OSI)
Microsoft is a cult
Links 04/03/2025: Microsoft Issues Policy Instructions to the Cheeto Mussolini Administration, Cloudflare Engages in Mass Censorship Again
Links for the day
Gemini Links 04/03/2025: Athens, Fedora 41, and Yelling at Clouds
Links for the day
FSF Amicus Brief: Aspose.PDF for .NET 24.2.0, OOXML (.docx), and Microsoft Word (Proprietary)
Could the FSF not find any law firm that, in addition to talking about or for Free software, does not use .NET, OOXML, and almost everything Microsoft?
New Interview With Richard Stallman in Italy (Manuel Cuda News)
Due to Google's growing aggression against Free software and proper APIs, this cannot be downloaded and converted to a free format
The Free Software Foundation (FSF) Belatedly Comments on Case That Tests Copyleft in the United States
"The Free Software Foundation (FSF) announced today it has submitted an amicus brief in the case entitled Neo4j"
If They Try to Censor You on Some Topic, Then You Should Cover This Topic Even More
OSI is only a small part of it
The UEFI hype and Microsoft's lies
By Sami Tikkanen
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, March 03, 2025
IRC logs for Monday, March 03, 2025
Thorsten Glaser & Open Source Initiative (OSI) resignations due to AI whitewashing
Reprinted with permission from Daniel Pocock