I2p starting problem

Hi,
I’ve installed openSUSE and i really like this OS! Now i’m trying to run i2p but it says me:

da@linux-w8uk:/usr/local/i2p> sh i2prouter start
Starting I2P Service…
mkdir: cannot create directory ‘/root’: Permission denied
Error creating /root/.i2p! Edit i2prouter and set I2P_CONFIG_DIR
to the correct location.

What is the correct location? and how can i set it?
I try to search on google but i can’t figure out! Any help would be appreciated!
kind regards

Instinctive i’ve tried to run as root but i2p says:

Running I2P as the root user is not recommended.
Please edit i2prouter and set the variable RUN_AS_USER.

I apologize for multiple reply but i can’t edit the main message anymore; i’ve opened i2pconfig and i find the part of the variable run_as_user but what i 've to write? the name of the user?

Did some work looking at this because I already have I2P running on Win10 (after some work), so have a bit of experience with this thing that’s promising but needs some additional contributors.

Before getting into the steps you’ll need to do to make this work, you should know that at the moment it won’t run with full features(many broken features), but will run.

First, start by downloading the latest tarball and extract as described on this page.
https://geti2p.net/en/download#unix

I found that permissions won’t allow the installer to create necessary directories, so I prepared target install directories as follows

mkdir ~/i2p
mkdir ~/i2p/run
mkdir ~/i2p/run/p

Execute the following command in a normal User console to run the installer, pointing to the first directory created in the previous step

java -jar i2pinstall_0.9.26.jar -console 

Now,
you have to edit the file “i2prouter” in the root directory of the i2p app (ie in this example the directory ~/i2p/)
Open the file in a text editor with root permissions, you can use vim or first open a root console and within that root console you can invoke your favorite graphical text editor by exact name (do not use kdesu or gnomesu or similar), can be leafpad, geany, kwrite, kate, etc.

Modify the following line to point to your app install directory

Line 39 edit “I2p_CONFIG_DIR=”/root/.i2p" replacing /root/.i2p with your your app directory which is likely displayed a few lines above "I2P=* yourdirectory* " In my example that would be the full path name /home/username/i2p/

Modify the following lines as follows, the first two edits modify to run the app from within
The following 2 edits modify the TEMP of your app to run in your app directory instead of in a root location

Line 41
Prepend (add to the beginning of the line) a hash (#) to disable
Line 44
Remove the hash (#)

Line 128
Prepend a hash (#) is probably not critical but that line references upstart which only for Ubuntu

I doubt anyone who is reading this should be running SLES or SLED still using the SysVinit system(All openSUSE should ignore this) but those people should inspect and likely enable the special SUSE init configuration in lines 163-178.

OK,
Now, in theory you should be able to run “~/ip2/ip2router start” but you’ll see an error about the java wrapper. Thiinking this is all too strange for default packaging to not include a wrapper for ordinary and common x86/x64 systems, I still followed the steps to create a wrapper with no effect.

So, the proper way to start ip2 should be the following command “.runplain” in my example would be

~/i2p/runplain.sh

And, now the ip2router should be running fine.
If it’s not already open, you should now be able to open a web browser to the following to view the locally running i2p console

http://127.0.0.1:7657/home

Your next step should be to continue to follow the documentation and point your web browser’s proxy settings to

localhost:4444

Consider the optional steps I didn’t do which is to create a non-interactive User account (account which can’t login) and configure it as the runtime User in the i2prouter file. You also will likely have to modify the permissions for the application file tree to enable read/write for this special account. If you’re considering exploring the dark net, you should consider <all> security options.

I’ve found the experience very slow, but I assume it’s YMMV for everyone.

HTH,
TSU

Thank you very much, i’ve read the answer and tonight i’m gonna try, now have to go! But What do yo mean with “at the moment it won’t run with full features” and “I’ve found the experience very slow”?

You can read the comments in runplain.sh to see why it’s not desirable although I don’t know that there is any alternative today (short of switching over to Debian since base code was written to that) or Windows (which I was able to get to work only after slogging through other things not mentioned by the Developers).

Other than that, I would expect that i2p should work as designed.

The configuration steps I described…

  • install into a User directory tree(not a system location as you chose), which means that if compromised, hopefully scope would be limited at most to that User. Of course, this can be further confined by configuring the use of a special non-interactive User account and applying those permissions only to that application file tree. The typical advantage but in this case undesirable reason to install into a system location like /opt/ is to make the app available system-wide to many Users, but special permissions are required to access and run apps in this location… Which could be bad if the app is used to surf the Dark Net and the app is compromised.

  • The User context as I described is the logged in User. If root has a different password or an intruder is not otherwise able to guess sudo and su passwords, then the intrusion would hopefully be limited to the User’s own security context and no further.

  • Currently, I’ve noticed some tightening of security in /home/*username. *

I’ve frequently but so far without noticeable pattern been able to create and run files but have been unable to create folders which I guess is a good thing. If an intruder can’t create folders, then any compromise would be limited somewhat to files.

TSU

Thank you again man! very clearly explanation! maybe i will use i2p on another computer with Debian! Thanks again