init commit

This commit is contained in:
localhost_frssoft 2023-08-08 14:15:17 +03:00
commit 8a766816dd
19 changed files with 12253 additions and 0 deletions

150
any/ascii.md Normal file
View file

@ -0,0 +1,150 @@
# Просто разные ASCII каракули
Note: не стоит воспринимать всерьёз, это лишь каракули, смысл может быть искажен или понят неверно.
Все арты распространяются под "лицензией" CC0 frssoft
``` Мем с айсбергом и глубиной
_/-. [HTTP]
/ \
-'/ '-_
/ \
~~~~~/ \~~~~~~~~~~~
\````````````````/
'\ _--. / [Gemini]
\_ _/ \/
\_/
'''''''''''''''''''''''''''''''''
[Spartan (?)]
'''`'''`''''`'''`'`'''`''`''`''`'`
[Gopher]
'`````````````````````````````````
[IP]
[TCP]
[FTP]
[NCP]
[Telnet]
```
```
'
. | . ' ' . .
Spartan ___._______ . . ' "
||||||| \ /
|||/ / \Gemini/ ' , '
||| / ||TLS| . '
|||/ ||||||
||| Gopher |||||| . , . " '
|||||||||||||||||||||
||||||||||||||||||||| x . .
\TEXT|TEXT|TEXT|TEXT/
. ' x ' ' <>
, ' '
' " . '
```
```
______________________
|| $_ ||
|| ||
|| ||
|| ||
||__________________||
//. . . . . . . . . //
// . . . . . . . . //
//. . . . . . . . . //
//______[ . . ]_____//
```
```
Layer 1
__________________________________________________
| |
| |
| |
_________| |
/ ` ' _____ |
_______________ / ./\ / | CORPO |
| | | | | | | | / ` . / | |
||||||||||||||_______/. `()/ |________________________________________________|
| |Analytics|| . BIG DATA/ / ____ ____\
||||||||||||||___________/ / \``/ Super crawler; analyzer; data science; \``/ \
| | | | |SEO| | / aggregator data of all layers; scanner; \
\\\\\\\\/////// / big corpo ass and other eyes orgs; spy \
\|Trackers|--|/ / \
\| WWW/http |/ \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
\|AD|AD|AD|AD|/ ...........................................................
|BLOAT\\/////// ///////////////////////////////////////////////////////////
__________
Layer 2
_____ ____
/\ | | | |
/ \ | | | |
/____\ |____|-----|____|--+
| | / |
| [] |____/ -+- |
|____| _____ ____| |
\ | | |Local| |
\| | |crawl| |
|_____|-----|_____|---|
__________ |
Layer 3 |
/|\
.....
....................
.../\...../\....?...
...\/.,...\/........
.,..,.,........../\.
............... /?.\
... /\....?.....\../
.../..\..........\/.
...\./.......?......
________ || \ / |
Layer 4 || / \ |
/ | / \ |
""'',"" . "," ,`"`'`'`. " `.."'', ' ,```.` `" `."`..'"."` ``
''..,'.,'``. ,""" '" "``,'` '.'"'."..`". `""".." `.".'"``
" '", "..''`..'`"`,''''`.,..`'.. "'` `',"..'`,.', ,`""" `,, '.
``"" ' ". .'` ",,,',""",... ,`. "`" `,,`.'`.`,"""`,".`'.. ". ',
".""','.`"". ``', ". ., ,., ' ,"""" . '""..`,`. '.``'`.,.`,"`
,'`.' " ',.`' ",,,,,"`,.,".".`'. .".".' `'.. `,"..`"`''....,.'"",
..".``".'`" ,```'''",",`."..",.. `` `.".'"'`''. ` ""'"',.'`.`,"".'.
'.'` `,.,`'.. "'`,`,,',`"`'"'.` .",'. `" .".''" ''`.''.` ,.`',, ` ,
`'`.` ",, " .,`",,. "." .'" ','`','","`'".."""".',,.``. .,
.`` ,, `''"".,``",,`"""`.,'`."'.'"""..', ."` .` "`,`. "'"."'`"`
. `'.','". .',,`"','".," " , ',.,. ,.' `' ' .,",`,.,.`
',` ',`''.."',,`.`, .,` `"`.,".'.'',. "."`` " ,',..' ''`
,'`',`.''" ,',".""'".," , """'",`,',,'", ",`,,` ",,"' ,`",' ,.
,,"' ' .,` ``` ., '`` "` "'` ,",,"'` ",,`. ", ."`'
'`"..'"". ,, ." ""," ,".",`. `." '. ``.'.'".'.',' ,"'`.' ,' "'".
, " '`.` ,,". "`, `,'.`,'`.''.`.','","".``,. ,'. `,""`.,`.
` `,`"``'", `,', ."`.'".' `. `"`,.` ..,`"' ``` '' ,,.`',.,.
."`'`.'.`` ",."",' .""'", ..`,,` ."."` "","., ".`
,... '``",`,,`"`, ,," ' `".. "`
```

View file

@ -0,0 +1,5 @@
Копии некоторых страниц на всякий случай
Copies
[Using the I2P network with OpenBSD and NixOS](article-i2p-intro.md)
[I2P Federation and Accessability](pleroma_I2P_Federation_and_Accessability.md)
[Ledger (accounting tool) documentation](ledger3.md)

View file

@ -0,0 +1,194 @@
Source: gopher://dataswamp.org:70/1/~solene/article-i2p-intro
Title: Using the I2P network with OpenBSD and NixOS
Author: Solène
Date: 20 June 2021
Tags: i2p tor openbsd nixos networking
NIL# Introduction
In this text I will explain what is the I2P network and how to provide
a service over I2P on OpenBSD and how to use to connect to an I2P
service from NixOS.
# I2P
This acronym stands for Invisible Internet Project and is a network
over the network (Internet). It is quite an old project from 2003 and
is considered stable and reliable. The idea of I2P is to build a
network of relays (people running an i2p daemon) to make tunnels from a
client to a server, but a single TCP session (or UDP) between a client
and a server could use many tunnels of n hops across relays.
Basically, when you start your I2P service, the program will get some
information about the relays available and prepare many tunnels in
advance that will be used to reach a destination when you connect.
Some benefits from I2P network:
* your network is reliable because it doesn't take care of operator
peering
* your network is secure because packets are encrypted, and you can
even use usual encryption to reach your remote services (TLS, SSH)
* provides privacy because nobody can tell where you are connecting to
* can prevent against habits tracking (if you also relay data to
participate to i2p, bandwidth allocated is used at 100% all the time,
and any traffic you do over I2P can't be discriminated from standard
relay!)
* can only allow declared I2P nodes to access a server if you don't
want anyone to connect to a port you expose
It is possible to host a website on I2P (by exposing your web server
port), it is called an eepsite and can be accessed using the SOCKs
proxy provided by your I2P daemon. I never played with them though but
this is a thing and you may be interested into looking more in depth.
=> https://geti2p.net/en/ I2P project and I2P implementation (java) page
=> https://i2pd.website/ i2pd project (a recent C++ implementation that I use for this tutorial)
=> https://en.wikipedia.org/wiki/I2P Wikipedia page about I2P
# I2P vs Tor
Obviously, many people would question why not using Tor which seems
similar. While I2P can seem very close to Tor hidden services, the
implementation is really different. Tor is designed to reach the
outside while I2P is meant to build a reliable and anonymous network.
When started, Tor creates a path of relays named a Circuit that will
remain static for an approximate duration of 12 hours, everything you
do over Tor will pass through this circuit (usually 3 relays), on the
other hand I2P creates many tunnels all the time with a very low
lifespan. Small difference, I2P can relay UDP protocol while Tor only
supports TCP.
Tor is very widespread and using a tor hidden service for hosting a
private website (if you don't have a public IP or a domain name for
example) would be better to reach an audience, I2P is not very well
known and that's partially why I'm writing this. It is a fantastic
piece of software and only require more users.
Relays in I2P doesn't have any weight and can be seen as a huge P2P
network while Tor network is built using scores (consensus) of relaying
servers depending of their throughput and availability. Fastest and
most reliable relays will be elected as "Guard server" which are entry
points to the Tor network.
I've been running a test over 10 hours to compare bandwidth usage of
I2P and Tor to keep a tunnel / hidden service available (they have not
been used). Please note that relaying/transit were desactivated so
it's only the uploaded data in order to keep the service working.
* I2P sent 55.47 MB of data in 114 430 packets. Total / 10 hours = 1.58
kB/s average.
* Tor sent 6.98 MB of data in 14 759 packets. Total / 10 hours = 0.20
kB/s average.
Tor was a lot more bandwidth efficient than I2P for the same task:
keeping the network access (tor or i2p) alive.
# Quick explanation about how it works
There are three components in an I2P usage.
- a computer running an I2P daemon configured with tunnels servers (to
expose a TCP/UDP port from this machine, not necessarily from localhost
though)
- a computer running an I2P daemon configured with tunnel client (with
information that match the server tunnel)
- computers running I2P and allowing relay, they will receive data from
other I2P daemons and pass the encrypted packets. They are the core of
the network.
In this text we will use an OpenBSD system to share its localhost ssh
access over I2P and a NixOS client to reach the OpenBSD ssh port.
# OpenBSD
The setup is quite simple, we will use i2pd and not the i2p java
program.
```shell commands
pkg_add i2pd
# read /usr/local/share/doc/pkg-readmes/i2pd for open files limits
cat <<EOF > /etc/i2pd/tunnels.conf
[SSH]
type = server
port = 22
host = 127.0.0.1
keys = ssh.dat
EOF
rcctl enable i2pd
rcctl start i2pd
```
You can edit the file /etc/i2pd/i2pd.conf to uncomment the line
"notransit = true" if you don't want to relay. I would encourage
people to contribute to the network by relaying packets but this would
require some explanations about a nice tuning to limit the bandwidth
correctly. If you disable transit, you won't participate into the
network but I2P won't use any CPU and virtually no data if your tunnel
is in use.
Visit http://localhost:7070/ for the admin interface and check the menu
"I2P Tunnels", you should see a line "SSH => " with a long address
ending by .i2p with :22 added to it. This is the address of your
tunnel on I2P, we will need it (without the :22) to configure the
client.
# Nixos
As usual, on NixOS we will only configure the
/etc/nixos/configuration.nix file to declare the service and its
configuration.
We will name the tunnel "ssh-solene" and use the destination seen on
the administration interface on the OpenBSD server and expose that port
to 127.0.0.1:2222 on our NixOS box.
```nixos configuration file
services.i2pd.enable = true;
services.i2pd.notransit = true;
services.i2pd.outTunnels = {
ssh-solene = {
```
enable = true;
name = "ssh";
destination = "gajcbkoosoztqklad7kosh226tlt5wr2srr2tm4zbcadulxw2o5a.b32.i2p";
address = "127.0.0.1";
port = 2222;
};
```
};
```
Now you can use "nixos-rebuild switch" as root to apply changes.
Note that the equivalent NixOS configuration for any other OS would
look like that for any I2P setup in the file "tunnel.conf" (on OpenBSD
it would be in /etc/i2pd/tunnels.conf).
```i2pd tunnels.conf
[ssh-solene]
type = client
address = 127.0.0.1 # optional, default is 127.0.0.1
port = 2222
destination = gajcbkoosoztqklad7kosh226tlt5wr2srr2tm4zbcadulxw2o5a.b32.i2p
```
# Test the setup
From the NixOS client you should be able to run "ssh -p 2222 localhost"
and get access to the OpenBSD ssh server.
Both systems have a http://localhost:7070/ interface because it's a
default setting that is not bad (except if you have multiple people who
can access the box).
# Conclusion
I2P is a nice way to share services on a reliable and privacy friendly
network, it may not be fast but shouldn't drop you when you need it.
Because it can easily bypass NAT or dynamic IP it's perfectly fine for
a remote system you need to access when you can use NAT or VPN.

9544
any/copies-texts/ledger3.md Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,244 @@
Source: https://docs-develop.pleroma.social/backend/configuration/i2p/
Pleroma Documentation I2P Federation and Accessability
# I2P Federation and Accessability ¶
This guide is going to focus on the Pleroma federation aspect. The actual installation is neatly explained in the official documentation, and more likely to remain up-to-date. It might be added to this guide if there will be a need for that.
We're going to use I2PD for its lightweightness over the official client. Follow the documentation according to your distro: https://i2pd.readthedocs.io/en/latest/user-guide/install/#installing
How to run it: https://i2pd.readthedocs.io/en/latest/user-guide/run/
## I2P Federation ¶
There are 2 ways to go about this. One using the config, and one using external software (fedproxy). The external software works better so far.
### Using the Config ¶
Warning: So far, everytime I followed this way of federating using I2P, the rest of my federation stopped working. I'm leaving this here in case it will help with making it work.
Assuming you're running in prod, cd to your Pleroma folder and append the following to config/prod.secret.exs :
```
config :pleroma, :http, proxy_url: {:socks5, :localhost, 4447}
```
And then run the following:
```
su pleroma
MIX_ENV=prod mix deps.get
MIX_ENV=prod mix ecto.migrate
exit
```
You can restart I2PD here and finish if you don't wish to make your instance viewable or accessible over I2P.
```
systemctl stop i2pd.service --no-block
systemctl start i2pd.service
```
Notice: The stop command initiates a graceful shutdown process, i2pd stops after finishing to route transit tunnels (maximum 10 minutes).
You can change the socks proxy port in /etc/i2pd/i2pd.conf.
### Using Fedproxy ¶
Fedproxy passes through clearnet requests direct to where they are going. It doesn't force anything over Tor.
To use fedproxy you'll need to install Golang.
```
apt install golang
```
Use a different user than pleroma or root. Run the following to add the Gopath to your ~/.bashrc.
```
echo "export GOPATH=/home/ren/.go" >> ~/.bashrc
```
Restart that bash session (you can exit and log back in). Run the following to get fedproxy.
```
go get -u github.com/majestrate/fedproxy$
cp $(GOPATH)/bin/fedproxy /usr/local/bin/fedproxy
```
And then the following to start it for I2P only.
```
fedproxy 127.0.0.1:2000 127.0.0.1:4447
```
If you want to also use it for Tor, add 127.0.0.1:9050 to that command. You'll also need to modify your Pleroma config.
=> https://github.com/majestrate/fedproxy fedproxy
Assuming you're running in prod, cd to your Pleroma folder and append the following to config/prod.secret.exs :
```
config :pleroma, :http, proxy_url: {:socks5, :localhost, 2000}
```
And then run the following:
```
su pleroma
MIX_ENV=prod mix deps.get
MIX_ENV=prod mix ecto.migrate
exit
```
You can restart I2PD here and finish if you don't wish to make your instance viewable or accessible over I2P.
```
systemctl stop i2pd.service --no-block
systemctl start i2pd.service
```
Notice: The stop command initiates a graceful shutdown process, i2pd stops after finishing to route transit tunnels (maximum 10 minutes).
You can change the socks proxy port in /etc/i2pd/i2pd.conf.
## I2P Instance Access ¶
Make your instance accessible using I2P.
Add the following to your I2PD config /etc/i2pd/tunnels.conf :
```
[pleroma]
type = http
host = 127.0.0.1
port = 14447
keys = pleroma.dat
```
Restart I2PD:
```
systemctl stop i2pd.service --no-block
systemctl start i2pd.service
```
Notice: The stop command initiates a graceful shutdown process, i2pd stops after finishing to route transit tunnels (maximum 10 minutes).
Now you'll have to find your address. To do that you can download and use I2PD tools.[^1]
Or you'll need to access your web-console on localhost:7070. If you don't have a GUI, you'll have to SSH tunnel into it like this: ssh -L 7070:127.0.0.1:7070 user@ip -p port. Now you can access it at localhost:7070. Go to I2P tunnels page. Look for Server tunnels and you will see an address that ends with.b32.i2p next to "pleroma". This is your site's address.
### I2P-only Instance ¶
If creating an I2P-only instance, open config/prod.secret.exs and under "config :pleroma, Pleroma.Web.Endpoint," edit "https" and "port: 443" to the following:
```
url: [host: "i2paddress", scheme: "http", port: 80],
```
In addition to that, replace the existing nginx config's contents with the example below.
### Existing Instance (Clearnet Instance) ¶
If not an I2P-only instance, add the nginx config below to your existing config at /etc/nginx/sites-enabled/pleroma.nginx.
And for both cases, disable CSP in Pleroma's config (STS is disabled by default) so you can define those yourself separately from the clearnet (if your instance is also on the clearnet). Copy the following into the config/prod.secret.exs in your Pleroma folder (/home/pleroma/pleroma/):
```
config :pleroma, :http_security,
enabled: false
```
Use this as the Nginx config:
```
proxy_cache_path /tmp/pleroma-media-cache levels=1:2 keys_zone=pleroma_media_cache:10m max_size=10g inactive=720m use_temp_path=off;
# The above already exists in a clearnet instance's config.
# If not, add it.
server {
listen 127.0.0.1:14447;
server_name youri2paddress;
# Comment to enable logs
access_log /dev/null;
error_log /dev/null;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/activity+json application/atom+xml;
client_max_body_size 16m;
location / {
add_header X-XSS-Protection "1; mode=block";
add_header X-Permitted-Cross-Domain-Policies none;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header Referrer-Policy same-origin;
add_header X-Download-Options noopen;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_pass http://localhost:4000;
client_max_body_size 16m;
}
location /proxy {
proxy_cache pleroma_media_cache;
proxy_cache_lock on;
proxy_ignore_client_abort on;
proxy_pass http://localhost:4000;
}
}
```
reload Nginx:
```
systemctl stop i2pd.service --no-block
systemctl start i2pd.service
```
Notice: The stop command initiates a graceful shutdown process, i2pd stops after finishing to route transit tunnels (maximum 10 minutes).
You should now be able to both access your instance using I2P and federate with other I2P instances!
[^1]: I2PD tools to print information about a router info file or an I2P private key, generate an I2P private key, and generate vanity addresses.
=> https://github.com/purplei2p/i2pd-tools I2PD tools
### Possible Issues ¶
Will be added when encountered.
___
Made with Material for MkDocs
=> https://squidfunk.github.io/mkdocs-material/ Material for MkDocs

20
any/fedi_alts.md Normal file
View file

@ -0,0 +1,20 @@
# my alts
## Most active
-
## Periodical active
@frssoft@mastodon.ml
@frssoft@fedi.criminallycute.fi
@frssoft@lamp.leemoon.network
@frssoft@videos.redeyes.site
## Non-active
@frssoft@fosstodon.org First Fedi account
## Died
@frssoft@stars.leemoon.network 2023.06-2023.07 Instance destroyed ([PQ hosting issue](https://lamp.leemoon.network/notes/9gaq1o4a6r))
@frssoft@expired.mentality.rip 2022.03-2023.05 Instance destroyed and respawned to suya.place (Pleroma database)
@frssoft@soc.uneex.net 2022.10-2022.12 Instance destroyed (unknown)
@frssoft@soc.phreedom.club 2022.01-2022.09 Second account. Instance destroyed (Pleroma database)

35
any/thanks.md Normal file
View file

@ -0,0 +1,35 @@
# Благодарности и всё в таком духе
Спасибо Толстоевский, что так долго сопровождал и улучшал проект Phreedom, спасибо за капсулу на пабе, спасибо за Forgejo и некоторые другие сервисы, и за статьи с гайдами и музыку самописную. Спасибо за распространение инфы о Феди и gemini. Спасибо taxuswc за то, что подхватил штурвал от Phreedom и не дал ему потонуть, буду надеяться, что Phreedom будет жить и дальше размеренно и медленно.
=> gemini://phreedom.club/ Phreedom Club
=> gemini://pub.phreedom.club/~tolstoevsky Капсула Толстоевского (Архивировано)
=> gemini://pub.phreedom.club/~taxuswc Капсула taxuswc
Спасибо Саре Кварц за её сервисы Leemoon Network с кислинкой~, а в частности за: капсулу, которая в данный момент зеркалирует содержимое капсулы на Phreedom; За опенсорсный аналог и убийцу Netflix - Jellyfin, да, пусть библиотека и не содержит всех фильмов, но в масштабе селфхоста там достаточно много (!) всяких разных сериалов, фильмов, мультиков и даже немного книг с музыкой; За сервер minetest mineclone2 под названием "Цитриния"; За то что увлеклась gemini штуками и в целом стала немножко админшей своего селфхоста, а я помню времена когда это был лишь сайт-блог на Neocities :) Ах да, и за стримы прошлые и возможно будущие (не зря же ты свой OwnCast подняла) тоже спасибо :D
=> https://leemoon.network/ ⭐Leemoon Network🍋
=> gemini://things.leemoon.network/sarah/ ⭐️Сара Кварц🍋
=> https://durochka.leemoon.network/ Дурочка Стримит (кстати можно подписаться)
Thanks NaiJi and Duponin for cute udongein.xyz Pleroma instance. This instance has died and revived 3 times, thanks for keeping it alive for so long! By the way, since then, now the main admin is Duponin. And not forget - Inex also has help fix Pleroma database ROT, thanks!
Also thanks for Touhou music collection 🐇
Спасибо Найджи и Дупонину за прекрасный инстанс плеромы udongein.xyz. Этот инстанс умирал и оживал 3 раза (как минимум), спасибо, что сохраняете его так долго живым! Кстати, с тех пор, главный админ сервера Дупонин. И не забыть - Инекс тоже помогал пофиксить так называемый Pleroma database ROT (переполнение базы данных за длительное время и попытка сколько-то дней всё это проиндексировать), спасибо!
Так же, спасибо за коллекцию музыки Touhou 🐇
=> https://udongein.xyz/users/duponin duponin FUMO FUNGUS
=> https://reisen.church/users/NaiJi NaiJi
=> https://social.inex.rocks/@inexcode Inex Code
Спасибо Инексу за матрикс сервер и за другие сервисы, которые он хостит, особенно спасибо за funkwhale, музончик там что надо :)
Так же спасибо, что держит ру индекс комьюнити Федивёрса и пытается бороться с попытками Fediblock сойти с ума (те, кто блокируют его инстанс без причины в частности). Спасибо за быстрое устранение неполадок и помощь в техническом плане знакомым по ру-феди :blobfoxthumbsup:
Спасибо за старые стримы VR, и кодингу приложения для SelfPrivacy.org прямо в прямом эфире!
=> https://inex.rocks Main site
=> https://owncast.inex.rocks Owncast
=> https://ru.index.community/ Index.Community
````
_____ _ _
|_ _| |__ __ _ _ __ | | _____
| | | '_ \ / _` | '_ \| |/ / __|
| | | | | | (_| | | | | <\__ \
|_| |_| |_|\__,_|_| |_|_|\_\___/
````