You might know the reproducible-builds project, which tries to allow users to verify that what they install actually corresponds to the released source. Or GNU Guix, which provides transparent reproducible binaries — along with a challenge-function.
Given that Freenet is made for people with high expectations for integrity, it might not surprise you that Freenet has been providing a verifyable1 build and a verification script since 2012. However until release 1481, it was a hassle to set up, and few people used it.
But now that we’re on gradle, verifying that what I release is actually what’s tagged in the source is much easier than before.
The following instructions are for GNU/Linux, and maybe other *nixes, allowing you to verify the test release of 1482. You can easily adapt them for future releases.
Since Java puts timestamps into class files and requires signing of jars, the jar is not byte-by-byte reproducible, but the verify-build script unpacks the jar and compares the class-files, ensuring that they only differ in timestamps and similar that do not affect functionality. ↩
In the past decade there hasn’t been a year without a politician calling for real names on the internet. Some even want to force people to use real photos as profile pictures. All in the name of stopping online hate, though enforcing real names has long been shown to actually make the problem worse.
This article presents another solution, one that has actually proven that it keeps communication friendly, even in the most anonymous environment of the fully decentralized Freenet project.
And that solution does work without enabling censorship and harassment (as requiring real names would).
The European Copyright directive threatens online communication in Europe. On September 12th the European parliament takes the crucial vote which can still fix it. But the parliamentarians (MEPs) need to hear our voices.
Dear Antonio Tajani,
In 2014 I contributed to the Public Consultation on the review of the EU copyright rules.2
I publish music online, I write online, I publish Free Software, and I share links to news.
Last month I wrote to my representatives in JURI and asked them to preserve internet freedom. 15 of them nontheless voted to destroy online freedom. I cannot understand how they could vote for a system which will enforce the widespread establishment of technologies which can form the foundation for censorship which lets chinese censorship appear like a paradise of free speech.
Therefore I now beg you to accept the signatures from the petition against article 13.
Please let the voices of the European citizens be heard. Please help us preserve the Europe we love.
The best of wishes,
Dr. Arne Babenhauserheide
The petition against Article 13, currently with over 654,000 signatures: https://www.change.org/p/european-parliament-stop-the-censorship-machinery-save-the-internet ↩
My answers to the public consultation on copyright in the EU: http://www.draketo.de/files/2014-03-04-eu-copyright-consultation-document_en-arne_babenhauserheide.pdf ↩
I will use technical means to realize the zen of tolerance.
Tolerance for intolerance is self-defeating. Continuous disruption of communication is censorship.
This article provides calculations which show that decentralized spam filtering with privacy through pseudonyms can scale to communication systems that connect all of humanity. It is also applicable to other systems than Freenet, see use in other systems.
Originally written as a comment to bug 3816. The bug report said "someone SHOULD do the math". I then did the math. Here I’m sharing the results.
Useful prior reading is Optimizing a distributed spam filter for Freenet.
This proposal has two parts:
As example: Connecting to #youbroketheinternet.
emerge privoxy torsocks net-vpn/tor # rc-config start privoxy tor # rc-update add privoxy default # rc-update add tor default mkdir -p ~/.local/EMACS_TOR_HOME/.emacs.d echo "(require 'socks)" >> ~/.local/EMACS_TOR_HOME/.emacs.d/init.el HOME=~/.local/EMACS_TOR_HOME torify emacs --title "Emacs-torified" # M-x customize-variable RET socks-server RET # host: localhost # port: 9050 # type: Socks v5 # (C-x C-s to save and set) # M-x erc-select # server loupsycedyglgamf.onion # port 67 # the welcome channel is good to go.
The current largest mirror is the Simple English Wikipedia (the obvious choice to fight censorship worldwide: it is readable with basic english skills).
With this mirror, information from Wikipedia can be accessed in high-censorship countries:
Building the darknet one ref at a time. That’s what we have to do. If you invite three people⁰ to Freenet and help those of your friends with similar interests to connect¹², and when the people you invited then do the same, we get exponential growth.
⁰: To invite a friend into Freenet, you can send an email like this:
Let us talk over Freenet, so I can speak freely again.
¹: Helping your friends to connect works as follows:
For years I developed Freenet partially blindfolded, because I could not get the tests to actually run on my Gentoo box.
As of today, that’s finally over: The testsuite runs successfully. My setup is still unclean, but it finally works. No more asking other contributors to run the tests for me.
Are trust relationships different in anonymous networks?
I fixed a small bug in the simulator of thesnark. With that, the simulator shows that the defense against the Pitch Black Attack works: A small number of attackers can no longer kill parts of the keyspace and can also no longer make certain parts of the keyspace inaccessible.
Attackers can still limit the convergence of the network towards a reproduction of the small world network, but since we know that Opennet works quite well with 30% backoff, this limited convergence should suffice for efficient routing.
A long time ago in a chatroom far away, select groups of crypto-anarchists gathered to discuss the death of privacy since the NSA could spy on all communications with ease. Among those who proposed technical solutions was a student going by the name sanity, and he published the widely regarded first paper on Freenet: A decentralized anonymous datastore which was meant to be a cypherpunk paradise: true censorship resistance, no central authority and long lifetime only for information which people were actually interested in.
Many years passed, two towers fell, the empire expanded its hunt for rebels all over the globe, and now, as the empire’s grip has become so horrid that even the most loyal servants of the emperors turn against them and expose their dark secrets to the masses, Freenet is still moving forward. Lost to the eye of the public, Freenet shaped and reshaped itself - all the while maintaining its focus to provide true freedom of the press in the internet.
From the #freenet IRC channel at freenode.net:
toad_1: what can freenet do well already?
toad alias Matthew Toseland is the main developer of freenet. He tends to see more of the remaining challenges and fewer of the achievements than me - which is a pretty good trait for someone who builds a system to which we might have to entrust our basic right of free speech if the world goes on like this. From a PR perspective it is a pretty horrible trait, though, because he tends to forget to tell people what freenet can already do well :) ↩
I just read your article on per use payments.
I think there are two serious flaws in per use payments:
As you stated correctly, I define myself partly through the media I "consume".
This does mean, that I want to have the assurance, that I can watch a great movie again a few years in the future.
Imagine this scenario:
The probes project is a google summer of code project of Steve Dougherty intended to optimize the network structure of freenet. Here I will give the background of his project very briefly:
Update (2015-11-27): The script works again with newer Freenet versions.
Install and setup infocalypse on GNU/Linux:
Just download and run1 it via
wget http://draketo.de/files/setup_infocalypse_on_linux.sh_.txt bash setup_infocalypse*
« Real Life Infocalypse »
DVCS in the Darknet. The decentralized p2p code repository (using Infocalypse)
On systems based on Debian or Gentoo - including Ubuntu and many others - this script will install all needed software except for freenet itself. You will have to give your sudo password in the process. Since the script is just a text file with a set of commands, you can simply read it to make sure that it won’t do anything evil with those sudo rights. ↩
New version of this article: draketo.de/politik/generation-of-cultural-freedom.html
I am part of a generation that experienced true cultural freedom—and experienced this freedom being destroyed.
We had access to the largest public library which ever existed and saw it burned down for lust for control.
I saw the Napster burn, I saw Gnutella burn, I saw edonkey burn, I saw Torrentsites burn, I saw one-click-hosters burn and now I see Youtube burn with blocked and deleted videos - even those from the artists themselves.
TL;DR: Inserting a file into Freenet using the key KSK@<password> creates an invisible, password protected file which is available over Freenet.
Often you want to exchange some content only with people who know a given password and make it accessible to everyone in your little group but invisible to the outside world.
Until yesterday I thought that problem slightly complex, because everyone in your group needs a given encryption program, and you need a way to share the file without exposing the fact that you are sharing it.
Then I learned two handy facts about Freenet:
Content is invisible to all but those with the key
<ArneBab> evanbd: If I insert a tiny file without telling anyone the key, can they get the content in some way?
<evanbd> ArneBab: No.
You generate a key from a password by using a KSK-key
<toad_> dogon: KSK@<any string of text> -> generate an SSK private key from the hash of the text
<toad_> dogon: if you know the string, you can both insert and retrieve it
In other words:
Just inserting a file into Freenet using the key KSK@<password> creates an invisible, password protected file which is shared over Freenet.
As I pledged1, I just donated to freenet 50€ of the money I got back because I cannot go to FilkCONtinental. Thanks go to Nemesis, a proud member of the “FiB: Filkers in Black” who will take my place at the Freusburg and fill these old walls with songs of stars and dreams - and happy laughter.
It’s a hard battle against censorship, and as I now had some money at hand, I decided to do my part (freenetproject.org/donate.html).
“Daddy, where were you, when they took the freedom of the press away from the internet?” — Mike Godwin, Electronic Frontier Foundation
Reposted from Freetalk, the distributed pseudonymous forum in Freenet.
For all those among you, who use twitter1, identi.ca[^identica], and/or other social networks this is a call to action.
Go to your social networking accounts and post about freenet. Tell us in 140 letters why freenet is your tool of choice, and remember to use the #freenet hashtag (twitter), so we can resend your posts!
I use freenet because we might soon need it as safe harbour to coordinate the fight against censorship → freenetproject.org
The broader story is the emerging concept of a right to freely exchange arbitrary data — Toad (former lead developer of freenet)
Twitter is a service for sending small text messages to people who “follow” you (up to 140 letters), so it works like a newsticker of journalists. Sadly it is no free software, so you can’t trust them to keep your data or even just the service available. It’s distinctive features are hashtags (#blafoo) for marking and searching messages and retweeting for passing a message on towards people who read your messages. ↩
If free speech included being allowed to force all people to listen, then it would also include my right to force you to listen to everything I say.
Think this on the scale of 6 billion people all using freenet. Every one of them could force you to listen to him/her/it. Whom would you ignore?
Anonymous DVCS in the Darknet.
This is a mirror of the documentation of the infocalypse extension for Mercurial written by djk - published here with his permission. It is licensed solely under the GPLv2 or later. The text is long. For concise information, use the second Link above (Freenet Development over Freenet).
Your code is then hosted decentrally and anonymously, making it just as censorship-resistant as all other content in Freenet.
It works better than the other DVCS currently available for Freenet.
Most of the information you will find in this document can also be found in the extension's online help. i.e.:
hg help infocalypse
I let my thought wander a bit around the question how a social Freenet (2.0 ;) ) could look from the view of a newcomer.
I imagine myself installing freenet. The first thing to come up after starting it is the node page. (italic Text in brackets is a comment. The links need a Freenet running on 127.0.0.1 to work)
“Welcome to Freenet, where no one can tell you’re reading”
“Freenet tries hard to project your privacy. Therefore we created a pseudonymous ID for you. Its name is Gandi Schmidt.
→ Comment to France Starts Reporting ‘Millions’ of File-Sharers by Torrent Freak.
I hope they all turn to freenet. There’s scance chance of getting many user-addresses there, and it can provide a service similar to torrents and decentral tracker in one, but anonymously and safe from censorship.
I’ve been running it for years now, and it got better and more secure every year.
When free speech dies, we need a place to organize.
Freenet is a censorship resistant, distributed p2p-publishing platform.
*Too technical? Let’s improve that: Freenet is the internet's last, best hope for Freedom.
A man in the streets faces a knife.
Two policemen are there it once. They raise a sign:
“Illegal Scene! Noone may watch this!”
The man gets robbed and stabbed and bleeds to death.
The police had to hold the sign.
Welcome to Europe, citizen. Censorship is beautiful.
PS: This poem is free and permissively licensed: Please feel free to use it anyway you like, as long as you provide a backlink.
The European Copyright directive threatens online communication in Europe.
But thanks to massive shared action earlier this year, the European parliament can still prevent the problems. For each of the articles there are proposals which fix them. The parliamentarians (MEPs) just have to vote for them. And since they are under massive pressure from large media companies, that went as far as defaming those who took action as fake people, the MEPs need to hear your voice to know that your are real.
If you care about the future of the Internet in the EU, please Call your MEPs.