From b491c129b1f01a82bf919935701355aba2ebafe6 Mon Sep 17 00:00:00 2001 From: tfasano1 Date: Mon, 2 Oct 2023 00:00:36 -0400 Subject: remove contributor links --- content/auth.md | 2 -- content/tor.md | 2 -- content/wireguard.md | 2 -- 3 files changed, 6 deletions(-) diff --git a/content/auth.md b/content/auth.md index 88a5fee..b38cb88 100644 --- a/content/auth.md +++ b/content/auth.md @@ -132,5 +132,3 @@ http { Now check your configuration with `nginx -t` Reload nginx and you\'re good to go! - -**Contributor** - [tomfasano.net](https://tomfasano.net) diff --git a/content/tor.md b/content/tor.md index a0acdf8..1d0aaf1 100644 --- a/content/tor.md +++ b/content/tor.md @@ -115,5 +115,3 @@ Make sure to update Tor on a regular basis by running: You do **not** need to run certbot for an ssl certificate. HTTP over tor is plenty secure! - -**Contributor** - [tomfasano.net](https://tomfasano.net) diff --git a/content/wireguard.md b/content/wireguard.md index 3e7d571..c0d1879 100644 --- a/content/wireguard.md +++ b/content/wireguard.md @@ -171,5 +171,3 @@ Start WireGuard again: sudo wg-quick up myvpn To disconnect, type `down` instead of `up`. And just like that, you now host a WireGuard VPN server! - -**Contributor** - [tomfasano.net](https://tomfasano.net) -- cgit v1.2.3 From 643b54d408ff1d23c20cdc939a6a35870bdaf0e3 Mon Sep 17 00:00:00 2001 From: Shaan Malik Date: Mon, 2 Oct 2023 12:38:01 +0100 Subject: Fixed example mysql config Enabling mysql should include setting `mysql: true` in config --- content/irc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/irc.md b/content/irc.md index ccf16e8..71abd09 100644 --- a/content/irc.md +++ b/content/irc.md @@ -534,7 +534,7 @@ persistent: # connection information for MySQL (currently only used for persistent history): mysql: - enabled: false + enabled: true host: "localhost" port: 3306 # if socket-path is set, it will be used instead of host:port -- cgit v1.2.3 From 36590554e6dca2f8f1dce5f302ceaf3b7bb79442 Mon Sep 17 00:00:00 2001 From: btkoch <151687291+btkoch@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:10:42 -0500 Subject: Update README.md Current stable version is now Debian 12 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37acf86..b1bd959 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ This site is compiled and organized with Hugo, using [this very simple theme](ht ## Submission guidelines -- Guides should be made for the most recent stable version of Debian. (Now Debian 11.) +- Guides should be made for the most recent stable version of Debian. (Now Debian 12.) - Follow the general style of pre-existing articles. - use the root user (i.e. no `sudo`) unless there is a specific need. - do not preface commands with `$` or `#` or anything. -- cgit v1.2.3 From 1fb8e60c45c33a775406cea277e98f689d2d7f57 Mon Sep 17 00:00:00 2001 From: Adam Stück Date: Thu, 11 Jan 2024 16:03:25 +0100 Subject: prosody: fix typos See https://prosody.im/doc/modules/mod_http_file_share#larger-files --- content/prosody.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/prosody.md b/content/prosody.md index 94fb548..44e2f68 100644 --- a/content/prosody.md +++ b/content/prosody.md @@ -107,7 +107,7 @@ This helps with file transfers for devices behind a NAT, and unless you are usin Enable the proxy by adding the following line to the config: ```cfg -Component " {{}}proxy.example.org{{}}" "proxy65" +Component "{{}}proxy.example.org{{}}" "proxy65" ``` As you can see, another subdomain is needed. We will add ssl certificates for this later. @@ -117,7 +117,7 @@ At this point, file sharing is now setup and ready to be used. Although there ar A big concern with file sharing is large files, seeing as all files shared over XMPP will be stored on your server. This can become a problem when many (and large) files are being shared. We can put a cap on large files by adding the following line to our config: ```cfg -http_file_share_file_size_limit = 20971520 +http_file_share_size_limit = 20971520 ``` This puts a 20MB cap on all files being shared. The value is specified in bytes. You can also specify after how long files should be deleted by adding the following line: -- cgit v1.2.3 From 23f873fc6fa5f54001934fbec64b13d6ad3920b1 Mon Sep 17 00:00:00 2001 From: Adam Stück Date: Thu, 11 Jan 2024 16:07:34 +0100 Subject: prosody: update packages dependencies mod_http_file_share[1] is included in the core modules now so drop reference to prosody-modules. lua-dbi-postgresql is required for postgresql storage backend.[2] 1: https://prosody.im/doc/modules/mod_http_file_share 2: https://prosody.im/doc/depends#luadbi --- content/prosody.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/content/prosody.md b/content/prosody.md index 44e2f68..df18ad3 100644 --- a/content/prosody.md +++ b/content/prosody.md @@ -87,13 +87,7 @@ With this we can bring XMPP to the level of other popular instant messaging appl It is extremely easy to setup. This part is optional, but it can make XMPP more normie-friendly if you plan on moving family members and friends over to XMPP. -First we need to install extra prosody modules. Run the following command: - -```sh -apt install prosody-modules -``` - -Then we can add the following line to you prosody config file to enable file uploads: +Add the following line to your prosody config file to enable file uploads: ```cfg Component "{{}}uploads.example.org{{}}" "http_file_share" @@ -134,7 +128,7 @@ Prosody includes the `internal` and `sql` storage backends by default. If you wish to run Prosody with PostgreSQL, begin by installing the PostgreSQL: ```sh -apt install postgresql +apt install postgresql lua-dbi-postgresql ``` Then start the daemon: -- cgit v1.2.3 From 565c937dcd76aca6269efeeb3db59b1be03ca6ca Mon Sep 17 00:00:00 2001 From: Ángel Castañeda Date: Sat, 7 Oct 2023 21:16:50 -0500 Subject: Fix cgit guide to use dir location from git guide /srv/git -> /var/git Did cgit guide when I was pretty new to self host stuff and never figured out why scanning or http cloning never worked. Eventually I stumbled into in, and I just wanna fix it for everyone. --- content/cgit.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/cgit.md b/content/cgit.md index ce6214c..13d4b2b 100644 --- a/content/cgit.md +++ b/content/cgit.md @@ -53,8 +53,8 @@ server { fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; fastcgi_param PATH_INFO $uri; fastcgi_param GIT_HTTP_EXPORT_ALL 1; - fastcgi_param GIT_PROJECT_ROOT /srv/git; - fastcgi_param HOME /srv/git; + fastcgi_param GIT_PROJECT_ROOT /var/git; + fastcgi_param HOME /var/git; fastcgi_pass unix:/run/fcgiwrap.socket; } @@ -90,11 +90,11 @@ root-title={{}}Chad's git server{{}} root-desc={{}}A web interface to LandChad's git repositories, powered by Cgit{{}} # The location where git repos are stored on the server -scan-path=/srv/git/ +scan-path=/var/git/ ``` This configuration assumes you followed the [git hosting guide](/git) -and store your repositories on the `/srv/git/` directory. +and store your repositories on the `/var/git/` directory. Cgit\'s configuration allows changing many settings, as documented on the cgitrc(5) manpage installed with Cgit. -- cgit v1.2.3 From 2f485c5dc860238929965010c002679cf2843117 Mon Sep 17 00:00:00 2001 From: bd-912 Date: Fri, 15 Mar 2024 22:35:36 -0600 Subject: Fix minor typo in dovecot.conf --- content/mail/inbox.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/mail/inbox.md b/content/mail/inbox.md index a975bd0..3f70b9c 100644 --- a/content/mail/inbox.md +++ b/content/mail/inbox.md @@ -114,10 +114,10 @@ service auth { } protocol lda { - mail_plugins = \$mail_plugins sieve + mail_plugins = $mail_plugins sieve } protocol lmtp { - mail_plugins = \$mail_plugins sieve + mail_plugins = $mail_plugins sieve } plugin { sieve = ~/.dovecot.sieve -- cgit v1.2.3 From 9e09139039ca48d790548673d1c532de5299ed96 Mon Sep 17 00:00:00 2001 From: Dan Yael Sajarópulos Verdugo Date: Sat, 11 May 2024 17:39:39 -0700 Subject: Added Debian 12 ssh configuration overriding warning --- content/sshkeys.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/content/sshkeys.md b/content/sshkeys.md index f1c8c0d..550a3fb 100644 --- a/content/sshkeys.md +++ b/content/sshkeys.md @@ -123,6 +123,22 @@ Once we\'ve done that, we will reload our SSH daemon: systemctl reload sshd ``` +### **Warning:** + +If you are using Debian 12, it is possible that your ssh configuration +will be overridden by the default configuration added when creating +the VPS, which will leave you vulnerable to brute force attacks. To +prevent this, remove the configuration file using the following +command: + +```sh +rm /etc/ssh/sshd_config/50-cloud-init.conf +``` + +Also verify that the `/etc/ssh/ssh_config.d/` path is empty. If not, +make sure that the configuration files in that folder are not +overriding yours. + ### We\'re done! Now you can log in quickly and password-less-ly to your server, despite -- cgit v1.2.3 From 6b2dbaad0e360bad4c0294bfe2f4534b2938e103 Mon Sep 17 00:00:00 2001 From: Dan Yael Sajarópulos Verdugo Date: Sat, 11 May 2024 21:45:57 -0700 Subject: Updated ssh config overriden warning --- content/sshkeys.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/sshkeys.md b/content/sshkeys.md index 550a3fb..7c39413 100644 --- a/content/sshkeys.md +++ b/content/sshkeys.md @@ -125,7 +125,7 @@ systemctl reload sshd ### **Warning:** -If you are using Debian 12, it is possible that your ssh configuration +It is possible that your ssh configuration will be overridden by the default configuration added when creating the VPS, which will leave you vulnerable to brute force attacks. To prevent this, remove the configuration file using the following -- cgit v1.2.3 From 4418b3ce8584246bd0c0b03bb4c9b5999efaa069 Mon Sep 17 00:00:00 2001 From: KelvinJPS Date: Mon, 27 May 2024 18:28:12 -0500 Subject: fix DNS broken link in nginx page --- content/basic/nginx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/basic/nginx.md b/content/basic/nginx.md index db41937..8817e44 100644 --- a/content/basic/nginx.md +++ b/content/basic/nginx.md @@ -33,7 +33,7 @@ for your password, and you can just copy or type in the password from Vultr\'s site. If you get an error here, you might not have done your [DNS -settings](dns.html) right. Double check those. Note you can also replace +settings](/basic/dns) right. Double check those. Note you can also replace the `example.org` with your IP address, but you\'ll want to fix your DNS settings soon. -- cgit v1.2.3 From e047f1366ff434174e3bcff96bb0bfdf0146076d Mon Sep 17 00:00:00 2001 From: KelvinJPS Date: Tue, 28 May 2024 18:31:56 -0500 Subject: fix broken link to update --- content/basic/nginx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/basic/nginx.md b/content/basic/nginx.md index 8817e44..d76fb54 100644 --- a/content/basic/nginx.md +++ b/content/basic/nginx.md @@ -199,7 +199,7 @@ someone could exploit it. Open the main Nginx config file Uncomment it, and reload Nginx. Remember to [keep your server software up to -date](maintenance.html#update) to get the latest security fixes! +date](/../maintenance#update) to get the latest security fixes! ## We now have a running website! -- cgit v1.2.3 From 161c0870c8c94d80e74e006a432535b995511372 Mon Sep 17 00:00:00 2001 From: KelvinJPS Date: Tue, 28 May 2024 20:21:30 -0500 Subject: fix broken links in the mail section --- content/mail/rdns.md | 2 +- content/mail/smtp.md | 2 +- content/mail/validate.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/mail/rdns.md b/content/mail/rdns.md index 6a6ddf2..0e2943d 100644 --- a/content/mail/rdns.md +++ b/content/mail/rdns.md @@ -3,7 +3,7 @@ title: "Setup rDNS" tags: ['mail'] date: 2022-12-02 --- -While [DNS records](dns.html) refer a domain name to the IP address +While [DNS records](/basic/dns) refer a domain name to the IP address where the the website is hosted, there is also rDNS (reverse DNS) and specifically PTR (pointer) records which do the reverse: link a server\'s IP to a domain name. diff --git a/content/mail/smtp.md b/content/mail/smtp.md index dee5640..3def765 100644 --- a/content/mail/smtp.md +++ b/content/mail/smtp.md @@ -25,7 +25,7 @@ If you want to start an email server, therefore, go to your VPS\'s site and open a ticket or make a request to open up email ports, notably port `25`. This is a simple process that requires nothing too special. One of the wagies at your VPS will kindly do the needful and open your ports for you. Note -that this is not the same as unblocking a port with [ufw](ufw.html), +that this is not the same as unblocking a port with [ufw](/../ufw), which still needs to be done for SMTP to work. ufw allow 25,587 proto tcp diff --git a/content/mail/validate.md b/content/mail/validate.md index fbdba50..15db0c7 100644 --- a/content/mail/validate.md +++ b/content/mail/validate.md @@ -170,7 +170,7 @@ You can permanently change your hostname by changing it in `/etc/hostname` and rebooting, or you can just run `hostname example.org` to change it temporarily for testing. Either way, this will allow us to run the `mail` command as in [the SMTP -article](smtp.html). +article](../smtp). ```sh echo "Hi there. -- cgit v1.2.3 From ed588405d102ffb64de808abfe30ae555d841b76 Mon Sep 17 00:00:00 2001 From: KelvinJPS Date: Wed, 29 May 2024 18:43:07 -0500 Subject: fix broken links in platform section --- content/calibre.md | 2 +- content/dendrite.md | 2 +- content/i2p.md | 2 +- content/tor.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/calibre.md b/content/calibre.md index 9768acf..e1e9faa 100644 --- a/content/calibre.md +++ b/content/calibre.md @@ -94,7 +94,7 @@ server { } ``` -Issue a Let\'s Encrypt certificate. [Detailed instructions and additional information](/certbot). +Issue a Let\'s Encrypt certificate. [Detailed instructions and additional information](/basic/certbot). ```sh certbot --nginx diff --git a/content/dendrite.md b/content/dendrite.md index 9a7a291..c949a9d 100644 --- a/content/dendrite.md +++ b/content/dendrite.md @@ -18,7 +18,7 @@ Because Matrix uses **HTTP** for transport over the SSL ports (443 and 8448), yo Depending on your setup, there are 2 different configurations to achieve this: -1. Your *desired* domain (**example.org**) has an [A DNS record](http://localhost:1313/basic/dns/) that already poinst to your desired Matrix server, so you can configure this or add to your existing NGINX static site configuration to setup Matrix. +1. Your *desired* domain (**example.org**) has an [A DNS record](/basic/dns/) that already poinst to your desired Matrix server, so you can configure this or add to your existing NGINX static site configuration to setup Matrix. 2. You wish to use Matrix with your *desired* domain (**example.org**) but this domain's A record points to a different server, accessible through another domain (like **matrix.example.org**). In this case, look into [delegation.](https://matrix-org.github.io/synapse/latest/delegate.html) diff --git a/content/i2p.md b/content/i2p.md index 88b05b4..576b270 100644 --- a/content/i2p.md +++ b/content/i2p.md @@ -122,7 +122,7 @@ server { Nginx will listen in port 8080, but i2pd will forward your port 8080 to the i2p site port 80. This way you don\'t have to deal with server names or anything like that. -From here we are almost done, all we have to do is enable the site and reload nginx which is also covered in [the webserver tutorial](nginx.html#enable). +From here we are almost done, all we have to do is enable the site and reload nginx which is also covered in [the webserver tutorial](/basic/nginx#enable). ### Update regularly! diff --git a/content/tor.md b/content/tor.md index 1d0aaf1..b1c827d 100644 --- a/content/tor.md +++ b/content/tor.md @@ -87,7 +87,7 @@ mirror. Now we are almost done, all we have to do is enable the site and reload nginx which, is also covered in [the webserver -tutorial](nginx.html#enable). +tutorial](/basic/nginx#enable). ### Advertise your onion service -- cgit v1.2.3 From 17c46bd8eaca267c2bd7fe42be52bb77296039f4 Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Sat, 15 Jun 2024 04:36:49 +0200 Subject: Update monerod.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use different ports for the proxies to the hidden services in Tor and I2P. Otherwise it is impossible for the node to work and you will always get the error “Failed to bind IPv4 (set to required)”. --- content/monerod.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/monerod.md b/content/monerod.md index 5e00645..b6bcca5 100644 --- a/content/monerod.md +++ b/content/monerod.md @@ -122,9 +122,9 @@ Edit `/etc/tor/torrc` and add the following: HiddenServiceDir /var/lib/tor/monerod # For wallets connecting over RPC: -HiddenServicePort 18081 127.0.0.1:18081 +HiddenServicePort 18081 127.0.0.1:18181 # For other nodes: -HiddenServicePort 18083 127.0.0.1:18083 +HiddenServicePort 18083 127.0.0.1:18183 ``` Now restart Tor: @@ -145,13 +145,13 @@ Edit `tunnels.conf` (Which may be located in `/home/i2p/.i2pd/` if you followed [monerod] type = http host = 127.0.0.1 -port = 18083 +port = 18283 keys = monerod.dat [monerod-rpc] type = http host = 127.0.0.1 -port = 18081 +port = 18281 keys = monerod-rpc.dat ``` @@ -171,13 +171,13 @@ printf "%s.b32.i2p Then, in `/etc/monerod.conf`, add the following: ```sh -# I2P config -tx-proxy=i2p,127.0.0.1:4447 -anonymous-inbound={{}}your-i2p-address-here.b32.i2p{{}}:80,127.0.0.1:18083,16 # Maximum 16 simultaneous connections - # Tor config tx-proxy=tor,127.0.0.1:9050,10 -anonymous-inbound={{}}your-tor-address-here.onion{{}}:18083,127.0.0.1:18083,16 +anonymous-inbound={{}}your-tor-address-here.onion{{}}:18083,127.0.0.1:18183,16 + +# I2P config +tx-proxy=i2p,127.0.0.1:4447 +anonymous-inbound={{}}your-i2p-address-here.b32.i2p{{}}:80,127.0.0.1:18283,16 # Maximum 16 simultaneous connections ``` ## Running the Node -- cgit v1.2.3 From 38d1bc5055d22f131e34cf2a7e34c6a0311bb866 Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Tue, 2 Jul 2024 23:22:12 +0200 Subject: Update monerod.md Add instructions for installation on other architectures. --- content/monerod.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/monerod.md b/content/monerod.md index b6bcca5..b640622 100644 --- a/content/monerod.md +++ b/content/monerod.md @@ -31,6 +31,8 @@ tar -xvjf linux64 mv linux64/monero* /usr/bin/ ``` +If the hardware you are using is not based on the amd64 architecture (like a Raspberry Pi), the monero project also [offers binaries](https://www.getmonero.org/downloads/) for other architectures on Linux, to download and install them simply change the last part of the link (linux64) and the archive name, e.g. for arm64 (linuxarm8). The fastest way to find out which one to use in Debian is with the `dpkg --print-architecture` command. + ## Configuration By default, Monero comes with no sample configuration files. Create one in `/etc/monerod.conf` using a text editor, and enter the following details: -- cgit v1.2.3 From 91e1b54674e68f40d95cc526522bb0657b8fa87a Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Thu, 4 Jul 2024 04:14:50 +0200 Subject: Update monerod.md The "db-sync-mode" option set to "fast" (as it is by default) can corrupt the blockchain database in case of a power outage or other type of system crash, so it is always better to use the "safe" option, especially if you use your own hardware to host the node. --- content/monerod.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/monerod.md b/content/monerod.md index b640622..2d9baae 100644 --- a/content/monerod.md +++ b/content/monerod.md @@ -47,6 +47,9 @@ data-dir={{}}/var/lib/monero{{}} log-file={{}}/var/log/monero/monero.log{{}} log-level=0 +# Slow but reliable db writes +db-sync-mode=safe + # 1048576 kB/s == 1GB/s; a raise from default 2048 kB/s; contribute more to p2p network limit-rate-up=1048576 limit-rate-down=1048576 -- cgit v1.2.3 From de02d8e61cd8356ec958dcf002e5f6d08b96da6b Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Thu, 4 Jul 2024 05:01:50 +0200 Subject: Update i2p.md Use the i2pd community repository to get the latest version. --- content/i2p.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/content/i2p.md b/content/i2p.md index 88b05b4..b4bd664 100644 --- a/content/i2p.md +++ b/content/i2p.md @@ -15,9 +15,24 @@ There are 2 main I2P implementations, I2P and i2pd, we are using i2pd in this gu ### Installing I2P -i2pd is in most repos, in debian/ubuntu you can install it simply with +We need to [add the i2pd repos to our system](https://repo.i2pd.xyz/) to get the latest version of i2pd: + +Install apt-transport-https and gpg package: + +```sh +apt install apt-transport-https gpg +``` + +Automatically add the repository with a script: + +```sh +wget -q -O - https://repo.i2pd.xyz/.help/add_repo | bash -s - +``` + +After that you can install i2pd as any other software package: ```sh +apt update apt install i2pd ``` @@ -46,7 +61,7 @@ keys = example.dat If you run `i2pd` with the configuration above, it will generate a random private key (`example.dat`) for your website in `example.dat` with a matching address made up of 52 random characters, derived from this same key. -If you instead pre-generate a private key for your website, you can use brute-force computation to make a "vanity" address, such as the following: +If you instead pre-generate a private key for your website, you can use brute-force computation to make a "vanity" address, such as the following: ``` {{}}chad{{}}aor3jc08ht340c30mg5cf340j395gj095kuazj5tokipr34f.32.i2p ``` -- cgit v1.2.3 From 6a514eef9eb008d1b8ab6fae3423c4aa6afa21e2 Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Thu, 4 Jul 2024 05:43:13 +0200 Subject: Update i2p.md There is no need to create a new user for this service, the system automatically creates a new user that will be used to run the service when installing the package. On the other hand, i2pd does not look for the configuration files by default in the home directory of the i2pd user but rather in /etc/i2pd/. --- content/i2p.md | 43 +++++++++++++++++++------------------------ 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/content/i2p.md b/content/i2p.md index b4bd664..40ac79d 100644 --- a/content/i2p.md +++ b/content/i2p.md @@ -11,7 +11,7 @@ Now you have a website, why not offer it in a private alternative such as the In ## Setting up I2P -There are 2 main I2P implementations, I2P and i2pd, we are using i2pd in this guide because it\'s easier to use in servers. +There are 2 main I2P implementations, I2P and i2pd, we are using i2pd in this guide because it's easier to use on servers. ### Installing I2P @@ -38,16 +38,9 @@ apt install i2pd ### Enabling I2P -We are going to create a user for i2pd, because i2pd finds the configuration files in its home directory. And it\'s easier (and more tidy) to have it in a separate user: +Next we have to configure the i2pd daemon, the configuration is located at `/etc/i2pd/`. -```sh -useradd -m i2p -s /bin/bash -su -l i2p -mkdir ~/.i2pd -cd ~/.i2pd -``` - -Now that you\'re in \~/.i2pd, you have to create a file named \"tunnels.conf\". Which is the config file for every hidden service you\'re offering over I2P, the content should be like this: +Edit the `tunnels.conf` file and add the following configuration to the file: ```systemd [example] @@ -57,13 +50,15 @@ port = 8080 keys = example.dat ``` +You can comment or remove the tunnels that are added by default in the configuration file. + #### Optional: Generating a Vanity Address -If you run `i2pd` with the configuration above, it will generate a random private key (`example.dat`) for your website in `example.dat` with a matching address made up of 52 random characters, derived from this same key. +If you run `i2pd` with the configuration above, it will generate a random private key (`example.dat`) for your website at `/var/lib/i2pd/` with a matching address made up of 52 random characters, derived from this same key. If you instead pre-generate a private key for your website, you can use brute-force computation to make a "vanity" address, such as the following: ``` -{{}}chad{{}}aor3jc08ht340c30mg5cf340j395gj095kuazj5tokipr34f.32.i2p +chadaor3jc08ht340c30mg5cf340j395gj095kuazj5tokipr34f.32.i2p ``` To accomplish this, a set of tools named `i2pd-tools` can be installed. @@ -86,12 +81,12 @@ make -j$(nproc) This will build a variety of useful tools for i2p, with `vain` being the command of interest to generate an address: ```sh -./vain {{}}chad{{}} +./vain chad ``` This command will begin running and output a new set of private keys named `private.dat` to the same directory it's ran from. Copy this file to your i2p configuration and you'll have your vanity address: ```sh -cp private.dat /home/i2p/.i2pd/example.dat +cp private.dat /var/lib/i2pd/example.dat ``` #### Optional: Authentication Strings for Registrars @@ -99,14 +94,14 @@ cp private.dat /home/i2p/.i2pd/example.dat I2P has various **registrars** that let users link their long I2P addresses to shorter, more memorable ones, like `example.i2p`. To actually register your site on one of these registrars, you will need an **authentication string.** Luckily, `i2pd-tools` includes such a tool in their repository: ```sh -./regaddr private.dat {{}}example.2ip{{}} > {{}}auth_string.txt{{}} +./regaddr private.dat example.2ip > auth_string.txt ``` The command above will save the string to a file named `auth_string.txt`. You will have to place the text contained in that file on a registration page like [http://reg.i2p/add](http://reg.i2p/add) or [http://stats.i2p/i2p/addkey.html](http://stats.i2p/i2p/addkey.html). ### Getting your I2P Hostname -Then, run `/usr/sbin/i2pd --daemon` to start i2pd and we can retreive our I2P hostname. +Then, run the command `systemctl start i2pd` to start i2pd and `systemctl enable i2pd` to enable i2pd at startup, this will automatically generate our I2P hostname which we will now see. This can be done in lynx or a command-line browser by going to `http://127.0.0.1:7070/?page=i2p_tunnels` to get your I2P hostname. @@ -114,28 +109,26 @@ You can also run these commands to find your hostname: ```sh printf "%s.b32.i2p -" $(head -c 391 /home/i2p/.i2pd/example.dat |sha256sum|xxd -r -p | base32 |sed s/=//g | tr A-Z a-z) +" $(head -c 391 /var/lib/i2pd/example.dat | sha256sum | xxd -r -p | base32 | sed s/=//g | tr A-Z a-z) ``` *(If you've generated your own keys to obtain a vanity address, now's a good time to make sure i2pd is properly reading those keys by verifying the address is the same as the one generated with the `vain` command.)* ## Adding the Nginx Config -From here, the steps are almost identical to setting up a normal websitenconfiguration file. Follow the steps as if you were making a new website on the webserver [tutorial](/basic/nginx) up until the server block of code. Instead, paste this: +From here, the steps are almost identical to setting up a normal website configuration file. Follow the steps as if you were making a new website on the webserver [tutorial](/basic/nginx) up until the server block of code. Instead, paste this: ```nginx server { listen 127.0.0.1:8080 ; - root /var/www/{{}}example{{}} ; + root /var/www/example ; index index.html ; } ``` #### Clarifications -#### - -Nginx will listen in port 8080, but i2pd will forward your port 8080 to the i2p site port 80. This way you don\'t have to deal with server names or anything like that. +Nginx will listen on port 8080, but i2pd will forward your port 8080 to the i2p site port 80. This way you don't have to deal with server names or anything like that. From here we are almost done, all we have to do is enable the site and reload nginx which is also covered in [the webserver tutorial](nginx.html#enable). @@ -144,7 +137,9 @@ From here we are almost done, all we have to do is enable the site and reload ng Make sure to update I2P on a regular basis by running: ```sh -apt update && apt install i2pd +apt update && apt upgrade ``` -**Contributor** - [qorg11](https://qorg11.net) +**Contributors** +- [qorg11](https://qorg11.net) +- [David Uhden](https://github.com/daviduhden) -- cgit v1.2.3 From a526f83994b3ac11acc064ed2f6d82b9df430dcf Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Thu, 4 Jul 2024 05:50:43 +0200 Subject: Update i2p.md Add formatting. --- content/i2p.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/i2p.md b/content/i2p.md index 40ac79d..19923cc 100644 --- a/content/i2p.md +++ b/content/i2p.md @@ -58,7 +58,7 @@ If you run `i2pd` with the configuration above, it will generate a random privat If you instead pre-generate a private key for your website, you can use brute-force computation to make a "vanity" address, such as the following: ``` -chadaor3jc08ht340c30mg5cf340j395gj095kuazj5tokipr34f.32.i2p +{{}}chad{{}}aor3jc08ht340c30mg5cf340j395gj095kuazj5tokipr34f.32.i2p ``` To accomplish this, a set of tools named `i2pd-tools` can be installed. @@ -81,7 +81,7 @@ make -j$(nproc) This will build a variety of useful tools for i2p, with `vain` being the command of interest to generate an address: ```sh -./vain chad +./vain {{}}chad{{}} ``` This command will begin running and output a new set of private keys named `private.dat` to the same directory it's ran from. Copy this file to your i2p configuration and you'll have your vanity address: @@ -94,7 +94,7 @@ cp private.dat /var/lib/i2pd/example.dat I2P has various **registrars** that let users link their long I2P addresses to shorter, more memorable ones, like `example.i2p`. To actually register your site on one of these registrars, you will need an **authentication string.** Luckily, `i2pd-tools` includes such a tool in their repository: ```sh -./regaddr private.dat example.2ip > auth_string.txt +./regaddr private.dat {{}}example.2ip{{}} > {{}}auth_string.txt{{}} ``` The command above will save the string to a file named `auth_string.txt`. You will have to place the text contained in that file on a registration page like [http://reg.i2p/add](http://reg.i2p/add) or [http://stats.i2p/i2p/addkey.html](http://stats.i2p/i2p/addkey.html). @@ -121,7 +121,7 @@ From here, the steps are almost identical to setting up a normal website configu ```nginx server { listen 127.0.0.1:8080 ; - root /var/www/example ; + root /var/www/{{}}example{{}} ; index index.html ; } ``` -- cgit v1.2.3 From fcd0090ea844b12ff1af66a7a4076e65e02e46b7 Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Sun, 7 Jul 2024 22:31:41 +0200 Subject: Update monerod.md --- content/monerod.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/monerod.md b/content/monerod.md index 2d9baae..19afba0 100644 --- a/content/monerod.md +++ b/content/monerod.md @@ -144,7 +144,7 @@ cat /var/lib/tor/monerod/hostname ### I2P -Edit `tunnels.conf` (Which may be located in `/home/i2p/.i2pd/` if you followed [this](/i2p) guide) and add the following tunnels: +Edit `tunnels.conf` (Which may be located in `/etc/i2pd/` if you followed [this](/i2p) guide) and add the following tunnels: ```systemd [monerod] -- cgit v1.2.3 From 3c2a6507686b5531ca125d3aaa213dd6e6cdb799 Mon Sep 17 00:00:00 2001 From: David Uhden Collado <149145202+daviduhden@users.noreply.github.com> Date: Wed, 10 Jul 2024 06:05:18 +0200 Subject: Minor fixes --- content/i2p.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/i2p.md b/content/i2p.md index 19923cc..a269c90 100644 --- a/content/i2p.md +++ b/content/i2p.md @@ -76,7 +76,7 @@ sh dependencies.sh Then compile using the `make` command: ```sh -make -j$(nproc) +make ``` This will build a variety of useful tools for i2p, with `vain` being the command of interest to generate an address: -- cgit v1.2.3 From 5f81c2023a104dc6c2437a4c2a006924843b8e10 Mon Sep 17 00:00:00 2001 From: HiboMan <142530154+HiboMan@users.noreply.github.com> Date: Sun, 14 Jul 2024 12:35:14 +0200 Subject: Update xmr.svg --- static/pix/xmr.svg | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/static/pix/xmr.svg b/static/pix/xmr.svg index 002ad9b..ed940b8 100644 --- a/static/pix/xmr.svg +++ b/static/pix/xmr.svg @@ -1,7 +1 @@ - - - - - - - +monero -- cgit v1.2.3