Update (2015-11-27): The script works again with newer Freenet versions.
Update 2024: Infocalypse is still recovering from Python 3 breakage. Most of it works again, but there may be rough edges left. Contributions to fix these are very welcome: hg.sr.ht/~arnebab/infocalypse [1] or github.com/hyphanet/infocalypse [2].
Install and setup infocalypse [3] on GNU/Linux:
Just download and run1 it via
wget http://draketo.de/files/setup_infocalypse_on_linux.sh_.txt
bash setup_infocalypse*
This script needs a running freenet [5] node to work! → Install Freenet [6] ←
In-Freenet-link [7]: CHK@rtJd8ThxJ~usEFOaWAvwXbHuPC6L1zOFWtKxlhUPfR8,21XedKU8YbKPGsYWu9szjY7hChX852zmFAYuvyihOd0,AAMC--8/setup_infocalypse_on_linux.sh
The script allows you to get and setup the infocalypse extension [3] with a few keystrokes to be able to instantly use the Mercurial [8] DVCS for decentral, anonymous code-sharing over freenet [9].
« Real Life Infocalypse [10] »
DVCS in the Darknet. The decentralized p2p code repository (using Infocalypse)
This gives you code hosting like a minimal version of BitBucket, Gitorious or GitHub but without the central control. Additionally the Sone plugin for freenet supplies anonymous communication and the site extension [11] allows creating static sites with information about the repo, recent commits and such without the need of a dedicated hoster.
Clone a repo into freenet with a new key:
hg clone localrepo USK@/repo
(Write down the insert key and request key after the upload! Localrepo is an existing Mercurial [8] repository)
Clone a repo into or from freenet (respective key known):
hg clone localrepo freenet://USK@<insert key>/repo.R1/0
hg clone freenet://USK@<request key>/repo.R1/0 [localpath]
Push or pull new changes:
hg push freenet://USK@<insert key>/repo.R1/0
hg pull freenet://USK@<request key>/repo.R1/0
For convenient copy-pasting of freenet keys, you can omit the “freenet://” here, or use freenet:USK@… instead.
Also, as shown in the first example, you can let infocalypse generate a new key for your repo:
hg clone localrepo USK@/repo
mind the “USK@/” (slash after @ == missing key). Also see the missing .R1/0 after the repo-name and the missing freenet://. Being able to omit those on repository creation is just a convenience feature - but one which helps me a lot.
You can also add the keys to the <repo>/.hg/hgrc
:
[paths]
example = freenet://USK@<request key>/repo.R1/0
example-push = freenet://USK@<insert key>/repo.R1/0
# here you need the freenet:// !
then you can simply use
hg push example-push
and
hg pull example
This script is just a quick sketch, feel free to improve it and upload improved versions (for example with support for more GNU/Linux distros). If you experience any problems, please contact me! (i.e. write a comment [12])
If you want to contribute more efficiently to this script, get the repo via
hg clone freenet://USK@73my4fc2CLU3cSfntCYDFYt65R4RDmow3IT5~gTAWFk,Fg9EAv-Hut~9NCJKtGaGAGpsn1PjA0oQWTpWf7b1ZK4,AQACAAE/setup_infocalypse/1
Then hack on it, commit and upload it again via
hg clone setup_infocalypse freenet://USK@/setup_infocalypse
Finally share the request URI you got.
Alternate repo: http://draketo.de/proj/setup_infocalypse [13]
On systems based on Debian or Gentoo - including Ubuntu and many others - this script will install all needed software except for freenet [9] 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 [14]. ↩
Anhang | Größe |
---|---|
setup_infocalypse_on_linux.sh.txt [15] | 2.39 KB |
setup_infocalypse_on_linux.sh.txt [16] | 2.39 KB |
setup_infocalypse_on_linux.sh_1.txt [17] | 2.49 KB |
setup_infocalypse_on_linux.sh_.txt [4] | 2.75 KB |
Links:
[1] https://hg.sr.ht/~arnebab/infocalypse
[2] https://github.com/hyphanet/infocalypse
[3] https://www.draketo.de/light/english/freenet/infocalypse-mercurial-survive-the-information-apocalypse
[4] https://www.draketo.de/files/setup_infocalypse_on_linux.sh_.txt
[5] https://freenetproject.org
[6] https://freenetproject.org/download#autostart
[7] http://127.0.0.1:8888/CHK@rtJd8ThxJ~usEFOaWAvwXbHuPC6L1zOFWtKxlhUPfR8,21XedKU8YbKPGsYWu9szjY7hChX852zmFAYuvyihOd0,AAMC--8/setup_infocalypse_on_linux.sh
[8] http://mercurial.selenic.com
[9] http://freenetproject.org
[10] https://www.draketo.de/english/freenet/real-life-infocalypse
[11] https://www.draketo.de/proj/hgsite
[12] https://www.draketo.de/comment/reply/500#comment-form
[13] http://draketo.de/proj/setup_infocalypse
[14] http://xkcd.com/149/
[15] https://www.draketo.de/files/setup_infocalypse_on_linux.sh_0.txt
[16] https://www.draketo.de/files/setup_infocalypse_on_linux.sh_1.txt
[17] https://www.draketo.de/files/setup_infocalypse_on_linux.sh_1_0.txt