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"
|
||||
title: "Radiquum Blog"
|
||||
theme: "stack"
|
||||
|
||||
DefaultContentLanguage: "en"
|
||||
hasCJKLanguage: false
|
||||
languages:
|
||||
en:
|
||||
languageName: English
|
||||
title: Radiquum Blog
|
||||
weight: 1
|
||||
ru:
|
||||
languageName: Русский
|
||||
title: Radiquum Blog
|
||||
weight: 2
|
||||
|
||||
menu:
|
||||
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"
|
||||
```
|
||||
|
||||
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.
|
||||
|
|
@ -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