Install Freenet/Hyphanet on a GNU/Linux server

Jump over censorship. When Free Speech dies, we need a place to organize.

Hyphanet is a peer-to-peer platform for censorship-resistant communication and publishing. But over the years many people asked how to install Freenet from the commandline, for example for a headless server.

General approach

To install Freenet/Hyphanet:

Then follow the prompts.

Finally open and follow the wizard.

PDF (drucken)

Example on GNU Guix

guix install openjdk
wget 'https://github.com/freenet/fred/releases/download/build01487/new_installer_offline_1487.jar'
java -jar new_installer_offline_1487.jar -console
LANG=C wget 'https://github.com/freenet/fred/releases/download/build01487/new_installer_offline_1487.jar'
100%[===============================================================================>]  18.88M  2.23MB/s    in 12s     

2020-10-20 09:35:26 (1.59 MB/s) - 'new_installer_offline_1487.jar' saved [19801684/19801684]
java -jar new_installer_offline_1487.jar -console
Select target path [/tmp] 
press 1 to continue, 2 to quit, 3 to redisplay
[ Starting to unpack ]
[ Processing package: Base (1/3) ]
[ Processing package: License (2/3) ]
[ Processing package: Unix (3/3) ]
[ Unpacking finished ]
[ Starting processing ]
Starting process Setting up the environment (1/16)
Offline installation mode
File './wrapper.jar' already exists.
Starting process Setting the Updater up (2/16)
Starting process Setting Opennet up (3/16)
Starting process Setting JSTUN up (4/16)
Downloading the STUN plugin
Starting process Setting UPnP up (5/16)
Downloading the UP&P plugin
Starting process Setting Librarian up (6/16)
Downloading the Library plugin
Starting process Setting KeyUtils up (7/16)
Downloading the KeyUtils plugin
Starting process Setting ThawIndexBrowser up (8/16)
Downloading the ThawIndexBrowser plugin
Starting process Setting plugins up (9/16)
Starting process Downloading freenet-stable-latest (10/16)
Starting process Downloading freenet-ext (11/16)
Starting process Downloading bcprov (12/16)
Starting process Detecting port availability (13/16)
Detecting tcp-ports availability...
Starting process Setting up auto-start (14/16)
Enabling auto-start.
Installing cron job to start Freenet on reboot...
mcron: autostart.install:1: Bad job line in Vixie file.
Starting process Starting the node up (15/16)
Starting Freenet 0.7...
Starting process Cleaning up (16/16)
All done, please click Next
[ Console installation done ]

note that mcron failed, on Guix you currently have to start Freenet manually.

Now open the freenet web interface:

Set Up Freenet

   Connect to any Freenet user: (low security) Connect only to
   friends: (high security) Detailed settings: (custom)

   If you live in a relatively free country where running Freenet is
   legal, you can choose this option. It is much safer than
   traditional P2P software like BitTorrent or Gnutella, but an
   attacker with moderate resources may be able to trace your activity
   on Freenet back to you. If you have friends who also run Freenet,
   you can improve security by adding them as Friends, then connecting
   only to them.
   Choose low security

   If you know several people you want to connect to, this setting
   allows you to create your own Freenet darknet for vastly improved
   security. If you only have a few people it may not be very useful,
   but if some of them know others, or have low security set, you can
   have a very large network.
   Choose high security

   If you want more fine-grained control, this option lets you set up
   Freenet according to your own privacy needs. It will take a bit
   longer than the other two options.
   Choose custom security
   [English______________] Submit

Choose low security.

For the next two dialogs, just click next.

Browser Security Advisory

   You are using a browser with incognito mode for Freenet (this is good)
   You seem to be using a browser in privacy/incognito mode (check in
   the title bar). This should be relatively safe, but do not use the
   same browser for the web and Freenet, unless it is in privacy mode.

   Most web browsers, apart from Microsoft Internet Explorer, will
   work adequately with Freenet, for example Firefox, Opera, Safari,
   Chrome, and Lynx are known to work.

   If you are using a thirdparty IME (Input Method Editor, used as
   text input for common asian languages), please disable it for
   Freenet and use an IME from your Operating System. There have been
   reports of the IME collecting your keystrokes and sending them to
   remote servers.

   Back Next
