diff --git a/config.yml b/config.yml index fcbf2e1..fd65201 100644 --- a/config.yml +++ b/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: diff --git a/content/_index.ru.md b/content/_index.ru.md new file mode 100644 index 0000000..bc51c34 --- /dev/null +++ b/content/_index.ru.md @@ -0,0 +1,8 @@ +--- +menu: + main: + name: Главная + weight: -100 + params: + icon: home +--- \ No newline at end of file diff --git a/content/categories/Docker/_index.ru.md b/content/categories/Docker/_index.ru.md new file mode 100644 index 0000000..6fc3183 --- /dev/null +++ b/content/categories/Docker/_index.ru.md @@ -0,0 +1,9 @@ +--- +title: "Docker" +description: "docker" +slug: "docker" +image: "docker.svg" +style: + background: "#066da5" + color: "#fff" +--- diff --git a/content/page/archives/index.ru.md b/content/page/archives/index.ru.md new file mode 100644 index 0000000..720ef8c --- /dev/null +++ b/content/page/archives/index.ru.md @@ -0,0 +1,11 @@ +--- +title: "Архив" +date: 2019-05-28 +layout: "archives" +slug: "archives" +menu: + main: + weight: -70 + params: + icon: archives +--- diff --git a/content/page/search/index.ru.md b/content/page/search/index.ru.md new file mode 100644 index 0000000..795e20c --- /dev/null +++ b/content/page/search/index.ru.md @@ -0,0 +1,13 @@ +--- +title: "Поиск" +slug: "search" +layout: "search" +outputs: + - html + - json +menu: + main: + weight: -60 + params: + icon: search +--- \ No newline at end of file diff --git a/content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare.md b/content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare/index.md similarity index 97% rename from content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare.md rename to content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare/index.md index 6ba84d8..3305341 100644 --- a/content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare.md +++ b/content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare/index.md @@ -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 `` to your domain name. + +2. Run `docker compose up -d`. 3. In your CDN, turn the proxy option on for the record. diff --git a/content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare/index.ru.md b/content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare/index.ru.md new file mode 100644 index 0000000..27a5a00 --- /dev/null +++ b/content/post/self-hosted_VPN_with_Shadowsocks_VLess_and_proxying_via_cloudflare/index.ru.md @@ -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. Замените `` в `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" + ``` + + не забудьте заменить `` на ваше доменное имя. + +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 diff --git a/content/post/welcome.md b/content/post/welcome/index.md similarity index 100% rename from content/post/welcome.md rename to content/post/welcome/index.md diff --git a/content/post/welcome/index.ru.md b/content/post/welcome/index.ru.md new file mode 100644 index 0000000..64bfd2f --- /dev/null +++ b/content/post/welcome/index.ru.md @@ -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) diff --git a/i18n/en.yaml b/i18n/en.yaml new file mode 100644 index 0000000..fb07328 --- /dev/null +++ b/i18n/en.yaml @@ -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 }} diff --git a/i18n/ru.yaml b/i18n/ru.yaml new file mode 100644 index 0000000..2dc72d5 --- /dev/null +++ b/i18n/ru.yaml @@ -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 }}