diff --git a/README.md b/README.md index 5a904a0..2cdbbc8 100644 --- a/README.md +++ b/README.md @@ -1,11 +1 @@ -# Documentation for [The Kovri Project](https://github.com/monero-project/kovri) - -This repository contains all documentation for Kovri. -This documentation is used heavily in [kovri-site](https://github.com/monero-project/kovri-site). -Changes here will reflect upon the website, so be sure to work in only markdown .md files. - -For the most recent/up-to-date documentation, read the English documentation. - -Is your language missing? Simply create a directory for your language in the i18n directory then copy all English files to that directory and make your translations. - -For help, see the most recent contact info [here](https://github.com/monero-project/kovri/blob/master/README.md). +NOTICE: THIS REPOSITORY HAS BEEN MOVED TO GitLab. See https://github.com/monero-project/kovri-docs/issues/102 for details. diff --git a/i18n/da/faq.md b/i18n/da/faq.md index 694435a..51cd1d0 100644 --- a/i18n/da/faq.md +++ b/i18n/da/faq.md @@ -131,7 +131,7 @@ Da denne slags uregelmæssige adfærd ville kun skade I2P-netværket og projekte ### Jeg har fundet en sikkerhedsfejl! Jeg har fundet en fejl! Hvad gør jeg? - Sikkerhedsfejle: læs vores [README](https://github.com/monero-project/kovri/blob/master/README.md) -- Bugs: Læs vores [Developer Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/da/developer_guide.md) +- Bugs: Læs vores [Udviklerguide](https://github.com/monero-project/kovri-docs/blob/master/i18n/da/developer_guide.md) ### Hvorfor viser min log mig en dato/tid forskellig for min tidszone? Logfiler registreres i UTC for at beskytte dit privatliv. Ved at bruge UTC har du bedre mulighed for at uploade logs, til at dele dem med udviklere eller fællesskabet uden at påvirke din anonymitet. diff --git a/i18n/da/monero_guide.md b/i18n/da/monero_guide.md new file mode 100644 index 0000000..af94ce9 --- /dev/null +++ b/i18n/da/monero_guide.md @@ -0,0 +1,92 @@ +# Monero via Kovri + +## Getting Started + +1. Follow the instructions for building and/or installing [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Review the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) in your language of choice +3. Configure Kovri server and client tunnels to connect to `monerod` nodes over the I2P network + +## Kovri server tunnel + +First, configure a server tunnel on one node. + +To setup a server tunnel, see `tunnels.conf` located in your data directory. To locate your data directory, see `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +This configuration will open a Kovri listener on `monerod`'s default testnet P2P port. Next, read the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) for how to obtain the base32 destination address. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Kovri client tunnel + +Now that the server tunnel is setup, begin the client tunnel setup by pointing to the server tunnel. + +Example: + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = your-copied-server-destination.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Repeat the process for each node you would like to connect using Kovri. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Monero P2P via Kovri + +Pointing `monerod` to your new Kovri client tunnel is just as easy. + +Here is an example for starting a mining testnet node: + +```bash +monerod --testnet --start-mining your-testnet-wallet-address --add-exclusive-node 127.0.0.1:24040 +``` + +If you notice connectivity issues, wait for your Kovri nodes to integrate into the network (~5-10 min after start). + +## Monero RPC via Kovri + +Exposing Monero's RPC service via Kovri is a similar process. + +Configure a server tunnel on your Kovri node: + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +This will generate a new set of keys, and a new destination address. + +To use the same destination address as P2P, simply replace `xmr-rpc-keys.dat` with `xmr-p2p-keys.dat` in the above configuration. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +This tunnel exposes `monerod`'s default testnet JSON RPC, and one can use Kovri's HTTP client tunnel to connect. + +Here is an example for connecting with curl from a Kovri client node: + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://your-copied-rpc-destination.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +``` diff --git a/i18n/de/README.md b/i18n/de/README.md index da22659..50e6fc0 100644 --- a/i18n/de/README.md +++ b/i18n/de/README.md @@ -18,8 +18,6 @@ Dies ist eine Übersetzung der Kovri-Readme-Datei, das (englischsprachige) Origi ### Versionen -Die Veröffentlichung der Alpha-Version steht kurz bevor. - ### [Nightly Releases (bleeding edge)](https://build.getmonero.org/waterfall) | Installer | Prüfsumme | Status | diff --git a/i18n/de/developer_guide.md b/i18n/de/developer_guide.md index 1c12e91..87c70b9 100644 --- a/i18n/de/developer_guide.md +++ b/i18n/de/developer_guide.md @@ -7,7 +7,7 @@ - Wir sind auch via [HackerOne](https://hackerone.com/monero) erreichbar ## Stil -1. Lies dir [Googles C++-Stilhandbuch](https://google.github.io/styleguide/cppguide.html) durch (insbesondere für nicht formattierende Stilverweise) +1. Lies dir [Googles C++-Stilhandbuch](https://google.github.io/styleguide/cppguide.html) durch (insbesondere für nicht formatierende Stilverweise) - Bei Bash-Programmierung, lies [Googles Shell-Stilhandbuch](https://github.com/google/styleguide/blob/gh-pages/shell.xml) 2. Bei Dateien, die nur Neues enthalten, lasse [clang-format](http://clang.llvm.org/docs/ClangFormat.html) mit ```-style=file``` (das unser bereitgestelltes [.clang-format](https://github.com/monero-project/kovri/blob/master/.clang-format) nutzt) laufen ```bash @@ -50,7 +50,7 @@ Um deine Arbeit beizusteuern, gehe bitte wie folgt vor: 1. [Forke](https://help.github.com/articles/fork-a-repo/) Kovri 2. Gehe nochmals den Stil-Abschnitt dieses Dokuments durch 3. Erstelle einen [themenspezifischen Branch](https://git-scm.com/book/de/v1/Git-Branching-Einfaches-Branching-und-Merging) - - Wir haben momentan keine Tags, da da wir uns noch im Pre-Alpha-Stadium befinden. Du kannst deine Arbeit fürs Erste auf dem master-Branch aufbauen + - Wir haben momentan keine Tags, da da wir uns noch im Alpha-Stadium befinden. Du kannst deine Arbeit fürs Erste auf dem master-Branch aufbauen 4. Nimm Änderungen vor - Commits sollten wann immer möglich [atomar (*atomic*)](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention) und Diffs einfach zu lesen sein - Versuche bitte, keine Ausbesserungen der Formatierung mit Nicht-Formatierungs-Commits zu vermischen diff --git a/i18n/de/faq.md b/i18n/de/faq.md index 5d238aa..907b21e 100644 --- a/i18n/de/faq.md +++ b/i18n/de/faq.md @@ -73,9 +73,9 @@ Zweitens, während die Java-Implementierung von I2P großartig ist, kommt sie mi - Ausführen deines Hundes oder Lieblingstieres, Zahlen deiner Steuern ### Was ist der aktuelle Stand von Kovri? -Kovri befindet sich in aktiver Entwicklung und ist derzeit in einem Pre-Alpha-Stadium. Es ist noch *nicht* in Monero integriert, aber neben einigen Kernfunktionen entwickeln wir eine [Client](https://github.com/monero-project/kovri/issues/351)- und eine [Core](https://github.com/monero-project/kovri/issues/350)-API, die Monero und andere Anwendungen nutzen können. +Kovri befindet sich in aktiver Entwicklung und ist derzeit in einem Alpha-Stadium. Es ist noch *nicht* in Monero integriert, aber neben einigen Kernfunktionen entwickeln wir eine [Client](https://github.com/monero-project/kovri/issues/351)- und eine [Core](https://github.com/monero-project/kovri/issues/350)-API, die Monero und andere Anwendungen nutzen können. -Aber nur weil wir in Pre-Alpha sind, bedeutet das nicht, dass man Kovri nicht nutzen kann. Derzeit kann man Kovri verwenden, um eine Verbindung mit dem I2P-Netzwerk herzustellen (und daran teilzunehmen), um auf Eepsites zu browsen, sich mit IRC zu verbinden sowie Client- und Server-Tunnel zu betreiben. +Aber nur weil wir in Alpha sind, bedeutet das nicht, dass man Kovri nicht nutzen kann. Derzeit kann man Kovri verwenden, um eine Verbindung mit dem I2P-Netzwerk herzustellen (und daran teilzunehmen), um auf Eepsites zu browsen, sich mit IRC zu verbinden sowie Client- und Server-Tunnel zu betreiben. ### Wann gibt es die Alpha-Version? Eine Alpha-Version ist in Arbeit und wird (hoffentlich!!) vor Ende 2017 veröffentlicht. Sobald wir in der Alpha-Phase sind, beginnt sofort die Arbeit an der Beta-Version, die Folgendes erfordert: eine vollständig implementierte API, die Lösung wesentlicher Qualitätssicherungsprobleme und verschiedene Bugfixes. @@ -84,11 +84,11 @@ Eine Alpha-Version ist in Arbeit und wird (hoffentlich!!) vor Ende 2017 veröffe Derzeit konzentrieren wir uns auf alles, was in unserem [Issue-Tracker](https://github.com/monero-project/kovri/issues/) aufgeführt ist. Das deckt einen Großteil dessen ab, was wir vor der offiziellen Alpha-Version fertigstellen müssen. ### Wie einsatzfähig sind Kovri und die Privatsphäre, die es bietet, zurzeit? -Kovri ist im Rahmen dessen, was `./kovri --help` zu bieten hat, verwendbar. Kovri hat gegenwärtig keine Interaktion mit Monero. Im Hinblick auf den Schutz der Privatsphäre haben wir seit der Einführung viele Sicherheitsprobleme behoben, aber wir möchten dich daran erinnern, dass wir uns noch immer in der Pre-Alpha-Phase befinden. +Kovri ist im Rahmen dessen, was `./kovri --help` zu bieten hat, verwendbar. Kovri hat gegenwärtig keine Interaktion mit Monero. Im Hinblick auf den Schutz der Privatsphäre haben wir seit der Einführung viele Sicherheitsprobleme behoben, aber wir möchten dich daran erinnern, dass wir uns noch immer in der Alpha-Phase befinden. Es gibt immer noch viel Code zu schreiben, erwarte also keine starke Anonymitätsgarantie wie mit Tor oder selbst Java-I2P. Diese Projekte haben mehr als 10 Jahre Erfahrung in der Forschung und Implementierung, und wir fangen gerade erst an. -Du kannst gerne die Rolle des Entwicklers spielen und mit Kovri experimentieren, aber nur, wenn dich die Tatsache, dass du **nicht** anonym bist, nicht in Gefahr bringt, da immer das Risiko einer möglichen Deanonymisierung besteht, weil wir uns noch in Pre-Alpha befinden (das ist nicht Kovri-spezifisch). +Du kannst gerne die Rolle des Entwicklers spielen und mit Kovri experimentieren, aber nur, wenn dich die Tatsache, dass du **nicht** anonym bist, nicht in Gefahr bringt, da immer das Risiko einer möglichen Deanonymisierung besteht, weil wir uns noch in Alpha befinden (das ist nicht Kovri-spezifisch). ### Wie kann ich die Kovri-Entwickler erreichen? @@ -137,7 +137,7 @@ Da die restlichen Entwickler erkannten, dass ein solch erratisches Verhalten nur ### Ich habe eine Schwachstelle gefunden! Ich habe einen Bug gefunden! Was soll ich tun? - Schwachstellen: siehe unser [README](https://github.com/monero-project/kovri/blob/master/README.md) -- Bugs: siehe unseren [Beitragsleitfaden](https://github.com/monero-project/kovri-docs/blob/master/i18n/de/developer_guide.md) +- Bugs: siehe unser [Entwicklerhandbuch](https://github.com/monero-project/kovri-docs/blob/master/i18n/de/developer_guide.md) ### Warum zeigt mein Log ein anderes Datum/eine andere Uhrzeit als meine Zeitzone? Logs werden in UTC aufgezeichnet, um deine Privatsphäre zu schützen. Durch die Verwendung von UTC kannst du Logs besser hochladen, um sie mit anderen Entwicklern oder der Community zu teilen, ohne deine Anonymität zu beeinträchtigen. diff --git a/i18n/de/monero_guide.md b/i18n/de/monero_guide.md new file mode 100644 index 0000000..d649b69 --- /dev/null +++ b/i18n/de/monero_guide.md @@ -0,0 +1,92 @@ +# Monero über Kovri + +## Erste Schritte + +1. Folge den Anleitungen zum Kompilieren und/oder Installieren von [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Sieh das [Benutzerhandbuch](https://github.com/monero-project/kovri-docs/blob/master/i18n/de/user_guide.md) in der Sprache deiner Wahl durch +3. Konfiguriere Kovri-Server- und -Client-Tunnel für die Verbindung mit `monerod`-Nodes über das I2P-Netzwerk + +## Kovri-Server-Tunnel + +Konfiguriere zunächst einen Server-Tunnel auf einem Node. + +Infos zum Einrichten eines Server-Tunnels sind in der Datei `tunnels.conf` in deinem Datenverzeichnis. Um dein Datenverzeichnis zu finden, siehe `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +Diese Konfiguration öffnet einen Kovri-Listener auf dem standardmäßigen Testnet-P2P-Port von `monerod`. Lese als nächstes im [Benutzerhandbuch](https://github.com/monero-project/kovri-docs/blob/master/i18n/de/user_guide.md), wie man die Base32-Zieladresse erhält. + +Falls du bereits deinen Kovri-Router gestartet hast, führe `$ kill -HUP $(pgrep kovri)` aus, um den neuen Tunnel zu laden. Eine drastischere Möglichkeit besteht darin, einen harten Neustart durchzuführen, durch Stoppen und Starten von Kovri. + +## Kovri-Client-Tunnel + +Jetzt, wo der Server-Tunnel eingerichtet ist, kannst du die Einrichtung des Client-Tunnels durch Zeigen auf den Server-Tunnel starten. + +Beispiel: + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = dein-kopiertes-server-ziel.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Wiederhole den Prozess für jeden Node, den du mittels Kovri verbinden möchtest. + +Falls du bereits deinen Kovri-Router gestartet hast, führe `$ kill -HUP $(pgrep kovri)` aus, um den neuen Tunnel zu laden. Eine drastischere Möglichkeit besteht darin, einen harten Neustart durchzuführen, durch Stoppen und Starten von Kovri. + +## Monero P2P über Kovri + +Es ist genauso einfach, `monerod` auf deinen neuen Kovri-Client-Tunnel zeigen zu lassen. + +Hier ist ein Beispiel für das Starten eines minenden Testnet-Nodes: + +```bash +monerod --testnet --start-mining deine-Testnet-Wallet-Adresse --add-exclusive-node 127.0.0.1:24040 +``` + +Falls du Verbindungsprobleme bemerkst, warte, bis sich deine Kovri-Nodes ins Netzwerk integrieren (~5-10 Minuten nach dem Start). + +## Monero RPC über Kovri + +Moneros RPC-Service über Kovri verfügbar zu machen, ist ein ähnlicher Prozess. + +Konfiguriere einen Server-Tunnel auf deinem Kovri-Node: + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +Dies wird einen neuen Schlüsselsatz und eine neue Zieladresse erzeugen. + +Um dieselbe Zieladresse als P2P zu nutzen, ersetze einfach `xmr-rpc-keys.dat` durch `xmr-p2p-keys.dat` in der obigen Konfiguration. + +Falls du bereits deinen Kovri-Router gestartet hast, führe `$ kill -HUP $(pgrep kovri)` aus, um den neuen Tunnel zu laden. Eine drastischere Möglichkeit besteht darin, einen harten Neustart durchzuführen, durch Stoppen und Starten von Kovri. + +Dieser Tunnel macht `monerod`s standardmäßiges Testnet-JSON-RPC verfügbar und man kann Kovris HTTP-Client-Tunnel verwenden, um sich zu verbinden. + +Hier ist ein Beispiel zur Verbindung mit curl von einem Kovri-Client-Node aus: + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://dein-kopiertes-rpc-ziel.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +``` diff --git a/i18n/de/user_guide.md b/i18n/de/user_guide.md index 3856dca..801640b 100644 --- a/i18n/de/user_guide.md +++ b/i18n/de/user_guide.md @@ -11,16 +11,16 @@ Hinweise: - Wenn du keinen Zugang zu deinem NAT hast, verwende die Laufzeitoption `--enable-upnp` oder schalte die Option in `kovri.conf` ein. - **Teile deine Portnummer mit niemandem, da dies deine Anonymität beeinträchtigen wird!** -## Schritt 2. (Empfohlen) Betriebssicherheit (Opsec) +## Schritt 2. (Empfohlen) Operative Sicherheit (Opsec) -- Erwäge, einen festgelegten `kovri`-Benutzer zu erstellen und führe kovri nur mit diesem Benutzer aus +- Erwäge, einen eigenen `kovri`-Benutzer zu erstellen und führe kovri nur mit diesem Benutzer aus - Wenn du Linux nutzt, denke über die Verwendung eines gehärteten Kernels nach (wie etwa [grsec](https://en.wikibooks.org/wiki/Grsecurity) mit RBAC) - Nachdem du die entsprechenden Ressourcen in deinem kovri-Datenpfad installiert hast, solltest du eine angemessene Zugriffssteuerung (Access Control) einstellen mit [setfacl](https://linux.die.net/man/1/setfacl), [umask](https://en.wikipedia.org/wiki/Umask) oder was auch immer dein Betriebssystem als ACL (Access Control List) verwendet - Teile deine Portnummer mit niemandem, da dies deine Anonymität beeinträchtigen wird! **Hinweis: Deinen Datenpfad für Linux/OSX/Windows findest du in kovri.conf** -## Schritt 3. Kovri konfigurieren, Tunnel einrichten +## Schritt 3. Kovri konfigurieren Für eine vollständige Liste der Optionen: @@ -41,18 +41,19 @@ Für vollständige Optionen mit Details: ## Schritt 4. (Optional) Tunnel einrichten -Kurz gesagt, *Client-Tunnel* sind Tunnel, über die du Verbindungen zu anderen Diensten herstellst, und *Server-Tunnel* werden verwendet, wenn du Dienste hostest (und andere Personen sich mit deinem Dienst verbinden). +Kurz gesagt, *Client-Tunnel* sind Tunnel, über die du Verbindungen zu anderen Diensten herstellst. *Server-Tunnel* werden verwendet, wenn du Dienste hostest, sodass sich andere Personen mit deinem Dienst (Website, SSH, etc.) verbinden können. Du hast standardmäßig Client-Tunnel für IRC (Irc2P) und E-Mail (i2pmail) eingerichtet. Zum Hinzufügen/Entfernen von Client-Tunneln, siehe `tunnels.conf`. -Beim Erstellen von Server-Tunneln musst du *persistente private Schlüssel* erzeugen. Entferne dafür das Kommentarzeichen bei bzw. schreibe `keys = your-keys.dat` und ersetze `your-keys` mit einem geeigneten Namen. **Teile deine private `.dat`-Datei mit niemandem und stelle sicher, dass du eine Sicherungskopie erstellst!** +Beim Erstellen von Server-Tunneln musst du *dauerhafte private Schlüssel* erzeugen, die für dein Ziel verwendet werden. Entferne dafür das Kommentarzeichen bei bzw. schreibe `keys = your-keys.dat` und ersetze `your-keys` mit einem geeigneten Namen. **Teile deine private `.dat`-Datei mit niemandem (hier besteht eine einzige Ausnahme und zwar, falls du Multihoming einsetzen möchtest) und stelle sicher, dass du eine Sicherungskopie der Datei erstellst!** -Nach der Einrichtung wird deine [Base32-Adresse](https://getmonero.org/resources/moneropedia/base32-address) in deinem Log angezeigt, nachdem du kovri gestartet hast. Du findest die Adresse auch in einer Textdatei zusammen mit der privaten Schlüsseldatei in deinem kovri-Datenpfad im `client/keys`-Ordner. Die Adresse in dieser `.txt`-Textdatei kann gefahrlos weitergegeben werden, damit sich andere Personen mit deinem Dienst verbinden können. +Nach der Einrichtung wird dein [Base32](https://getmonero.org/resources/moneropedia/base32-address)- und [Base64](https://getmonero.org/resources/moneropedia/base64-address)-codiertes Ziel in deinem Log angezeigt, nachdem du kovri gestartet hast. Du findest diese Codierungen auch in einer Textdatei zusammen mit der `.dat`-Datei in deinem kovri-Datenpfad im `client/keys`-Ordner. Das codierte Ziel in den **Textdateien** `.dat.b32.txt` und `.dat.b64.txt`kann gefahrlos an andere weitergegeben werden, damit sie sich mit deinem Dienst verbinden können. Beispiel: - Private Schlüsseldatei: `client/keys/your-keys.dat` -- Öffentliche [Base32](https://getmonero.org/resources/moneropedia/base32-address)-/[Base64](https://getmonero.org/resources/moneropedia/base64-address)-Adresse: `client/keys/your-keys.dat.txt` +- Öffentliche [Base32](https://getmonero.org/resources/moneropedia/base32-address): `client/keys/your-keys.dat.b32.txt` +- Öffentliche [Base64](https://getmonero.org/resources/moneropedia/base64-address): `client/keys/your-keys.dat.b64.txt` **Hinweis: Deinen Datenpfad für Linux/OSX/Windows findest du in kovri.conf** diff --git a/i18n/en/monero_guide.md b/i18n/en/monero_guide.md new file mode 100644 index 0000000..af94ce9 --- /dev/null +++ b/i18n/en/monero_guide.md @@ -0,0 +1,92 @@ +# Monero via Kovri + +## Getting Started + +1. Follow the instructions for building and/or installing [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Review the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) in your language of choice +3. Configure Kovri server and client tunnels to connect to `monerod` nodes over the I2P network + +## Kovri server tunnel + +First, configure a server tunnel on one node. + +To setup a server tunnel, see `tunnels.conf` located in your data directory. To locate your data directory, see `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +This configuration will open a Kovri listener on `monerod`'s default testnet P2P port. Next, read the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) for how to obtain the base32 destination address. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Kovri client tunnel + +Now that the server tunnel is setup, begin the client tunnel setup by pointing to the server tunnel. + +Example: + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = your-copied-server-destination.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Repeat the process for each node you would like to connect using Kovri. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Monero P2P via Kovri + +Pointing `monerod` to your new Kovri client tunnel is just as easy. + +Here is an example for starting a mining testnet node: + +```bash +monerod --testnet --start-mining your-testnet-wallet-address --add-exclusive-node 127.0.0.1:24040 +``` + +If you notice connectivity issues, wait for your Kovri nodes to integrate into the network (~5-10 min after start). + +## Monero RPC via Kovri + +Exposing Monero's RPC service via Kovri is a similar process. + +Configure a server tunnel on your Kovri node: + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +This will generate a new set of keys, and a new destination address. + +To use the same destination address as P2P, simply replace `xmr-rpc-keys.dat` with `xmr-p2p-keys.dat` in the above configuration. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +This tunnel exposes `monerod`'s default testnet JSON RPC, and one can use Kovri's HTTP client tunnel to connect. + +Here is an example for connecting with curl from a Kovri client node: + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://your-copied-rpc-destination.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +``` diff --git a/i18n/en/user_guide.md b/i18n/en/user_guide.md index 71937d3..713bd4e 100644 --- a/i18n/en/user_guide.md +++ b/i18n/en/user_guide.md @@ -20,7 +20,7 @@ Notes: **Note: see kovri.conf to find your data path for Linux/OSX/Windows** -## Step 3. Configure Kovri, setup tunnels +## Step 3. Configure Kovri For a full list of options: @@ -41,18 +41,19 @@ For complete options with details: ## Step 4. (Optional) Setup tunnels -In short, *client tunnels* are tunnels which you use to connect to other services and *server tunnels* are used for when you host service(s) (and other people connect to your service). +In short, *client tunnels* are tunnels which you use to connect to other services and *server tunnels* are used for when you host service(s) so other people can connect to your service (website, SSH, etc). By default, you will have client tunnels setup for IRC (Irc2P) and email (i2pmail). To add/remove client tunnels, see `tunnels.conf`. -When creating server tunnel(s), you'll need to create *persistent private keys*. To do so, uncomment or create `keys = your-keys.dat` and replace `your-keys` with an appropriate name. **Do not share your private `.dat` file with anyone, and be sure to make a backup!** +When creating server tunnel(s), you'll need to create *persistent private keys* which are used for your destination. To do so, uncomment or create `keys = your-keys.dat` and replace `your-keys` with an appropriate name. **Do not share your private `.dat` file with anyone (the only exception being if you wish to deploy multi-homing), and be sure to make a backup of the file!** -Once setup, your [Base32 address](https://getmonero.org/resources/moneropedia/base32-address) will be shown in your log after you start kovri. You can also find the address in a text file along with the private keys file in your kovri data path in the `client/keys` directory. The address inside this `.txt` text file is safe to distribute so other people can connect to your service. +Once setup, your [Base32](https://getmonero.org/resources/moneropedia/base32-address) and [Base64](https://getmonero.org/resources/moneropedia/base64-address) encoded destination will be shown in your log after you start kovri. You can also find these encodings in a text file along with the `.dat` file in your kovri data path in the `client/keys` directory. The encoded destination inside the **text files** `.dat.b32.txt` and `.dat.b64.txt` are safe to distribute to others so they can connect to your service. Example: - Private keys file: `client/keys/your-keys.dat` -- Public [Base32](https://getmonero.org/resources/moneropedia/base32-address)/[Base64](https://getmonero.org/resources/moneropedia/base64-address) address: `client/keys/your-keys.dat.txt` +- Public [Base32](https://getmonero.org/resources/moneropedia/base32-address): `client/keys/your-keys.dat.b32.txt` +- Public [Base64](https://getmonero.org/resources/moneropedia/base64-address): `client/keys/your-keys.dat.b64.txt` **Note: see kovri.conf to find your data path for Linux/OSX/Windows** diff --git a/i18n/es/README.md b/i18n/es/README.md index ca335d4..a348516 100644 --- a/i18n/es/README.md +++ b/i18n/es/README.md @@ -18,8 +18,6 @@ Esta es una versión del archivo Léeme de Kovri, traducido al español, el orig ### Lanzamientos -Lanzamientos en Alfa muy pronto - ### [Lanzamientos Nocturnos (la más reciente)](https://build.getmonero.org/waterfall) | Descarga | Checksum | Estado | diff --git a/i18n/es/faq.md b/i18n/es/faq.md index 4da4eba..9b573e5 100644 --- a/i18n/es/faq.md +++ b/i18n/es/faq.md @@ -67,4 +67,4 @@ Ver que este comportamiento errático, solamente hería la red I2P y el proyecto ## ¡Encontré una vulnerabilidad! ¿Qué hago? - Vulnerabilidades: leer nuestro [README](https://github.com/monero-project/kovri/blob/master/README.md) -- Bugs: leer nuestra [Guía para contribuir](https://github.com/monero-project/kovri-docs/blob/master/i18n/es/developer_guide.md) +- Bugs: leer nuestra [Guía de desarrolladores](https://github.com/monero-project/kovri-docs/blob/master/i18n/es/developer_guide.md) diff --git a/i18n/es/monero_guide.md b/i18n/es/monero_guide.md new file mode 100644 index 0000000..af94ce9 --- /dev/null +++ b/i18n/es/monero_guide.md @@ -0,0 +1,92 @@ +# Monero via Kovri + +## Getting Started + +1. Follow the instructions for building and/or installing [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Review the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) in your language of choice +3. Configure Kovri server and client tunnels to connect to `monerod` nodes over the I2P network + +## Kovri server tunnel + +First, configure a server tunnel on one node. + +To setup a server tunnel, see `tunnels.conf` located in your data directory. To locate your data directory, see `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +This configuration will open a Kovri listener on `monerod`'s default testnet P2P port. Next, read the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) for how to obtain the base32 destination address. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Kovri client tunnel + +Now that the server tunnel is setup, begin the client tunnel setup by pointing to the server tunnel. + +Example: + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = your-copied-server-destination.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Repeat the process for each node you would like to connect using Kovri. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Monero P2P via Kovri + +Pointing `monerod` to your new Kovri client tunnel is just as easy. + +Here is an example for starting a mining testnet node: + +```bash +monerod --testnet --start-mining your-testnet-wallet-address --add-exclusive-node 127.0.0.1:24040 +``` + +If you notice connectivity issues, wait for your Kovri nodes to integrate into the network (~5-10 min after start). + +## Monero RPC via Kovri + +Exposing Monero's RPC service via Kovri is a similar process. + +Configure a server tunnel on your Kovri node: + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +This will generate a new set of keys, and a new destination address. + +To use the same destination address as P2P, simply replace `xmr-rpc-keys.dat` with `xmr-p2p-keys.dat` in the above configuration. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +This tunnel exposes `monerod`'s default testnet JSON RPC, and one can use Kovri's HTTP client tunnel to connect. + +Here is an example for connecting with curl from a Kovri client node: + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://your-copied-rpc-destination.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +``` diff --git a/i18n/fr/README.md b/i18n/fr/README.md index 315d322..2e5778a 100644 --- a/i18n/fr/README.md +++ b/i18n/fr/README.md @@ -18,8 +18,6 @@ Ceci est une version traduite du README Kovri, la version originale (en anglais) ### Versions -Version Alpha à venir - ### [Version Nocturnes (bleeding edge)](https://build.getmonero.org/waterfall) | Téléchargement | Checksum | Etat | diff --git a/i18n/fr/faq.md b/i18n/fr/faq.md index 77a4613..f67697a 100644 --- a/i18n/fr/faq.md +++ b/i18n/fr/faq.md @@ -138,7 +138,7 @@ En se rendant compte que ce type de comportement ne ferait que nuire au réseau ### J'ai trouvé une vulnérabilité, j'ai trouvé un bug, que dois-je faire ? - Vulnérabilité : visitez notre [README](https://github.com/monero-project/kovri/blob/master/README.md) -- Bugs : visitez notre [Guide de contribution](https://github.com/monero-project/kovri-docs/blob/master/i18n/fr/developer_guide.md) +- Bugs : visitez notre [Guide de développement](https://github.com/monero-project/kovri-docs/blob/master/i18n/fr/developer_guide.md) ### Pourquoi mes logs montrent une heure différente de mon fuseau horaire ? Les logs sont enregistrés en UTC pour protéger votre anonymat. En utilisant UTC, vous êtes dans une meilleure position pour uploader vos logs et les partager avec les développeurs et la communauté sans porter atteinte à votre anonymat. \ No newline at end of file diff --git a/i18n/fr/monero_guide.md b/i18n/fr/monero_guide.md new file mode 100644 index 0000000..ff316cf --- /dev/null +++ b/i18n/fr/monero_guide.md @@ -0,0 +1,92 @@ +# Monero à travers Kovri + +## Démarrer + +1. Suivez les instructions pour compiler et/ou installer [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Étudiez le [Guide Utilisateur](https://github.com/monero-project/kovri-docs/blob/master/i18n/fr/user_guide.md) dans la langue de votre choix +3. Configurez les tunnels serveur et client de Kovri pour vous connecter aux nœuds `monerod` à travers le réseau I2P + +## Tunnel serveur de Kovri + +Tout d'abord, configurez un tunnel serveur sur un nœud. + +Pour configurer un tunnel serveur, voir le fichier `tunnels.conf` situé dans votre répertoire de données. Pour localiser votre répertoire de données, voir `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +Cette configuration va ouvrir un port d'écoute de Kovri sur le port P2P testnet par défaut de `monerod`. Ensuite, lisez le [Guide Utilisateur](https://github.com/monero-project/kovri-docs/blob/master/i18n/fr/user_guide.md) pour savoir comment obtenir une adresse de destination Base32. + +Si vous avez déjà démarré votre routeur kovri, lancez `$ kill -HUP $(pgrep kovri)` pour charger le nouveau tunnel. Plus radicalement, vous pouvez également faire un redémarrage forcé en arrêtant et redémarrant kovri. + +## Tunnel client Kovri + +Maintenant que le tunnel serveur est configuré, commencez la configuration du tunnel client en le faisant pointer vers le tunnel serveur. + +Exemple : + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = your-copied-server-destination.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Répétez le procéder pour chaque nœud auquel vous voulez vous connecter en utilisant Kovri. + +Si vous avez déjà démarré votre routeur kovri, lancez `$ kill -HUP $(pgrep kovri)` pour charger le nouveau tunnel. Plus radicalement, vous pouvez également faire un redémarrage forcé en arrêtant et redémarrant kovri. + +## Monero P2P à travers Kovri + +Faire pointer `monerod` vers votre nouveau tunnel client Kovri est tout aussi simple. + +Voici un exemple pour démarrer un nœud testnet d'extraction minière : + +```bash +monerod --testnet --start-mining your-testnet-wallet-address --add-exclusive-node 127.0.0.1:24040 +``` + +Si vous remarquez des problèmes de connectivité, attendez qur vos noeuds Kovri aient intégré le réseau (~5-10 min après démarrage) + +## Monero RPC à travers Kovri + +Exposer le service RPC de Monero à travers Kovri est un processus similaire. + +Configurez un tunnel serveur sur votre nœud Kovri : + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +Cela va générer un nouveau jeu de clefs, et une nouvelle adresse de destination. + +Pour utiliser la même adresse de destination que pour P2P, remplacez simplement `xmr-rpc-keys.dat` par `xmr-p2p-keys.dat` dans la configuration ci-dessus. + +Si vous remarquez des problèmes de connectivité, attendez que vos nœuds Kovri aient intégré le réseau (~5-10 min après démarrage) + +Ce tunnel expose l'API JSON RPC testnet par défaut de Monero, et chacun peut utiliser le tunnel client HTTP de Kovri pour se connecter. + +Voici un exemple pour se connecter avec curl depuis un nœud client de Kovri : + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://your-copied-rpc-destination.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +``` diff --git a/i18n/it/README.md b/i18n/it/README.md index e74a7f4..1f135db 100644 --- a/i18n/it/README.md +++ b/i18n/it/README.md @@ -19,8 +19,6 @@ Questa è la versione tradotta del README di Kovri, l'originale (in inglese) è ### Pubblicazioni -Alpha in arrivo - ### [Pubblicazioni 'notturne' (bleeding edge)](https://build.getmonero.org/waterfall) | Download | Checksum | Status | diff --git a/i18n/it/faq.md b/i18n/it/faq.md index 6f1ab56..c2340dd 100644 --- a/i18n/it/faq.md +++ b/i18n/it/faq.md @@ -67,4 +67,4 @@ Capendo che questo comportamento avrebe solo fatto male al network I2P e all'int ## Ho trovato una vulnerabilità! Ho trovato un bug! Cosa devo fare? - Vulnerabilità: vedi il nostro [LEGGIMI](https://github.com/monero-project/kovri/blob/master/README.md) -- Bugs: leggi la nostra [Developer Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/it/developer_guide.md) +- Bugs: leggi la nostra [Guida per sviluppatori](https://github.com/monero-project/kovri-docs/blob/master/i18n/it/developer_guide.md) diff --git a/i18n/it/monero_guide.md b/i18n/it/monero_guide.md new file mode 100644 index 0000000..af94ce9 --- /dev/null +++ b/i18n/it/monero_guide.md @@ -0,0 +1,92 @@ +# Monero via Kovri + +## Getting Started + +1. Follow the instructions for building and/or installing [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Review the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) in your language of choice +3. Configure Kovri server and client tunnels to connect to `monerod` nodes over the I2P network + +## Kovri server tunnel + +First, configure a server tunnel on one node. + +To setup a server tunnel, see `tunnels.conf` located in your data directory. To locate your data directory, see `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +This configuration will open a Kovri listener on `monerod`'s default testnet P2P port. Next, read the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) for how to obtain the base32 destination address. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Kovri client tunnel + +Now that the server tunnel is setup, begin the client tunnel setup by pointing to the server tunnel. + +Example: + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = your-copied-server-destination.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Repeat the process for each node you would like to connect using Kovri. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Monero P2P via Kovri + +Pointing `monerod` to your new Kovri client tunnel is just as easy. + +Here is an example for starting a mining testnet node: + +```bash +monerod --testnet --start-mining your-testnet-wallet-address --add-exclusive-node 127.0.0.1:24040 +``` + +If you notice connectivity issues, wait for your Kovri nodes to integrate into the network (~5-10 min after start). + +## Monero RPC via Kovri + +Exposing Monero's RPC service via Kovri is a similar process. + +Configure a server tunnel on your Kovri node: + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +This will generate a new set of keys, and a new destination address. + +To use the same destination address as P2P, simply replace `xmr-rpc-keys.dat` with `xmr-p2p-keys.dat` in the above configuration. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +This tunnel exposes `monerod`'s default testnet JSON RPC, and one can use Kovri's HTTP client tunnel to connect. + +Here is an example for connecting with curl from a Kovri client node: + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://your-copied-rpc-destination.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +``` diff --git a/i18n/it/quality.md b/i18n/it/quality.md index 74d05d6..8a11a6f 100644 --- a/i18n/it/quality.md +++ b/i18n/it/quality.md @@ -1,50 +1,50 @@ -The following is a proposed model for QA workflow. While linear in nature, any phase can be worked on individually if needed - as long as all phases are eventually addressed. - -## Phase 1: Basic Review - -- All code must adhere to our contributing guidelines -- Note areas that need improving (mentally or in code) -- Create TODO's and assign if possible - -## Phase 2: Specification Review / Implementation / Code Documentation - -- Complete specification review on a per module basis; e.g., Streaming, I2PControl, etc. - - Code must be in-line with essential parts of the specification that will maintain the same (or better) level of anonymity that java I2P provides - - Refactor/implement/patch when/where needed -- Ensure C++11/14 compliant implementation - - Review phase 2 if needed -- Resolve all related TODO's -- Document code as much as possible with inline comments and Doxygen - - Code should be understood by novice to experienced coders - - Code should guide the reader to a better understanding of I2P - - I2P is very complex so our code should act as sovereign replacement of spec documentation and not simply as a supplement (this can be a tedious objective but very rewarding in terms of maintenance and software lifespan) - -## Phase 3: Crypto Review / Security auditing - -- Ensure that crypto is up-to-date and properly implemented -- Establish every vector for known exploitation - - Keep these vectors in mind when writing tests -- Break Kovri every which-way possible - - Fix what you break -- Always use trustworthy, well-written libraries when possible - - Avoid homebrewed, ad-hoc, *I'm sure I know better than the community* type of code -- Seek a 2nd (or more) opinion(s) from colleagues before proceeding to next phase - -## Phase 4: Bug squashing / Tests / Profiling - -- Resolve priority bugs/issues -- Write unit-tests tests for every module - - Run tests. Run them again - - Full review of test results. Patch if needed. Refactor as necessary -- Ensure that automation is running on a regular basis +Il seguente modello riguarda il flusso di lavoro sul controllo di qualità. Posto che tutte le fasi devono essere, in ultima istanza, portate a termine, è possibile lavorare individualmente a ciascuna di esse. + +## Prima fase: Revisione di base + +- Tutto il codice deve rispettare le linee guida per i collaboratori +- Evidenziare le aree che necessitano di un miglioramento, sia esso concettuale o a livello di codice +- Creare liste di cose da fare, e, ove possibile, distribuire i compiti + +## Seconda fase: Revisione della specifica / Implementazione / Documentazione del codice + +- Revisionare completamente la specifica per ogni modulo (Streaming, I2PControl, etc.) + - Il codice deve essere in-line; ogni parte della specifica deve mantenere lo stesso livello di anonimato fornito da java I2P, o raggiungere un livello superiore + - Rifattorizzare/implementare/correggere quando/dove necessario +- Assicurarsi che l'implementazione sia conforme a C++11/14 + - Rivedere la seconda fase in caso di bisogno +- Risolvere tutti i punti presenti nelle liste di cose da fare +- Ove possibile, annotare il codice con commenti in-line e doxygen + - Il codice dovrebbe essere compreso tanto da programmatori esperti che da programmatori principianti + - Il codice dovrebbe guidare il lettore a una migliore comprensione di I2P + - Data la complessità di I2P, il nostro codice dovrebbe essere non tanto un supplemento, quanto una versione autonoma della documentazione (questo potrebbe sembrare ridondante, ma comporta dei notevoli vantaggi in termini di manutenzione e durata del software) + +## Terza fase: Revisione crittografica / Ispezione della sicurezza + +- Assicurarsi che la crittografia sia aggiornata e propriamente implementata +- Stabilire quali sono i vettori di attacco conosciuti + - Tenere questi vettori a mente mentre si scrivono i test di sicurezza +- Cercare di violare Kovri in ogni modo possibile + - Riparare i danni apportati +- Utilizzare, ove possibile, librerie ben scritte e di fiducia + - Astenersi dallo scrivere codici artigianali, ad hoc, nello stile "Sono sicuro che ne so molto di più della comunità" +- Chiedere una seconda opinione a uno o più colleghi prima di passare alla fase successiva + +## Quarta fase: Risoluzione dei bug / Test / Profiling + +- Risolvere i bug e i problemi principali +- Scrivere unità di test per ogni modulo + - Eseguire i test. Eseguirli di nuovo + - Revisionare i risultati dei test. Correggere o rifattorizzare ove necessario +- Assicurarsi che l'automazione venga eseguita su base regolare - valgrind, doxygen, clang-format - - Patch if needed, refactor as necessary + - Correggere o rifattorizzare ove necessario -## Phase 5: Confer +## Quinta fase: Consultazioni -- Confer with colleagues and the community - - Conferring should be done publicly via ticket, meetings, and/or IRC -- Accept all feedback and, in response, produce tangible results -- If satisfied, proceed with next phase, else repeat this phase (or start from a previous phase) +- Consultarsi con i colleghi e con la comunità + - Le consultazioni dovrebbero tenersi pubblicamente per mezzo di incontri, ticket, e/o IRC +- Accettare tutti i feedback, e, in risposta, produrre risultati tangibili +- Se soddisfatti, procedere alla fase successiva, altrimenti ripetere questa fase (o ripartire da una fase precedente) -## Phase 6: Repeat the cycle from the beginning +## Sesta fase: Ripetere il ciclo dall'inizio diff --git a/i18n/it/user_guide.md b/i18n/it/user_guide.md index 9f072bf..5e429c2 100644 --- a/i18n/it/user_guide.md +++ b/i18n/it/user_guide.md @@ -1,19 +1,26 @@ # Ok, hai appena installato Kovri. E adesso? ## Step 1. Apri il tuo NAT/Firewall -1. Scegli una porta tra ```9111``` e ```30777``` (ovviamente questa non dovrà interferire con altre applicazioni) -2. **Salva la porta scelta nel tuo file di configurazione** (`kovri.conf`) -3. Configura il tuo NAT/Fifewall per consentire ad esso di accettare le connessioni TCP/UDP in entrata dalla porta specificata (Guarda le note qui sotto se non hai accesso) +1. Scegli una porta compresa tra ```9111``` e ```30777``` (prestando attenzione che non interferisca con altre applicazioni) +2. **Salva la porta scelta nel file di configurazione** `kovri.conf` +3. Configura il tuo NAT/Fifewall in modo che accetti le connessioni TCP/UDP in entrata dalla porta specificata (Vedi le note qui sotto se non hai accesso) Note: -- **Non condividere il tuo numero di porta con nessuno altrimenti il tuo anonimato sarà compromesso!** -- Se non salvi la porta, Kovri ne rigenererà una nuova ad ogni avvio (hai anche la scelta di indicare la porta con `--port` ad ogni avvio). -- Se non hai accesso al tuo NAT, segui le istruzioni in [BUILDING](https://github.com/monero-project/kovri-docs/blob/master/i18n/it/building.md) per il tuo SO. +- **Non condividere il numero della porta con nessuno altrimenti il tuo anonimato sarà  compromesso!** +- Se non salvi la porta, Kovri ne rigenererà  una nuova ad ogni avvio (puoi anche indicare la porta con `--port` ad ogni avvio). +- Se non hai accesso al tuo NAT, segui le istruzioni in [BUILDING](https://github.com/monero-project/kovri-docs/blob/master/i18n/it/building.md) per il tuo Sistema Operativo. -## Step 2. Configurare Kovri +## Step 2. (Consigliato) Sicurezza operazionale +- Valuta la creazione di un utente nel SO designato per l'utilizzo di ```kovri``` e usa kovri esclusivamente con quello +- Se si sta usando Linux, considerare la possibilità di utilizzare un "hardened kernel" (ad esempio [grsec](https://en.wikibooks.org/wiki/Grsecurity) assieme a RBAC) +- Dopo aver installato le risorse opportune nel percorso dati di kovri, considera l'installazione di un controllo di accesso adeguato con [setfacl](https://linux.die.net/man/1/setfacl), [umask](https://en.wikipedia.org/wiki/Umask) o quanto utilizzato dal tuo SO per l'ACL -Per una lista completa di opzioni, digitare: +Nota: guarda in kovri.conf per individuare il percorso dati Linux/OSX/Windows + +## Step 3. Configurare Kovri + +Per la lista completa di opzioni, digitare: ```bash # Linux / macOS / *BSD @@ -27,46 +34,68 @@ $ cd "C:\Program Files\Kovri" ; ./kovri.exe --help Per le opzioni scritte in maniera dettagliata: -- `kovri.conf` file di configurazione per il router e il client -- `tunnels.conf` file di configurazione per il client/server tunnel +- `kovri.conf` (file di configurazione per il router e il client) +- `tunnels.conf` (file di configurazione per il client/server tunnel) -## Step 3. Eseguire Kovri +## Step 4. Eseguire Kovri ```bash $ cd build/ && ./kovri ``` -- Aspettare più o meno 5 minuti (il tempo di attesa può variare a seconda del tuo compuer) per entrare nella rete prima di tentare di usare servizi +- Aspettare più o meno 5 minuti (l'attesa può variare a seconda del computer utilizzato) per entrare nella rete prima di tentare di usare i servizi -## Step 4. Unisciti a noi su IRC +## Step 5. Unisciti a noi su IRC 1. Avvia il tuo [client IRC](https://en.wikipedia.org/wiki/List_of_IRC_clients) -2. Imposta il tuo client per connettersi con la porta IRC di Kovri (default 6669). Questo ti collegherà al network Irc2P (I2P's IRC network) +2. Imposta il tuo client per la connessione alla porta IRC di Kovri (default ```6669```). Questo ti connetterà  al network Irc2P (I2P's IRC network) 3. Entra in `#kovri` e `#kovri-dev` -## Step 5. Navigare su un sito I2P (garlic-site/eepsite) -1. Apri un browser (preferibilmente un browser cha abbia il supporto per Kovri) -2. Configura il browser usando [questa guida](https://geti2p.net/en/about/browser-config) **invece di usare la porta 4444 e 4445** cambia la porta HTTP proxy a **4446** e *anche* la porta SSL proxy a **4446** -3. Se tutto è stato configurato correttamente, dovresti vedere un sito come [questo](http://check.kovri.i2p) +## Step 6. Navigare su un sito I2P (garlic-site/eepsite) +1. Avvia un browser (preferibilmente un browser dedicato all'uso di Kovri) +2. Configura il browser prescelto usando [questa guida](https://geti2p.net/en/about/browser-config). **Invece di usare la porta 4444 e 4445** cambia la porta HTTP proxy a **4446** e *anche* la porta SSL proxy a **4446** +3. Se tutto è stato configurato correttamente, dovresti riuscire a visualizzare un sito come [questo](http://check.kovri.i2p) Note: -- **Come con Tor, una persona non ha bisogno di SSL per usare in sicurezza la rete** -- Il supporto dei siti con SSL e il servizio outproxy non sono correntemente implementati -- Se qualcuno ti da un indirizzo .i2p che non è nella tua rubrica, usa il servizio `Jump` [qui](http://stats.i2p/i2p/lookup.html) -- Guarda nel file hosts.txt nella tua cartella, troverai una lista di siti default che puoi facilmente visitare +- **Come con Tor, un utente non ha bisogno di SSL per usare in sicurezza la rete** +- Il supporto dei siti con SSL e il servizio Outproxy non sono correntemente implementati +- Se ricevi da qualcuno un indirizzo .i2p che non è nella tua rubrica, usa il servizio `Jump` [qui](http://stats.i2p/i2p/lookup.html) +- Guardando nel file hosts.txt nella tua cartella, troverai una lista di siti default che puoi facilmente visitare - In generale, il proxy HTTP e l'implementazione della rubrica sono in sviluppo e non ancora complete -## Step 6. Hosta il tuo garlic-service (garlic-site/eepsite) +## Step 7. Hosta il tuo garlic-service (garlic-site/eepsite) - leggi `tunnels.conf` per imparare come impostare un server tunnel che punti al servizio che stai hostando -## Step 7. Buon divertimento! +## Step 8. Buon divertimento! - Leggi di più su Kovri nella [Moneropedia](https://getmonero.org/resources/moneropedia/kovri.html). -- Apri la richiesta per la tua feature o reporta un bug nel nostro [issues tracker](https://github.com/monero-project/kovri/issues) -- Approfondisci a riguardo del network I2P sul [java I2P website](https://geti2p.net/en/docs) +- Apri la tua richiesta per nuove feature o segnala un bug nel nostro [issues tracker](https://github.com/monero-project/kovri/issues) +- Approfondisci l'argomento Network I2P sul [sito java I2P](https://geti2p.net/en/docs) + +# Opzioni Container + +## Snapcraft +Su sistemi Linux, puoi sfruttare Snapcraft per una facile implementazione. + +## Step 1. Scarica la repository Kovri +```$ git clone --recursive https://github.com/monero-project/kovri``` + +## Step 2. Installa snapcraft +- Si consiglia di fare riferimento al package manager per snapcraft e [snapd](https://snapcraft.io/docs/core/install) della tua distribution + +Su Ubuntu, digitare ed eseguire: +```$ sudo apt-get install snapcraft``` + +## Step 3. Crea lo snap +```$ cd kovri/ && snapcraft && sudo snap install *.snap --dangerous``` + +Nota: il parametro --dangerous è richiesto solo perché lo snap non è stato firmato (ma l'hai compilato personalmente, dunque non ci dovrebbero essere problemi) + +## Step 4. Esegui Kovri con snapcraft +```$ snap run kovri``` # Alternativamente, Docker ## Step 1. Installa Docker -L'installazione di Docker va oltre lo scopo di questo documento, per favore leggi la [documentazione di docker](https://docs.docker.com/engine/installation/) +L'installazione di Docker va oltre lo scopo di questo documento, per favore fai riferimento alla [documentazione di docker](https://docs.docker.com/engine/installation/) per saperne di più ## Step 2. Configurare / Aprire Firewall @@ -76,13 +105,13 @@ Dovresti scegliere una porta casuale e usare quella porta (guarda sezioni preced ## Step 3. Avviare -### Impostazioni di default +### Impostazioni di default: ```bash KOVRI_PORT=42085 && sudo docker run -p 127.0.0.1:4446:4446 -p 127.0.0.1:6669:6669 -p $KOVRI_PORT --env KOVRI_PORT=$KOVRI_PORT geti2p/kovri ``` ### Impostazioni personalizzate -Dove `./kovri-settings/` contiene `kovri.conf` e `tunnels.conf`. +Quando `./kovri-settings/` contiene `kovri.conf` e `tunnels.conf`: ```bash KOVRI_PORT=42085 && sudo docker run -p 127.0.0.1:4446:4446 -p 127.0.0.1:6669:6669 -p $KOVRI_PORT --env KOVRI_PORT=$KOVRI_PORT -v kovri-settings:/home/kovri/.kovri/config:ro geti2p/kovri ``` diff --git a/i18n/ru/monero_guide.md b/i18n/ru/monero_guide.md new file mode 100644 index 0000000..af94ce9 --- /dev/null +++ b/i18n/ru/monero_guide.md @@ -0,0 +1,92 @@ +# Monero via Kovri + +## Getting Started + +1. Follow the instructions for building and/or installing [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Review the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) in your language of choice +3. Configure Kovri server and client tunnels to connect to `monerod` nodes over the I2P network + +## Kovri server tunnel + +First, configure a server tunnel on one node. + +To setup a server tunnel, see `tunnels.conf` located in your data directory. To locate your data directory, see `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +This configuration will open a Kovri listener on `monerod`'s default testnet P2P port. Next, read the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) for how to obtain the base32 destination address. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Kovri client tunnel + +Now that the server tunnel is setup, begin the client tunnel setup by pointing to the server tunnel. + +Example: + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = your-copied-server-destination.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Repeat the process for each node you would like to connect using Kovri. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Monero P2P via Kovri + +Pointing `monerod` to your new Kovri client tunnel is just as easy. + +Here is an example for starting a mining testnet node: + +```bash +monerod --testnet --start-mining your-testnet-wallet-address --add-exclusive-node 127.0.0.1:24040 +``` + +If you notice connectivity issues, wait for your Kovri nodes to integrate into the network (~5-10 min after start). + +## Monero RPC via Kovri + +Exposing Monero's RPC service via Kovri is a similar process. + +Configure a server tunnel on your Kovri node: + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +This will generate a new set of keys, and a new destination address. + +To use the same destination address as P2P, simply replace `xmr-rpc-keys.dat` with `xmr-p2p-keys.dat` in the above configuration. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +This tunnel exposes `monerod`'s default testnet JSON RPC, and one can use Kovri's HTTP client tunnel to connect. + +Here is an example for connecting with curl from a Kovri client node: + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://your-copied-rpc-destination.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +``` diff --git a/i18n/sv/README.md b/i18n/sv/README.md index e35d1b9..d554a61 100644 --- a/i18n/sv/README.md +++ b/i18n/sv/README.md @@ -20,8 +20,6 @@ Detta är en översättning av Kovris README-fil. Originalet (på engelska) finn ### Releaser -Alfaversion kommer snart - ### [Nattliga byggen ("bleeding edge")](https://build.getmonero.org/waterfall) | Nedladdning | Checksumma | Status | diff --git a/i18n/sv/monero_guide.md b/i18n/sv/monero_guide.md new file mode 100644 index 0000000..af94ce9 --- /dev/null +++ b/i18n/sv/monero_guide.md @@ -0,0 +1,92 @@ +# Monero via Kovri + +## Getting Started + +1. Follow the instructions for building and/or installing [Kovri](https://github.com/monero-project/kovri) & [Monero](https://github.com/monero-project/monero) +2. Review the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) in your language of choice +3. Configure Kovri server and client tunnels to connect to `monerod` nodes over the I2P network + +## Kovri server tunnel + +First, configure a server tunnel on one node. + +To setup a server tunnel, see `tunnels.conf` located in your data directory. To locate your data directory, see `kovri.conf`. + +``` +[XMR_P2P_Server] +type = server +address = 127.0.0.1 +port = 28080 +in_port = 28080 +keys = xmr-p2p-keys.dat +;white_list = +;black_list = +``` + +This configuration will open a Kovri listener on `monerod`'s default testnet P2P port. Next, read the [User Guide](https://github.com/monero-project/kovri-docs/blob/master/i18n/en/user_guide.md) for how to obtain the base32 destination address. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Kovri client tunnel + +Now that the server tunnel is setup, begin the client tunnel setup by pointing to the server tunnel. + +Example: + +``` +[XMR_Client] +type = client +address = 127.0.0.1 +port = 24040 +dest = your-copied-server-destination.b32.i2p +dest_port = 28080 +keys = xmr-client-keys.dat +``` + +Repeat the process for each node you would like to connect using Kovri. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +## Monero P2P via Kovri + +Pointing `monerod` to your new Kovri client tunnel is just as easy. + +Here is an example for starting a mining testnet node: + +```bash +monerod --testnet --start-mining your-testnet-wallet-address --add-exclusive-node 127.0.0.1:24040 +``` + +If you notice connectivity issues, wait for your Kovri nodes to integrate into the network (~5-10 min after start). + +## Monero RPC via Kovri + +Exposing Monero's RPC service via Kovri is a similar process. + +Configure a server tunnel on your Kovri node: + +``` +[XMR_RPC_Server] +type = server +address = 127.0.0.1 +port = 28081 +in_port = 28081 +keys = xmr-rpc-keys.dat +;white_list = +;black_list = +``` + +This will generate a new set of keys, and a new destination address. + +To use the same destination address as P2P, simply replace `xmr-rpc-keys.dat` with `xmr-p2p-keys.dat` in the above configuration. + +If you have already started your kovri router, run `$ kill -HUP $(pgrep kovri)` to load the new tunnel. More drastically, you can also do a hard restart by stopping and starting kovri. + +This tunnel exposes `monerod`'s default testnet JSON RPC, and one can use Kovri's HTTP client tunnel to connect. + +Here is an example for connecting with curl from a Kovri client node: + +```bash +export http_proxy=127.0.0.1:4446 rpc_server=http://your-copied-rpc-destination.b32.i2p:28081 +curl -X POST ${rpc_server}/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json' +```