mirror of
https://github.com/Radiquum/blog.git
synced 2025-04-05 07:44:32 +00:00
Add russian language
This commit is contained in:
parent
4b015c2157
commit
00ffad8c3f
11 changed files with 353 additions and 1 deletions
10
config.yml
10
config.yml
|
@ -2,8 +2,18 @@ baseURL: "https://radiquum.wah.su"
|
||||||
languageCode: "en-us"
|
languageCode: "en-us"
|
||||||
title: "Radiquum Blog"
|
title: "Radiquum Blog"
|
||||||
theme: "stack"
|
theme: "stack"
|
||||||
|
|
||||||
DefaultContentLanguage: "en"
|
DefaultContentLanguage: "en"
|
||||||
hasCJKLanguage: false
|
hasCJKLanguage: false
|
||||||
|
languages:
|
||||||
|
en:
|
||||||
|
languageName: English
|
||||||
|
title: Radiquum Blog
|
||||||
|
weight: 1
|
||||||
|
ru:
|
||||||
|
languageName: Русский
|
||||||
|
title: Radiquum Blog
|
||||||
|
weight: 2
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
social:
|
social:
|
||||||
|
|
8
content/_index.ru.md
Normal file
8
content/_index.ru.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
name: Главная
|
||||||
|
weight: -100
|
||||||
|
params:
|
||||||
|
icon: home
|
||||||
|
---
|
9
content/categories/Docker/_index.ru.md
Normal file
9
content/categories/Docker/_index.ru.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
title: "Docker"
|
||||||
|
description: "docker"
|
||||||
|
slug: "docker"
|
||||||
|
image: "docker.svg"
|
||||||
|
style:
|
||||||
|
background: "#066da5"
|
||||||
|
color: "#fff"
|
||||||
|
---
|
11
content/page/archives/index.ru.md
Normal file
11
content/page/archives/index.ru.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
title: "Архив"
|
||||||
|
date: 2019-05-28
|
||||||
|
layout: "archives"
|
||||||
|
slug: "archives"
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
weight: -70
|
||||||
|
params:
|
||||||
|
icon: archives
|
||||||
|
---
|
13
content/page/search/index.ru.md
Normal file
13
content/page/search/index.ru.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
title: "Поиск"
|
||||||
|
slug: "search"
|
||||||
|
layout: "search"
|
||||||
|
outputs:
|
||||||
|
- html
|
||||||
|
- json
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
weight: -60
|
||||||
|
params:
|
||||||
|
icon: search
|
||||||
|
---
|
|
@ -95,7 +95,9 @@ This guide assumes you are using CloudFlare as your domain CDN and DNS managment
|
||||||
caddy.reverse_proxy: "http://v2ray:1310"
|
caddy.reverse_proxy: "http://v2ray:1310"
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Run `docker-compose up -d`.
|
Don't forget to replace `<YOUR-DOMAIN>` to your domain name.
|
||||||
|
|
||||||
|
2. Run `docker compose up -d`.
|
||||||
|
|
||||||
3. In your CDN, turn the proxy option on for the record.
|
3. In your CDN, turn the proxy option on for the record.
|
||||||
|
|
|
@ -0,0 +1,124 @@
|
||||||
|
---
|
||||||
|
draft: false
|
||||||
|
title: 'Делаем свой VPN с помощью Shadowsocks vmess и проксируем его через Сеть Доставки Контента (CDN).'
|
||||||
|
date: '2024-03-06T02:05:18+05:00'
|
||||||
|
tags: ["руководство"]
|
||||||
|
categories:
|
||||||
|
- Docker
|
||||||
|
---
|
||||||
|
|
||||||
|
Этот пост будет инструкцией как установить ShadowSocks vmess прокси через докер и использовать его через CDN.
|
||||||
|
|
||||||
|
## Как это работает
|
||||||
|
|
||||||
|
```md
|
||||||
|
(Клиент) <-> [ CDN Сервис ] <-> [ Сервер ] <-> (Интернет)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Что будет использоваться
|
||||||
|
|
||||||
|
- [v2ray docker compose](https://github.com/miladrahimi/v2ray-docker-compose)
|
||||||
|
- [caddy docker proxy](https://github.com/lucaslorentz/caddy-docker-proxy)
|
||||||
|
- CDN сервис: [Cloudflare](https://cloudflare.com/), [ArvanCloud](https://arvancloud.ir/) или [DerakCloud](https://derak.cloud/).
|
||||||
|
|
||||||
|
проверьте [бесплатные планы](https://github.com/miladrahimi/v2ray-docker-compose/discussions/89), и выберите подходящий.
|
||||||
|
|
||||||
|
Это руководство подразумевает, что вы используете CloudFlare как CDN и управление DNS для вашего домена.
|
||||||
|
|
||||||
|
## Требования
|
||||||
|
|
||||||
|
- Linux VPS или любой другой сервер с линукс и выделенным IP.
|
||||||
|
- Установленные git, docker и docker compose плагин.
|
||||||
|
- Доменное имя подключённое к CDN.
|
||||||
|
- Python 3
|
||||||
|
|
||||||
|
Для доменов можно использовать .ru и .su, так как это самые дешёвые доменные имена на данный момент.
|
||||||
|
|
||||||
|
Для выбора провайдера VPS можно использовать статью на хабре: [Какого провайдера VPS выбрать для собственного VPN в 2023 году. Платим за всё российской картой](https://habr.com/ru/articles/729750/)
|
||||||
|
|
||||||
|
## Подготовка
|
||||||
|
|
||||||
|
1. В панели управления CDN, создайте `A` запись которая указывает на IP сервера с выключенной функцией проксирования.
|
||||||
|
|
||||||
|
2. Склонируйте репозиторий v2ray-docker-compose на ваш сервер.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/lucaslorentz/caddy-docker-proxy
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Запустите `v2ray-docker-compose/utils/bbr.sh` для улучшений работы сети на сервере.
|
||||||
|
|
||||||
|
4. Скопируйте папку `v2ray` и файл `vmess.py` в любую папку из `v2ray-docker-compose/v2ray-caddy-cdn/`.
|
||||||
|
|
||||||
|
5. Создайте UUID с помощью выполнения команды
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cat /proc/sys/kernel/random/uuid
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Замените `<UPSTREAM-UUID>` в `v2ray/config/config.json` на созданный UUID.
|
||||||
|
|
||||||
|
7. Замените `domain = caddy[:caddy.find(' {')]` в `vmess.py` на `domain = <ваш домен>`.
|
||||||
|
|
||||||
|
## Установка ShadowSocks vmess
|
||||||
|
|
||||||
|
1. создайте файл `docker-compose.yml`, откройте его с помощью текстового редактора и вставьте следующее:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
version: '3.3'
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: 'proxy_network'
|
||||||
|
services:
|
||||||
|
caddy:
|
||||||
|
image: "lucaslorentz/caddy-docker-proxy:ci-alpine"
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "80:80/udp"
|
||||||
|
- "443:443"
|
||||||
|
- "443:443/udp"
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
- /srv/caddy/:/data
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- CADDY_INGRESS_NETWORKS=proxy_network
|
||||||
|
v2ray:
|
||||||
|
image: ghcr.io/getimages/v2fly-core:v4.45.2
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- v2ray.vmess.aead.forced=false
|
||||||
|
volumes:
|
||||||
|
- ./v2ray/config/:/etc/v2ray/
|
||||||
|
- ./v2ray/logs:/var/log/v2ray/
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:1310:1310"
|
||||||
|
- "127.0.0.1:1310:1310/udp"
|
||||||
|
labels:
|
||||||
|
caddy: http://<ваш домен>
|
||||||
|
caddy.reverse_proxy: "http://v2ray:1310"
|
||||||
|
```
|
||||||
|
|
||||||
|
не забудьте заменить `<YOUR-DOMAIN>` на ваше доменное имя.
|
||||||
|
|
||||||
|
2. Выполните команду `docker compose up -d`.
|
||||||
|
|
||||||
|
3. В панели управления CDN, включите функцию проксирования.
|
||||||
|
|
||||||
|
4. Запустите `python3 ./vmess.py` что-бы создать ссылку конфигурации.
|
||||||
|
|
||||||
|
вам может потребоваться открыть порты 80 (tcp + udp) и 443 (tcp + udp) на сервере.
|
||||||
|
|
||||||
|
## Как подключится
|
||||||
|
|
||||||
|
скопируйте созданную ссылку конфигурации и импортируйте её в приложение для подключения.
|
||||||
|
|
||||||
|
### приложения
|
||||||
|
|
||||||
|
Это список рекомендованных приложений для использования с протоколом VMESS:
|
||||||
|
|
||||||
|
- [Nekoray](https://github.com/MatsuriDayo/nekoray/releases) для Windows, и Linux.
|
||||||
|
- [Nekobox](https://github.com/MatsuriDayo/NekoBoxForAndroid) для Android
|
||||||
|
- [v2rayNG](https://github.com/2dust/v2rayNG) для Android
|
||||||
|
- [Nekoray - macOS](https://github.com/abbasnaqdi/nekoray-macos/releases) для MacOS
|
||||||
|
- [ShadowLink](https://apps.apple.com/us/app/shadowlink-shadowsocks-vpn/id1439686518) для iOS
|
36
content/post/welcome/index.ru.md
Normal file
36
content/post/welcome/index.ru.md
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
+++
|
||||||
|
title = 'Добро пожаловать!'
|
||||||
|
date = 2024-03-06T00:14:00+05:00
|
||||||
|
draft = false
|
||||||
|
tags = ["личное"]
|
||||||
|
+++
|
||||||
|
> итак, я решил создать блог.
|
||||||
|
|
||||||
|
## О чём будет этот блог?
|
||||||
|
|
||||||
|
Возможно о всякой штука связанная с технологиями, например как сделать что-то с помощью Docker, пути решения проблем или что мне нравится о каком либо селф-хост приложении.
|
||||||
|
|
||||||
|
## Кто ты?
|
||||||
|
|
||||||
|
Я фурри, фотографер, кодер, а так-же увлекаюсь селф-хостом разных сервисов.
|
||||||
|
|
||||||
|
Сейчас я знаю NextJS (так сказать на базовом уровне), Python (и такие фреймворки как: Flask, Django and FastAPI), как работать с Docker на линуксе, знания о DNS и реверс-прокси.
|
||||||
|
|
||||||
|
## Где можно подписаться?
|
||||||
|
|
||||||
|
Редкие мысли:
|
||||||
|
|
||||||
|
- [furry.engineer | mastodon](https://furry.engineer/@Radiquum)
|
||||||
|
- [bluesky](https://bsky.app/profile/radiquum.wah.su)
|
||||||
|
- [twitter](https://twitter.com/radiquum)
|
||||||
|
|
||||||
|
Фотография:
|
||||||
|
|
||||||
|
- [pixey.org | pixelfed](https://pixey.org/Radiquum) - Photography of landscapes, archetecture and cities.
|
||||||
|
- [instafops.net | pixelfed](https://instafops.net/radiquwum) - Personal photo account and miscelenious stuff.
|
||||||
|
|
||||||
|
Аккаунты с кодом:
|
||||||
|
|
||||||
|
- [github](https://github.com/radiquum)
|
||||||
|
|
||||||
|
другие аккаунты доступны на [bento](https://bento.me/radiquum)
|
73
i18n/en.yaml
Normal file
73
i18n/en.yaml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
toggleMenu:
|
||||||
|
other: Toggle Menu
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Dark Mode
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} page"
|
||||||
|
other: "{{ .Count }} pages"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Section
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Subsection
|
||||||
|
other: Subsections
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Back
|
||||||
|
|
||||||
|
tableOfContents:
|
||||||
|
other: Table of contents
|
||||||
|
|
||||||
|
relatedContent:
|
||||||
|
other: Related content
|
||||||
|
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Last updated on
|
||||||
|
|
||||||
|
readingTime:
|
||||||
|
one: "{{ .Count }} minute read"
|
||||||
|
other: "{{ .Count }} minute read"
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Not Found
|
||||||
|
|
||||||
|
subtitle:
|
||||||
|
other: This page does not exist
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Archives
|
||||||
|
|
||||||
|
more:
|
||||||
|
other: More
|
||||||
|
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Tags
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Categories
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Search
|
||||||
|
|
||||||
|
placeholder:
|
||||||
|
other: Type something...
|
||||||
|
|
||||||
|
resultTitle:
|
||||||
|
other: "#PAGES_COUNT pages (#TIME_SECONDS seconds)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Built with {{ .Generator }}
|
||||||
|
|
||||||
|
designedBy:
|
||||||
|
other: Theme {{ .Theme }} designed by {{ .DesignedBy }}
|
66
i18n/ru.yaml
Normal file
66
i18n/ru.yaml
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
toggleMenu:
|
||||||
|
other: Показать/скрыть меню
|
||||||
|
|
||||||
|
darkMode:
|
||||||
|
other: Тёмный режим
|
||||||
|
|
||||||
|
list:
|
||||||
|
page:
|
||||||
|
one: "{{ .Count }} страница"
|
||||||
|
few: "{{ .Count }} страницы"
|
||||||
|
many: "{{ .Count }} страниц"
|
||||||
|
other: "{{ .Count }} страниц"
|
||||||
|
|
||||||
|
section:
|
||||||
|
other: Раздел
|
||||||
|
|
||||||
|
subsection:
|
||||||
|
one: Подраздел
|
||||||
|
few: Подразделы
|
||||||
|
many: Подразделы
|
||||||
|
other: Подразделы
|
||||||
|
|
||||||
|
article:
|
||||||
|
back:
|
||||||
|
other: Назад
|
||||||
|
relatedContent:
|
||||||
|
other: Также рекомендуем
|
||||||
|
lastUpdatedOn:
|
||||||
|
other: Обновлено
|
||||||
|
tableOfContents:
|
||||||
|
other: Содержание
|
||||||
|
readingTime:
|
||||||
|
other: "Время чтения: {{ .Count }} мин."
|
||||||
|
|
||||||
|
notFound:
|
||||||
|
title:
|
||||||
|
other: Не найдено
|
||||||
|
subtitle:
|
||||||
|
other: Запрашиваемая страница не существует
|
||||||
|
|
||||||
|
widget:
|
||||||
|
archives:
|
||||||
|
title:
|
||||||
|
other: Архивы
|
||||||
|
more:
|
||||||
|
other: Ещё
|
||||||
|
tagCloud:
|
||||||
|
title:
|
||||||
|
other: Теги
|
||||||
|
categoriesCloud:
|
||||||
|
title:
|
||||||
|
other: Категории
|
||||||
|
|
||||||
|
search:
|
||||||
|
title:
|
||||||
|
other: Поиск
|
||||||
|
placeholder:
|
||||||
|
other: Введите что-нибудь...
|
||||||
|
resultTitle:
|
||||||
|
other: "Найдено #PAGES_COUNT страниц (за #TIME_SECONDS с.)"
|
||||||
|
|
||||||
|
footer:
|
||||||
|
builtWith:
|
||||||
|
other: Создано при помощи {{ .Generator }}
|
||||||
|
designedBy:
|
||||||
|
other: Тема {{ .Theme }}, дизайн {{ .DesignedBy }}
|
Loading…
Add table
Reference in a new issue