mirror of
https://github.com/fruworg/fruworg.github.io.git
synced 2025-07-01 07:23:58 +03:00
Compare commits
23 Commits
a2ad64266a
...
main
Author | SHA1 | Date | |
---|---|---|---|
370f54e777 | |||
b4f5bae528 | |||
efdcf3f7e9 | |||
5b3c07daf2 | |||
e9058cf463 | |||
89872c6db8 | |||
62d3c4c8f9 | |||
5a560e49f1 | |||
75286baade | |||
5dc75e981e | |||
db099bde71 | |||
4c18587000 | |||
e12e35070c | |||
f93bd04659 | |||
2839b56ed4 | |||
8055a8e019 | |||
afbbb240ef | |||
01cb4bba16 | |||
843a9df5ac | |||
30562fd47a | |||
679383ab46 | |||
c3fd5815a5 | |||
8cbbeedd2b |
2
.github/workflows/hugo.yml
vendored
2
.github/workflows/hugo.yml
vendored
@ -79,7 +79,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Deploy to GitHub Pages
|
- name: Deploy to GitHub Pages
|
||||||
id: deployment
|
id: deployment
|
||||||
uses: actions/deploy-pages@v2
|
uses: actions/deploy-pages@v4
|
||||||
|
|
||||||
deploy-neocities:
|
deploy-neocities:
|
||||||
environment:
|
environment:
|
||||||
|
12
config.toml
12
config.toml
@ -68,5 +68,15 @@ weight = 3
|
|||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "dn42"
|
name = "dn42"
|
||||||
url = "https://dn42.fruw.org"
|
url = "https://f.dn42"
|
||||||
weight = 4
|
weight = 4
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "i2p"
|
||||||
|
url = "http://f.i2p"
|
||||||
|
weight = 5
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "tor"
|
||||||
|
url = "http://fruworgtuaajxcxdcygjybaeon7oid4ibkaugotfavucjs4i7zbrrnad.onion"
|
||||||
|
weight = 6
|
||||||
|
68
content/posts/cephfs.md
Normal file
68
content/posts/cephfs.md
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
---
|
||||||
|
title: Создание CephFS
|
||||||
|
description: Конфигурация и автомонтирование
|
||||||
|
date: 2025-05-30T15:35:00+02:00
|
||||||
|
tags: [linux, ceph]
|
||||||
|
---
|
||||||
|
## Создание FS / Сервер
|
||||||
|
|
||||||
|
### Создание пула данных и меты
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ceph osd pool create <fs-name>_data
|
||||||
|
ceph osd pool create <fs-name>_meta
|
||||||
|
ceph osd pool set <fs-name>_data bulk true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создание FS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ceph fs new <fs-name> <fs-name>_meta <fs-name>_data
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создание пользователя
|
||||||
|
|
||||||
|
`r` - чтение\
|
||||||
|
`w` - запсись\
|
||||||
|
`s` - снапшоты\
|
||||||
|
`p` - аттрибуты
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ceph fs authorize <fs-name> client.<user> / rwsp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Подключение FS / Клиент
|
||||||
|
|
||||||
|
### Установка необходимых пакетов
|
||||||
|
|
||||||
|
```shell
|
||||||
|
apt install ceph-common attr
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создание директории для монтирования FS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir /mnt/cephfs-<fs-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Конфиг файлы
|
||||||
|
|
||||||
|
Файл `/etc/ceph/ceph.conf` необходимо скопировать с сервера на клиент.\
|
||||||
|
В файл `/etc/ceph/ceph.client.<user>.keyring` необходимо вставить вывод команды создания клиента.\
|
||||||
|
В файл `/etc/fstab` необходимо вставить следующее:
|
||||||
|
|
||||||
|
```python
|
||||||
|
<ceph-cluster.doma.in>:6789:/ /mnt/cephfs-<fs-name> ceph name=<user>,fs=<fs-name>,noatime,_netdev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Монтирование
|
||||||
|
|
||||||
|
```shell
|
||||||
|
mount -a
|
||||||
|
```
|
||||||
|
|
||||||
|
### Указание размера директории
|
||||||
|
|
||||||
|
```shell
|
||||||
|
setfattr -n ceph.quota.max_bytes -v <size-in-gb>G /mnt/cephfs-<fs-name>
|
||||||
|
```
|
36
content/posts/dnssec-coredns.md
Normal file
36
content/posts/dnssec-coredns.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
title: Конфигурация DNSSEC
|
||||||
|
description: CoreDNS
|
||||||
|
date: 2025-06-25T13:36:00+02:00
|
||||||
|
tags: [linux, coredns]
|
||||||
|
---
|
||||||
|
## Генерация ключа
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dnssec-keygen -a ECDSAP256SHA256 <doma.in>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Конфигурация CoreDNS
|
||||||
|
|
||||||
|
В `Corefile` доменной зоны необходимо вставить следующее:
|
||||||
|
|
||||||
|
```python
|
||||||
|
dnssec {
|
||||||
|
key file /etc/coredns/dnssec/<filename-without-extension>
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
И перезапустить `CoreDNS` командой:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
systemctl restart coredns
|
||||||
|
```
|
||||||
|
|
||||||
|
## DS-запись
|
||||||
|
|
||||||
|
Далее необходимо добавить `DS-запись` в консоль регистратора.\
|
||||||
|
Запись можно получить выполнив следующую команду:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dnssec-dsfromkey <filename-without-extension>
|
||||||
|
```
|
71
content/posts/i2p-website.md
Normal file
71
content/posts/i2p-website.md
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
title: Поднятие сайта в i2p
|
||||||
|
description: Caddy + i2pd
|
||||||
|
date: 2025-06-25T14:10:00+02:00
|
||||||
|
tags: [linux, i2p, caddy]
|
||||||
|
---
|
||||||
|
## Установка i2pd
|
||||||
|
|
||||||
|
```shell
|
||||||
|
apt -y install -y apt-transport-https
|
||||||
|
wget -qO - https://repo.i2pd.xyz/.help/add_repo | bash -s -
|
||||||
|
apt update
|
||||||
|
apt -y install i2pd
|
||||||
|
```
|
||||||
|
|
||||||
|
## Конфигурация i2pd
|
||||||
|
|
||||||
|
В `/etc/i2pd/tunnels.conf.d/website.conf` необходимо добавить следующее:
|
||||||
|
|
||||||
|
```python
|
||||||
|
[website]
|
||||||
|
type = http
|
||||||
|
host = 127.0.0.1
|
||||||
|
port = 80
|
||||||
|
keys = website.dat
|
||||||
|
```
|
||||||
|
|
||||||
|
И перезагрузите i2pd:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
systemctl restart i2pd
|
||||||
|
```
|
||||||
|
|
||||||
|
## Регистрация адреса
|
||||||
|
|
||||||
|
В `reg.i2p` необходимо проверить незанятость желаемого `fqdn`.\
|
||||||
|
Если `fqdn` занят, но не используется, то его тоже можно занять.\
|
||||||
|
Для регистрации необходимо сгенерировать подпись:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone --recursive https://github.com/purplei2p/i2pd-tools
|
||||||
|
cd i2pd-tools
|
||||||
|
./dependencies.sh
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./regaddr /var/lib/i2pd/website.dat <domain>.i2p
|
||||||
|
```
|
||||||
|
|
||||||
|
Полученный вывод необходимо вписать в страницу желаемого домена на `reg.i2p`.
|
||||||
|
|
||||||
|
## Конфигурация Caddy
|
||||||
|
|
||||||
|
Полный `b32` домен можно посмотреть командой:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
ls /var/lib/i2pd/destinations
|
||||||
|
```
|
||||||
|
|
||||||
|
В `Caddyfile` необходимо добавить следующее:
|
||||||
|
|
||||||
|
```python
|
||||||
|
http://<domain>.i2p {
|
||||||
|
respond "i2p"
|
||||||
|
}
|
||||||
|
|
||||||
|
http://<b32-domain-before-dots>.b32.i2p {
|
||||||
|
redir http://<domain>.i2p{uri}
|
||||||
|
}
|
||||||
|
```
|
@ -38,3 +38,15 @@ init 6
|
|||||||
```shell
|
```shell
|
||||||
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/post-pve-install.sh)"
|
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/post-pve-install.sh)"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Ограничение потребление RAM zfs'ом
|
||||||
|
В `/etc/modprobe.d/zfs.conf` добавить следующую строку (2GB на 1TB):
|
||||||
|
```python
|
||||||
|
options zfs zfs_arc_max=4294967296
|
||||||
|
```
|
||||||
|
|
||||||
|
Применение и перезагрузка
|
||||||
|
```shell
|
||||||
|
update-initramfs -u -k all
|
||||||
|
init 6
|
||||||
|
```
|
||||||
|
35
content/posts/rhel-setup.md
Normal file
35
content/posts/rhel-setup.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: Активация и автоматические обновления в RHEL 9
|
||||||
|
description: Небольшая памятка
|
||||||
|
date: 2025-02-27T23:10:00+01:00
|
||||||
|
tags: [linux, rhel]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Активация
|
||||||
|
|
||||||
|
```shell
|
||||||
|
subscription-manager register --auto-attach
|
||||||
|
insights-client --register
|
||||||
|
```
|
||||||
|
|
||||||
|
## Автоматическая установка обновлений
|
||||||
|
|
||||||
|
```shell
|
||||||
|
yum -y install dnf-automatic
|
||||||
|
systemctl enable --now dnf-automatic-install.timer
|
||||||
|
```
|
||||||
|
|
||||||
|
## Установка расширенного репозитория
|
||||||
|
|
||||||
|
```shell
|
||||||
|
subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
|
||||||
|
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||||
|
```
|
||||||
|
|
||||||
|
## Отключение дампов ядра
|
||||||
|
|
||||||
|
```shell
|
||||||
|
systemctl disable --now kdump
|
||||||
|
grubby --update-kernel=ALL --remove-args="crashkernel"
|
||||||
|
init 6
|
||||||
|
```
|
63
content/posts/tor-website.md
Normal file
63
content/posts/tor-website.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
title: Поднятие сайта в TOR
|
||||||
|
description: Caddy + torrc
|
||||||
|
date: 2025-06-25T14:02:00+02:00
|
||||||
|
tags: [linux, tor, caddy]
|
||||||
|
---
|
||||||
|
## Генерация vanity адреса
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -it nwtgck/mkp224o
|
||||||
|
mkp224o <domain-start-with> -s
|
||||||
|
```
|
||||||
|
|
||||||
|
Формула для вычисления ожидаемого времени генерации:
|
||||||
|
```python
|
||||||
|
32^<number-of-characters>/<calc/sec> = <eta-in-seconds>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Установка и конфигурация TOR
|
||||||
|
|
||||||
|
Установка TOR:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
apt -y install tor
|
||||||
|
```
|
||||||
|
|
||||||
|
Следующие строки необходимо добавить в `/etc/tor/torrc`:
|
||||||
|
|
||||||
|
```python
|
||||||
|
HiddenServiceDir /var/lib/tor/website
|
||||||
|
HiddenServicePort 80 127.0.0.1:80
|
||||||
|
```
|
||||||
|
|
||||||
|
Файлы, сгенерированные `mkp224o`, необходимо добавить в директорию `/var/lib/tor/website`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
mkdir /var/lib/tor/website
|
||||||
|
mv <domain>.onion/* /var/lib/tor/website
|
||||||
|
chown -R debian-tor: /var/lib/tor/website
|
||||||
|
chmod -R 700 /var/lib/tor/website
|
||||||
|
```
|
||||||
|
|
||||||
|
## Конфигурация Caddy
|
||||||
|
|
||||||
|
В `Caddyfile` необходимо добавить следующее:
|
||||||
|
|
||||||
|
```python
|
||||||
|
<cleanet-doma.in> {
|
||||||
|
header Onion-Location http://<domain>.onion{uri}
|
||||||
|
respond "cleanet"
|
||||||
|
}
|
||||||
|
|
||||||
|
http://<domain>.onion {
|
||||||
|
respond "onion"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Перезапуск сервисов
|
||||||
|
|
||||||
|
```shell
|
||||||
|
systemctl restart tor
|
||||||
|
systemctl restart caddy
|
||||||
|
```
|
Reference in New Issue
Block a user