Practical Setup I2P Anonymous Network On FreeBSD

I2P is a twin of the Tor network, but its creators often use the "opposite" method to solve the same engineering problems. For better anonymity, users can choose longer chains and higher traffic delays, because each I2P node is both a client and a server. I2p is encrypted from everyone on the I2p network, so that site owners do not know who is visiting it, nor do clients know who exactly they are targeting to get internet service content.

I2P is also often called the Invisible Internet Project, its scalable, self-organizing network distributes packets between anonymous network layers that can run any number of applications while maintaining a high level of security and anonymity.

This article tries to discuss installing and configuring I2P on a FreeBSD machine. In this article the specifications used are as follows:
  1. Processor: AMD Phenom(tm) II X4 955 Processor (K8-class CPU)
  2. OS: FreeBSD 13.2 Stable
  3. IP Server:
  4. Hostname: router2
  5. Versi I2P:  i2p-0.9.48

On FreeBSD I2P can be installed in two ways, namely via FreeBSD Ports and the PKG package. We try to apply these two methods:
root@router2:~ # cd /usr/ports/java/openjdk8
root@router2:/usr/ports/java/openjdk8 # make install clean
root@router2:~ # cd /usr/ports/security/i2proot@router2:/usr/ports/security/i2p # make install clean
root@router2:~ # pkg install openjdk8
root@router2:~ # pkg install i2p

After the I2P installation is complete, create an I2P user and group. I2P users and groups will be in the /home/i2p folder.
root@router2:~ # adduser
Username: i2p
Full name: i2p router
Uid (Leave empty for default): enter
Login group [i2p]: enter
Login group is i2p. Invite i2p into other groups? []: enter
Login class [default]: enter
Shell (sh csh tcsh bash rbash git-shell nologin) [sh]: enter
Home directory [/home/i2p]: enter
Home directory permissions (Leave empty for default): enter
Use password-based authentication? [yes]: no enter
Lock out the account after creation? [no]: enter
Username   : i2p
Password   : <disabled>
Full Name  : i2p router
Uid        : 1002
Class      :
Groups     : i2p
Home       : /home/i2p
Home Mode  :
Shell      : /bin/sh
Locked     : no
OK? (yes/no): yes enter
adduser: INFO: Successfully added (i2p) to the user database.
Add another user? (yes/no): no enter
root@router2:~ #

Now that we have an I2P user/group, next create a startup in the rc.conf file, and enter the following script in that file.
root@router2:~ # ee /etc/rc.confi2p_enable="YES"

Open the /usr/local/etc/rc.d folder, look for the i2p file, once you find it, open the file. Remove the script command="/usr/local/sbin/i2prouter" and replace it with the script command="/usr/home/i2p/i2p/" .

The contents of the i2p file, which is in the /usr/local/etcc/rc.d folder

Next, with the putty program, open the /usr/local/sbin folder. Don't forget to use the su i2p syntax, because if you don't use su i2p, the i2p program will be installed in root. You need to remember that the i2p program will not run in root, the i2p program can only run in the i2p user and group, so the i2p syntax is that you enter the i2p user and group. End with exit you will leave the i2p user and group.
root@router2:~ # su i2p# cd /usr/local/sbin
# i2prouter install # exit

The next step is to edit the file in the /usr/home/i2p/i2p folder. Delete or put a "#" sign at the beginning of the script and add the script I2PTEMP="/usr/home/i2p/i2p". Below is an example of the contents of the script file.

# This runs the router by itself, WITHOUT the wrapper.
# This means the router will not restart if it crashes.
# Also, you will be using the default memory size, which is
# probably not enough for i2p, unless you set it below.
# You should really use the i2prouter script instead.

# Paths
# Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir
# should have been replaced by the izpack installer.
# If you did not run the installer, replace them with the appropriate path.
Run the I2P program or restart your server computer.
root@router2:~ # service i2p restart
I suggest, it's better to just reboot/restart your server computer.
root@router2:~ # reboot

After the I2P program is restarted or rebooted the server, all I2P settings will be moved to the hidden folder /usr/home/i2p/.i2p. Try paying attention to the dot in front of i2p, that means the folder is hidden. Look at the following image:

Now open the hidden folder /usr/home/i2p/.i2p. In this article, I will give the I2P console address the same as the FreeBSD Server IP address, namely So that the I2P browser console can open with IP, edit the following files:

In the clients.config.bak file in the script clientApp.0.args=7657 ::1, ./webapps/ and clientApp.4.args= replace with.
clientApp.0.args=7657 ::1, ./webapps/clientApp.4.args=
Next, open the /usr/home/i2p/.i2p/clients.config.d folder, edit the file 00-net.i2p.router.web.RouterConsoleRunner-clients.config
clientApp.0.args=7657 ::1, ./webapps/
You also edit the file 04-net.i2p.apps.systray.UrlLauncher-clients.config

After we have configured everything, restart the server computer.
root@router2:~ # reboot


After the reboot is complete, and the computer returns to normal appearance, you can remote it with Putty. Open the Yandex, Firefox or Chrome web browser. We just open Yandex to do a TEST, if the I2P router configuration menu opens, it means you have successfully installed the I2P program on the FreeBSD server.

Open the Google Chrome web browser, in the address bar menu "type Server IP", see the results on your monitor screen.

If it looks like the image above, you have successfully installed the I2P program on the FreeBSD server. How difficult it is not to install I2P, at the beginning of the installation I experienced difficulties, but in the end I succeeded in installing I2P. It is indeed easier to install TOR than I2P, but if you follow the steps explained above, you will definitely be successful in installing I2P.
Iwan Setiawan

I Like Adventure: Mahameru Mount, Rinjani Mount I Like Writer FreeBSD

Post a Comment

Previous Post Next Post