Compare commits

..

30 Commits

Author SHA1 Message Date
92917d6ca7 Update subtitle.html 2025-07-25 23:57:05 +02:00
4d72df5e71 Merge pull request #57 from fruworg/dependabot/submodules/themes/themu-fd50a94
Bump themes/themu from `1224b6f` to `fd50a94`
2025-07-25 23:27:17 +02:00
dependabot[bot]
a039f232f6 Bump themes/themu from 1224b6f to fd50a94
Bumps [themes/themu](https://github.com/fruworg/themu) from `1224b6f` to `fd50a94`.
- [Commits](1224b6f67c...fd50a946d0)

---
updated-dependencies:
- dependency-name: themes/themu
  dependency-version: fd50a946d095dee7f2aa490808af9c4ae94e1a6f
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-25 21:26:56 +00:00
de38d86557 Update config.toml 2025-07-25 23:22:29 +02:00
1d129d5cf9 Add files via upload 2025-07-25 22:03:37 +02:00
7407ede13c Add files via upload 2025-07-24 00:09:49 +02:00
a65eea68ce Add files via upload 2025-07-24 00:08:56 +02:00
3363db4134 Delete static/favicon.ico 2025-07-24 00:07:23 +02:00
fe2503d50f Update config.toml 2025-07-24 00:07:07 +02:00
0a845869e6 Delete static/fruworg.jpg 2025-07-24 00:06:43 +02:00
fc9289f189 Add files via upload 2025-07-24 00:06:17 +02:00
1f5caaa1c5 Merge pull request #56 from fruworg/dependabot/submodules/themes/themu-1224b6f
Bump themes/themu from `257284d` to `1224b6f`
2025-07-22 13:46:13 +02:00
dependabot[bot]
9835a4a713 Bump themes/themu from 257284d to 1224b6f
Bumps [themes/themu](https://github.com/fruworg/themu) from `257284d` to `1224b6f`.
- [Commits](257284dd68...1224b6f67c)

---
updated-dependencies:
- dependency-name: themes/themu
  dependency-version: 1224b6f67cb892c2ecfe21cf3541c036b092da7c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 02:33:14 +00:00
ca14e8247c Update README.md 2025-07-21 20:49:28 +02:00
1f5573cee8 Update subtitle.html 2025-07-21 20:49:05 +02:00
305f6c5642 Update hugo.yml 2025-07-21 20:45:22 +02:00
1a3502b71b Update pve-update.md 2025-07-11 20:11:14 +02:00
26a442d6f4 Update rknb-marzban-routing.md 2025-07-03 09:27:39 +02:00
cc5fb8a7d7 Update rknb-marzban-routing.md 2025-07-02 15:28:11 +02:00
72e030fdb4 Update rknb-marzban-routing.md 2025-07-02 13:45:50 +02:00
e3c801f520 Rename wg.md to rknb-wg.md 2025-07-02 13:04:08 +02:00
466d58c3b5 Rename i2p-website.md to rknb-i2p-website.md 2025-07-02 13:03:01 +02:00
43e8ca5fb0 Rename tor-website.md to rknb-tor-website.md 2025-07-02 13:02:49 +02:00
761392c318 Update rknb-marzban-routing.md 2025-07-02 13:01:19 +02:00
b9c261366e Update rknb-marzban-routing.md 2025-07-02 12:57:24 +02:00
4efd4854d2 Update rknb-marzban-routing.md 2025-07-02 12:57:04 +02:00
03233eb2c4 Update rknb-marzban-routing.md 2025-07-02 12:55:10 +02:00
6e955b75f3 Update rknb-marzban-routing.md 2025-07-02 12:54:08 +02:00
442b075508 Update rknb-marzban-routing.md 2025-07-02 12:53:39 +02:00
95d9980f06 Create rknb-marzban-routing.md 2025-07-02 12:53:24 +02:00
15 changed files with 220 additions and 56 deletions

View File

@@ -60,52 +60,3 @@ jobs:
--gc \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Change color
run: sed -i 's/peachpuff/rebeccapurple/g' public/css/main.*.css
- name: Change URI
run: find public -type f -exec sed -i 's/\/\/fruw.org/\/\/fruworg.github.io/g' {} +
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public
# Deployment job
deploy-page:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
deploy-neocities:
environment:
name: neocities
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v4
with:
path: .
- name: Create directory
run: mkdir public
- name: Unapacking artifact
run: tar xf github-pages/artifact.tar -C public
- name: Change URI
run: find public -type f -exec sed -i 's/\/\/fruworg.github.io/\/\/fruworg.neocities.org/g' {} +
- name: Rename 404 page
run: mv public/404.html public/not_found.html
- name: Change color
run: sed -i 's/rebeccapurple/mediumseagreen/g' public/css/main.*.css
- name: Delete id_rsa.pub
run: rm public/id_rsa.pub
- name: Deploy to Neocities
uses: bcomnes/deploy-to-neocities@v1
with:
api_token: ${{ secrets.NEOCITIES_API_TOKEN }}
cleanup: true
dist_dir: public

View File

@@ -1,2 +1,2 @@
# Небольшой сайтик на `HUGO`
Зеркала: [раз](//fruw.org), [два](//fruworg.neocities.org), [три](//fruworg.pages.dev) и [четыре](//fruworg.github.io).
[Yay!](//fruw.org)

View File

@@ -11,9 +11,9 @@ pygmentscodefencesguesssyntax = true
pagination.pagerSize = 4
[params]
description = "всем привет!"
description = "гражданин интернета"
subtitlefile = true
og_image = "fruworg.jpg"
og_image = "fruworg.png"
[[params.social]]
name = "mail"

View File

@@ -36,7 +36,7 @@ init 6
## Дошлифовка
```shell
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/post-pve-install.sh)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"
```
## Ограничение потребление RAM zfs'ом

View File

@@ -0,0 +1,212 @@
---
title: Marzban - продвинутый роутинг
description: VLESS + gRPC + Reality
date: 2025-07-02T12:48:00+02:00
tags: [linux, xray]
---
## Вступление
Для конфигурации нам необходимо два сервера - один будет в России, а второй за её пределами.\
Российский сервер будет точкой входа и проксировать траффик через себя до российских сервисов.\
До сервисов вне России сервер будет дополнительно проксировать через сервер вне России.\
Домен для сервера в России, например - `example.com`, для сервера вне России - `exit.example.com`.
## Установка Marzban (аналогично для двух серверов)
Нужно создать папки `tls` и `lib`:
```shell
mkdir tls
mkdir lib
```
Необходимо переместить `TLS` ключ и сертификат в папку `tls`.\
Необходимо создать `compose.yaml`:
```python
services:
marzban:
image: gozargah/marzban:latest
container_name: marzban
network_mode: host
restart: always
env_file: .env
volumes:
- ./lib:/var/lib/marzban
- ./tls:/tls
```
В файл `.env` нужно вписать следующее:
```python
UVICORN_HOST = "0.0.0.0"
UVICORN_PORT = 8000
ALLOWED_ORIGINS=https://<fqdn>
SUDO_USERNAME = "admin"
SUDO_PASSWORD = "<password>"
UVICORN_SSL_CERTFILE = "/tls/<fqdn>.crt"
UVICORN_SSL_KEYFILE = "/tls/<fqdn>.key"
DASHBOARD_PATH = "/<secret-uri>/"
XRAY_JSON = "/var/lib/marzban/xray_config.json"
XRAY_SUBSCRIPTION_URL_PREFIX = "https://<fqdn>"
```
Для полученя `xray` ключа и `uuid` для `lib/xray_config.json` необходимо скачать [xray-core](https://github.com/XTLS/Xray-core/releases/).\
`uuid` - `./xray uuid`\
`key` - `./xray x25519`\
Далее нужно создать файл `lib/xray_config.json` (`fqdn` у каждого сервера свой):
```python
{
"log": {
"loglevel": "debug"
},
"dns": {
"servers": [
"9.9.9.9",
"149.112.112.112",
"2620:fe::fe",
"2620:fe::9"
],
"queryStrategy": "UseIP",
"tag": "dns_inbound"
},
"routing": {
"rules": [
{
"ip": [
"geoip:private"
],
"outboundTag": "BLOCK",
"type": "field"
},
{
"type": "field",
"outboundTag": "BLOCK",
"protocol": [
"bittorrent"
]
}
]
},
"inbounds": [
{
"tag": "VLESS GRPC REALITY",
"listen": "0.0.0.0",
"port": 8443,
"protocol": "vless",
"settings": {
"clients": [],
"decryption": "none"
},
"streamSettings": {
"network": "grpc",
"grpcSettings": {
"serviceName": "xyz"
},
"security": "reality",
"realitySettings": {
"show": false,
"dest": "google.com:443",
"xver": 0,
"serverNames": [
"<fqdn>"
],
"privateKey": "<xray-private-key>",
"SpiderX": "/<uuid>",
"shortIds": [
"<16-hexadecimal-characters>"
]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "DIRECT"
},
{
"protocol": "blackhole",
"tag": "BLOCK"
}
]
}
```
И, наконец, необходимо поднять контейнер:
```shell
docker compose up -d
```
## Создание клиентов
Далее необходимо создать пользователей для конечных пользователей на российском сервере
и пользователя на сервере вне России для российского сервера.
Далее приложением `v2rayNG` подключаемся на сервер вне России и экспортируйте конфиг -
`Экспорт всей конфигурации в буфер обмена`.
## Модификация роутинга
Далее только на российском сервере необходимо в `xray_config.json` изменить `routing` на:
```python
"routing": {
"rules": [
{
"domain": [
"regexp:\\.ru$",
"regexp:\\.\u0440\u0444$"
],
"outboundTag": "RU",
"type": "field"
},
{
"ip": [
"geoip:ru"
],
"outboundTag": "RU",
"type": "field"
},
{
"ip": [
"geoip:private"
],
"outboundTag": "BLOCK",
"type": "field"
},
{
"type": "field",
"outboundTag": "BLOCK",
"protocol": [
"bittorrent"
]
}
]
}
```
И также только на российском сервере изменить `outbounds` на\
(вместо `<proxy>` необходимо вставить `outbound` с тегом `proxy` из экспортированного
конфига `v2rayNG` и заменить тег `proxy` на `DIRECT`):
```python
"outbounds": [
<proxy>
{
"protocol": "freedom",
"tag": "RU"
},
{
"protocol": "blackhole",
"tag": "BLOCK"
}
]
```
Готово, теперь пользователи могут подключаться к серверу в России.

View File

@@ -1,7 +1,7 @@
<pre><ascii> ▄ .▄▄▄▄ .▄▄▌ ▄▄▌ there
██▪▐█▀▄.▀·██• ██• ▪
██▀▐█▐▀▀▪▄██▪ ██▪ ▄█▀▄
██▌▐▀▐█▄▄▌▐█▌▐▌▐█▌▐▌▐█▌.▐▌
██▌▐▀▐█▄▄▌▐█▌▐▌▐█▌▐▌▐█▌▐▌
▀▀▀ · ▀▀▀ .▀▀▀ .▀▀▀ ▀█▄▀▪</ascii>
<a href="//github.com/fruworg/fruworg.github.io">opensource, js&cookie free</a></pre>
<a href="//github.com/fruworg/fruw.org">opensource, js&cookie free</a></pre>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 764 KiB

BIN
static/fruworg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 KiB

1
static/id_ed25519.pub Normal file
View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID6p+XXyq5KchR3BxqKMRXinGN1WawNmWHfvS6H/fWMy im@fruw.org

BIN
static/rknb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB