i2pd/README.md

143 lines
5.2 KiB
Markdown
Raw Normal View History

2013-09-01 15:09:28 +00:00
i2pd
====
I2P router written in C++
2015-11-03 14:34:44 +00:00
Contains all ongoing changes from https://bitbucket.org/orignal/i2pd/src
2013-09-01 17:49:06 +00:00
2015-01-12 15:54:09 +00:00
License
-------
This project is licensed under the BSD 3-clause license, which can be found in the file
LICENSE in the root of the project source code.
2015-05-05 21:30:14 +00:00
Donations
---------
2015-05-05 21:30:32 +00:00
BTC: 1K7Ds6KUeR8ya287UC4rYTjvC96vXyZbDY
LTC: LKQirrYrDeTuAPnpYq5y7LVKtywfkkHi59
2015-11-03 14:22:09 +00:00
ANC: AQJYweYYUqM1nVfLqfoSMpUMfzxvS4Xd7z
2015-05-05 21:30:14 +00:00
Requirements for Linux/FreeBSD/OSX
----------------------------------
2014-01-09 19:59:35 +00:00
2015-11-03 14:22:09 +00:00
GCC 4.6 or newer, Boost 1.46 or newer, openssl, zlib. Clang can be used instead of
GCC.
2014-01-09 19:59:35 +00:00
Requirements for Windows
------------------------
2014-11-08 13:29:15 +00:00
VS2013 (known to work with 12.0.21005.1 or newer), Boost 1.46 or newer,
crypto++ 5.62. See Win32/README-Build.txt for instructions on how to build i2pd
and its dependencies.
2015-01-16 01:44:18 +00:00
Downloads
------------
Official binary releases could be found at:
http://download.i2p.io/purplei2p/i2pd/releases/
2014-07-26 05:04:19 +00:00
Build Statuses
---------------
2015-01-16 01:44:18 +00:00
- Linux x64 - [![Build Status](https://jenkins.greyhat.no/buildStatus/icon?job=i2pd-linux)](https://jenkins.nordcloud.no/job/i2pd-linux/)
- Linux ARM - To be added
- Mac OS X - Got it working, but not well tested. (Only works with clang, not GCC.)
- Microsoft VC13 - To be added
2014-04-03 16:18:56 +00:00
Testing
-------
First, build it.
On Ubuntu/Debian based
2015-11-03 14:22:09 +00:00
* sudo apt-get install libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev libboost-date-time-dev libssl-dev zlib1g-dev
2014-01-31 00:42:27 +00:00
* $ cd i2pd
* $ make
2015-03-22 22:42:18 +00:00
Then, run it:
2015-03-22 22:42:18 +00:00
$ ./i2p
2014-01-31 06:35:21 +00:00
The client should now reseed by itself.
2015-11-22 21:47:55 +00:00
To visit an eepsite use HTTP proxy port 4446.
2015-11-22 21:48:38 +00:00
For tunnels follow [instructions](https://github.com/PurpleI2P/i2pd/wiki/tunnels.cfg)
2014-12-11 04:59:22 +00:00
Cmdline options
---------------
2015-03-24 17:33:29 +00:00
* --host= - The external IP (deprecated).
* --port= - The port to listen on
* --httpport= - The http port to listen on
* --log= - Enable or disable logging to file. 1 for yes, 0 for no.
2014-09-08 20:43:20 +00:00
* --daemon= - Enable or disable daemon mode. 1 for yes, 0 for no.
2014-10-17 13:55:41 +00:00
* --service= - 1 if uses system folders (/var/run/i2pd.pid, /var/log/i2pd.log, /var/lib/i2pd).
* --v6= - 1 if supports communication through ipv6, off by default
2015-02-02 16:15:38 +00:00
* --floodfill= - 1 if router is floodfill, off by default
2015-03-19 15:14:21 +00:00
* --bandwidth= - L if bandwidth is limited to 32Kbs/sec, O if not. Always O if floodfill, otherwise L by default.
2014-03-17 22:31:29 +00:00
* --httpproxyport= - The port to listen on (HTTP Proxy)
2014-08-14 14:20:22 +00:00
* --socksproxyport= - The port to listen on (SOCKS Proxy)
* --proxykeys= - optional keys file for proxy's local destination
* --ircport= - The local port of IRC tunnel to listen on. 6668 by default
* --ircdest= - I2P destination address of IRC server. For example irc.postman.i2p
* --irckeys= - optional keys file for tunnel's local destination
2014-12-11 18:05:21 +00:00
* --eepkeys= - File name containing destination keys, for example privKeys.dat.
The file will be created if it does not already exist (issue #110).
* --eephost= - Address incoming trafic forward to. 127.0.0.1 by default
* --eepport= - Port incoming trafic forward to. 80 by default
* --samport= - Port of SAM bridge. Usually 7656. SAM is off if not specified
2014-12-07 22:29:09 +00:00
* --bobport= - Port of BOB command channel. Usually 2827. BOB is off if not specified
2015-01-08 18:28:51 +00:00
* --i2pcontrolport= - Port of I2P control service. Usually 7650. I2PControl is off if not specified
2015-11-20 12:52:38 +00:00
* --tunnelscfg= - Tunnels Config file (default: ~/.i2pd/tunnels.cfg or /var/lib/i2pd/tunnels.cfg)
2014-12-11 04:59:22 +00:00
* --conf= - Config file (default: ~/.i2pd/i2p.conf or /var/lib/i2pd/i2p.conf)
2014-12-11 18:05:21 +00:00
This parameter will be silently ignored if the specified config file does not exist.
Options specified on the command line take precedence over those in the config file.
2014-12-11 04:59:22 +00:00
Config files
------------
2014-12-11 04:59:22 +00:00
INI-like, syntax is the following : <key> = <value>.
2014-12-11 18:05:21 +00:00
All command-line parameters are allowed as keys, for example:
i2p.conf:
2014-12-11 18:05:21 +00:00
log = 1
v6 = 0
ircdest = irc.postman.i2p
tunnels.cfg (filename of this config is subject of change):
2015-04-02 13:01:15 +00:00
; outgoing tunnel sample, to remote service
; mandatory parameters:
; * type -- always "client"
; * port -- local port to listen to
; * destination -- i2p hostname
; optional parameters (may be omitted)
; * keys -- our identity, if unset, will be generated on every startup,
; if set and file missing, keys will be generated and placed to this file
[IRC]
type = client
port = 6668
destination = irc.echelon.i2p
keys = irc-keys.dat
; incoming tunnel sample, for local service
; mandatory parameters:
; * type -- always "server"
; * host -- ip address of our service
; * port -- port of our service
; * keys -- file with LeaseSet of address in i2p
; optional parameters (may be omitted)
; * inport -- optional, i2p service port, if unset - the same as 'port'
; * accesslist -- comma-separated list of i2p addresses, allowed to connect
; every address is b32 without '.b32.i2p' part
[LOCALSITE]
type = server
host = 127.0.0.1
port = 80
keys = site-keys.dat
inport = 81
accesslist = <b32>[,<b32>]