"
Sweet and short, okay.
```ksh
pkg_add i2pd
```
Then follow the important suggestions in
/usr/local/share/docs/pkg_readmes/i2pd
because obsd's default number of openable files is too low.
Let's serve something.
```ksh
nc -v -l 127.0.0.1 45678 <<EOG
Send this text! \(Once only\)
EOG
```
and then in /etc/i2pd/tunnels.conf add
```your editor
[my-service-name]
type = server
host = 127.0.0.1
port = 45678
inport = 56789
keys = my-service-name.dat
```
Let's enable and start i2pd \(as root\)
```ksh
rcctl enable i2pd
rcctl start i2pd
```
Noowwwww, i2p has a different security model to onion routing.
When you connect at first you are not 'well integrated' into
the network. The place to watch is:
```ksh
lynx http://127.0.0.1:7070
```
being the default/web \(aw\) gui port of i2pd.
The key thing is your tunnel creation success rate, which is hopefully 30%+
when you are trying to use it. I think old java i2p calls this network
integration. You might wait hours.
Also in that web gui:
```ksh
lynx http://127.0.0.1:7070/?page=i2p_tunnels
```
Which gives us the generated address for my-service-name
\(and reminds us of the port we told i2p we listen on\)
\(which is different to the port we are using locally\).
(-x is socks proxy address:port)
```ksh
nc -x127.0.0.1:4447 xxxxxxxxetcxxx.b32.i2p 56789
```
> Send this text! \(Once only\)
Phew. Hope it helped someone.
I will do one of these for tor too, and then mainly move my new stuff 
over to these higher quality networks this week.
By the way, let me know about your possibly new hidden service gophers.
screwtape@sdf.org

\(My own server/s are a WIP, I'll fill in the working address of my own later
You're meant to be doing it with your own locally served i2p in this post\).
"