Datastore Size

   Datastore size
   Please select a size for your datastore. Recommended values lie
   between 1GiB and 20GiB. A smaller datastore can result in problems
   downloading files, a larger datastore is beneficial to the network
   but might slow down your computer due to high filesystem load,
   especially in the first few hours after installation. The datastore
   acts like a cache; storing data for the network will help you to
   get better throughput when requesting popular files. The more space
   you can afford the better it is for the community and the faster
   your node and especially your downloads will go.
   [10.0 GiB]
   Back Next
Bandwidth Limits

   Bandwidth Limits
   Does your internet connection have a monthly data limit?
   Yes No

I have No monthly limits.

Bandwidth Limits

   Transfer Rate Limit
   How fast is your Internet connection? Freenet should use no more
   than half of it. You can change this setting later on the Core
   settings page. Note that 1 megabit per second (1 Mbps) = 125
   kilobytes per second (125 KB/s).
              Connection type               Download limit        Upload limit     Select
   4 megabits                           256 KiB/s (= 2Mbps)   16.0 KiB/s           ( )
   6 megabits (average ADSL1)           384 KiB/s (= 3Mbps)   16.0 KiB/s           ( )
   8 megabits (fast ADSL1)              512 KiB/s (= 4Mbps)   32.0 KiB/s           ( )
   12 megabits (slow ADSL2)             768 KiB/s (= 6Mbps)   64.0 KiB/s           (*)
   20 megabits (fast ADSL2, fast cable) 1.25 MiB/s (= 10Mbps) 64.0 KiB/s           ( )
   VDSL (20/5)                          1.25 MiB/s (= 10Mbps) 320 KiB/s            ( )
   100 megabits (fibre)                 2.0 MiB/s (= 16Mbps)  2.0 MiB/s            ( )
   Enter a custom bandwidth limit       ____________________  ____________________
   Back Next

⇒ Freenet is setup and running.

Now open in any webbrowser to use Freenet. To increase security, you can setup Freenet as a proxy in your webbrowser, using a nonstandard IP and Port.



sudo apt-get install default-jre wget lynx
wget 'https://github.com/freenet/fred/releases/download/build01487/new_installer_offline_1487.jar'
java -jar new_installer_offline_1487.jar -console
# follow the prompts
# follow the wizard


sudo emerge freenet lynx
sudo rc-update add freenet default
sudo rc-config start freenet
# follow the wizard


Install from AUR package freenet:

pacman -S --needed git base-devel wget lynx
git clone https://aur.archlinux.org/freenet.git
cd freenet
curl -sS https://freenetproject.org/assets/keyring.gpg | gpg --import -
makepkg -si
# follow the wizard


sudo yum install java-11-openjdk wget lynx
wget 'https://github.com/freenet/fred/releases/download/build01487/new_installer_offline_1487.jar'
java -jar new_installer_offline_1487.jar -console
# follow the prompts
# follow the wizard


sudo zypper install java-11-openjdk wget lynx
wget 'https://github.com/freenet/fred/releases/download/build01487/new_installer_offline_1487.jar'
java -jar new_installer_offline_1487.jar -console
# follow the prompts
# follow the wizard


guix install openjdk wget lynx
wget 'https://github.com/freenet/fred/releases/download/build01487/new_installer_offline_1487.jar'
java -jar new_installer_offline_1487.jar -console
# follow the prompts
# follow the wizard

OpenBSD and similar

On some systems (including OpenBSD), you can install Freenet as above, but starting it with the wrapper (./run.sh start) does not work. You can run Freenet manually there, but you then don’t have auto-updates. Get the relevant classpath arguments in wrapper.conf (after install). Then call java directly with a command like

java -classpath \
  wrapper.jar:bcprov-jdk15on-1.59.jar:freenet-ext.jar:jna-4.2.2.jar:jna-platform-4.2.2.jar:freenet.jar.new \
  -Dnetworkaddress.cache.ttl=0 -Dnetworkaddress.cache.negative.ttl=0 -Djava.net.preferIPv4Stack=true \
  -Djava.io.tmpdir=./tmp/ -Xss512k \

ArneBab 2020-10-20 Di 00:00 - Impressum - GPLv3 or later (code), cc by-sa (rest)