From cc25b22f118fd050f944a58c56789e6380e27b99 Mon Sep 17 00:00:00 2001 From: hagen Date: Mon, 28 Mar 2016 00:00:00 +0000 Subject: [PATCH] * update docs --- docs/configuration.md | 14 ++++- docs/family.md | 30 +++++---- docs/i2pd.conf | 139 ++++++++++++++++++++---------------------- 3 files changed, 95 insertions(+), 88 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 18d30017..1a45716d 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -4,9 +4,12 @@ i2pd configuration Command line options -------------------- +Options specified on the command line take precedence over those in the config file. +If you are upgrading your very old router (< 2.3.0) see also [this](config_opts_after_2.3.0.md) page. + +* --help - Show builtin help message (default value of option will be shown in braces) * --conf= - Config file (default: ~/.i2pd/i2pd.conf or /var/lib/i2pd/i2pd.conf) 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. * --tunconf= - Tunnels config file (default: ~/.i2pd/tunnels.conf or /var/lib/i2pd/tunnels.conf) * --pidfile= - Where to write pidfile (dont write by default) * --log= - Logs destination: stdout, file (stdout if not set, file - otherwise, for compatibility) @@ -24,6 +27,8 @@ Command line options * --family= - Name of a family, router belongs to * --svcctl= - Windows service management (--svcctl="install" or --svcctl="remove") +All options below still possible in cmdline, but better write it in config file: + * --http.address= - The address to listen on (HTTP server) * --http.port= - The port to listen on (HTTP server) @@ -69,11 +74,13 @@ i2pd.conf: [httpproxy] port = 4444 # ^^ this will be --httproxy.port= in cmdline - # another one + # another comment [sam] enabled = true -tunnels.conf +See also commented config with examples of all options in ``docs/i2pd.conf``. + +tunnels.conf: # outgoing tunnel sample, to remote service # mandatory parameters: @@ -107,6 +114,7 @@ tunnels.conf host = 127.0.0.1 port = 80 keys = site-keys.dat + # [IRC-SERVER] type = server host = 127.0.0.1 diff --git a/docs/family.md b/docs/family.md index 8ef76b7a..bb925171 100644 --- a/docs/family.md +++ b/docs/family.md @@ -6,27 +6,31 @@ There are two possibilities: create new family or joing to existing. New family ----------- + You must create family self-signed certificate and key. The only key type supposted is prime256v1. Use the following list of commands: -openssl ecparam -name prime256v1 -genkey -out .key -openssl req -new -key .key -out .csr -touch v3.ext -openssl x509 -req -days 3650 -in .csr -signkey .key -out .crt -extfile v3.ext -specify .family.i2p.net for CN. + openssl ecparam -name prime256v1 -genkey -out .key + openssl req -new -key .key -out .csr + touch v3.ext + openssl x509 -req -days 3650 -in .csr -signkey .key -out .crt -extfile v3.ext + +Specify .family.i2p.net for CN (Common Name) when requested. -Once you are done with it place .key and .crt to /family folder (for exmple ~/.i2pd/family). +Once you are done with it place .key and .crt to /family folder (for exmple ~/.i2pd/family). You should provide these two files to other members joining your family. If you want to register you family and let I2P network recorgnize it, create pull request for you .crt file into contrib/certificate/family. -It will appear in i2pd and I2P next releases packages. Don't place .key file, it must be shared betwwen you family members only. +It will appear in i2pd and I2P next releases packages. Dont place .key file, it must be shared between you family members only. + +How to join existing family +--------------------------- -Join existing family --------------------- -Once you and that family agree to do it, they must give you .key and .crt file and you must place to /family folder. +Once you and that family agree to do it, they must give you .key and .crt file and you must place in /certificates/family/ folder. Publish your family ------------------- -Run i2pd with parameter 'family=', make sure you have .key and .crt in your 'family' folder. -If everything is set properly, you router.info will contain two new fields: 'family' and 'family.sig'. +------------------- +Run i2pd with parameter 'family=', make sure you have .key and .crt in your 'family' folder. +If everything is set properly, you router.info will contain two new fields: 'family' and 'family.sig'. +Otherwise your router will complain on startup with log messages starting with "Family:" prefix and severity 'warn' or 'error'. diff --git a/docs/i2pd.conf b/docs/i2pd.conf index 81bcc634..e85eaa17 100644 --- a/docs/i2pd.conf +++ b/docs/i2pd.conf @@ -6,109 +6,104 @@ ## that begin with just "#" are disabled commands: you can enable them ## by removing the "#" symbol. -## Tunnels config file +## Tunnels config file ## Default: ~/.i2pd/tunnels.conf or /var/lib/i2pd/tunnels.conf -#tunconf = /var/lib/i2pd/tunnels.conf +# tunconf = /var/lib/i2pd/tunnels.conf ## Where to write pidfile (don't write by default) -#pidfile = /var/run/i2pd.pid +# pidfile = /var/run/i2pd.pid ## Logging configuration section -## By default logs go to stdout with level info +## By default logs go to stdout with level 'info' and higher ## -## Logs destination (stdout, file, syslog) -## stdout - print log entries to stdout -## file - log entries to a file -## syslog - use syslog, see man 3 syslog -#log = file +## Logs destination (valid values: stdout, file, syslog) +## * stdout - print log entries to stdout +## * file - log entries to a file +## * syslog - use syslog, see man 3 syslog +# log = file ## Path to logfile (default - autodetect) -#logfile = /var/log/i2pd.log +# logfile = /var/log/i2pd.log ## Log messages above this level (debug, *info, warn, error) -#loglevel = info +# loglevel = info ## Path to storage of i2pd data (RI, keys, peer profiles, ...) ## Default: ~/.i2pd or /var/lib/i2pd -#datadir = /var/lib/i2pd +# datadir = /var/lib/i2pd ## Daemon mode. Router will go to background after start -#daemon = true +# daemon = true ## Run as a service. Router will use system folders like ‘/var/lib/i2pd’ -#service = true +# service = true ## External IP address to listen for connections ## By default i2pd sets IP automatically -#host = 1.2.3.4 +# host = 1.2.3.4 + ## Port to listen for connections -## By default i2pd picks random port. You MUST pick a random number too, +## By default i2pd picks random port. You MUST pick a random number too, ## don't just uncomment this -#port = 4321 -##Enable communication through ipv6 +# port = 4321 + +## Enable communication through ipv6 ipv6 = true + ## Bandwidth configuration ## L limit bandwidth to 32Kbs/sec, O - to 256Kbs/sec, P - unlimited ## Default is P for floodfill, L for regular node -#bandwidth = L +# bandwidth = L ## Router will not accept transit tunnels at startup -#notransit = true +# notransit = true ## Router will be floodfill -#floodfill = true +# floodfill = true -## Section for Web Console -## By default it's available at 127.0.0.1:7070 even if it's not configured [http] -## The address to listen on -address = 127.0.0.1 -## The port to listen on -port = 7070 +## Uncomment and set to 'false' to disable Web Console +# enabled = true +## Address and port service will listen on +address = 127.0.0.1 +port = 7070 -## Section for HTTP proxy -## By default it's available at 127.0.0.1:4444 even if it's not configured [httpproxy] -## The address to listen on -address = 127.0.0.1 -## The port to listen on -port = 4444 +## Uncomment and set to 'false' to disable HTTP Proxy +# enabled = true +## Address and port service will listen on +# address = 127.0.0.1 +# port = 4444 ## Optional keys file for proxy local destination -#keys = http-proxy-keys.dat -## Uncomment if you want to disable HTTP proxy -#enabled = false - -## Section for Socks proxy -## By default it's available at 127.0.0.1:4447 even if it's not configured -#[socksproxy] -## The address to listen on -#address = 127.0.0.1 -## The port to listen on -#port = 4447 +# keys = http-proxy-keys.dat + +[socksproxy] +## Uncomment and set to 'false' to disable SOCKS Proxy +# enabled = true +## Address and port service will listen on +# address = 127.0.0.1 +# port = 4447 ## Optional keys file for proxy local destination -#keys = socks-proxy-keys.dat -## Uncomment if you want to disable Socks proxy -#enabled = false +# keys = socks-proxy-keys.dat ## Socks outproxy. Example below is set to use Tor for all connections except i2p -## Address of outproxy -#outproxy = 127.0.0.1 -## Outproxy remote port -#outproxyport = 9050 - -## Section for SAM bridge -#[sam] -## The address to listen on -#address = 127.0.0.1 -## Port of SAM bridge -#port = 7656 - -## Section for BOB command channel -#[bob] -## The address to listen on -#address = 127.0.0.1 -## Port of BOB command channel. Usually 2827. BOB is off if not specified -#port = 2827 - -## Section for I2PControl protocol -#[i2pcontrol] -## The address to listen on -#address = 127.0.0.1 -## Port of I2P control service -#port = 7650 +## Address and port of outproxy +# outproxy = 127.0.0.1 +# outproxyport = 9050 + +[sam] +## Uncomment and set to 'true' to enable SAM Bridge +# enabled = false +## Address and port service will listen on +# address = 127.0.0.1 +# port = 7656 + +[bob] +## Uncomment and set to 'true' to enable BOB command channel +# enabled = false +## Address and port service will listen on +# address = 127.0.0.1 +# port = 2827 + +[i2pcontrol] +## Uncomment and set to 'true' to enable I2PControl protocol +# enabled = false +## Address and port service will listen on +# address = 127.0.0.1 +# port = 7650