DOI :: Нотатки про Yggdrasil: якість коду, безпека, DNS | Causa Arcana | Notes on Yggdrasil: code quality, security, DNS | Causa Arcana
Нотатки про Yggdrasil: якість коду, безпека, DNS | Causa Arcana
https://causa-arcana.com/ru/blog/2021/07/28/yggdrasil.html
Опис статті
Назва: Нотатки про Yggdrasil: якість коду, безпека, DNS
Джерело: Arcane Cause
Дата публікації: 28 липня 2021 року
Короткий зміст:
Стаття присвячена аналізу якості коду, рівня безпеки та особливостей роботи з DNS у мережі Yggdrasil – експериментальної мережі на основі технології маршрутизації на базі графів.
Якість коду:
Автор зазначає простоту структури коду Yggdrasil, що полегшує його аналіз та модифікацію.
Використання Go як мови програмування полегшує супровід проекту.
Безпека:
Yggdrasil забезпечує захищену маршрутизацію, покладаючись на криптографічні методи.
Обговорюються потенційні уразливості, пов'язані з доступом до відкритих вузлів мережі.
DNS та інтеграція:
Розглядається обмеженість у роботі з DNS через специфіку побудови мережі.
Автор пропонує рішення для покращення роботи з доменними іменами у Yggdrasil.
Висновки:
Yggdrasil — перспективна технологія, але потребує значних доробок у сфері масштабованості, безпеки та зручності для кінцевого користувача.
Теги: #Yggdrasil #Мережа #Безпека #DNS #Технології
Релізи · zhoreeq/meshname
https://github.com/zhoreeq/meshname/releases
Приклад створення сайту у мережі Yggdrasil
Мережа Yggdrasil дозволяє запускати сайти в децентралізованому та зашифрованому середовищі. Для цього використовуються вбудовані механізми маршрутизації та підтримка IPv6.
1. Підготовка до роботи
Установка Yggdrasil
Завантажте та налаштуйте Yggdrasil для вашої системи, слідуючи офіційної документації.
Перевірка підключення
Переконайтеся, що вузол працює коректно. Для цього використовуйте команду:
yggdrasilctl getPeers
Ви маєте бачити активні з'єднання.
Отримання адреси
Після запуску вузла Yggdrasil ви отримаєте унікальну IPv6-адресу, наприклад:
201:18a1:7c80::1
2. Налаштування веб-сервера
Встановлення веб-сервера
Для запуску сайту в Yggdrasil підійде будь-який веб-сервер з підтримкою IPv6, наприклад:
NGINX:
sudo apt інсталювати nginx
Apache:
sudo apt встановити apache2
Налаштування сервера для роботи з Yggdrasil
Додайте конфігурацію IPv6 до веб-сервера:
Для NGINX:
сервер {
слухати [201:18a1:7c80::1]:80;
ім'я_сервера _;
корінь /var/www/yggdrasil_site;
індекс index.html;
}
Для Apache:
<Віртуальний хост [201:18a1:7c80::1]:80>
DocumentRoot "/var/www/yggdrasil_site"
DirectoryIndex index.html
</VirtualHost>
Перезавантажте сервер:
sudo systemctl перезапустіть nginx
або
sudo systemctl перезапустіть apache2
3. Створення контенту
Створіть директорію для сайту:
mkdir -p /var/www/yggdrasil_site
Додати файл index.html:
<!DOCTYPE html>
<html>
<голова>
<title>Ласкаво просимо до Yggdrasil</title>
</head>
<тіло>
<h1>Це приклад сайту в мережі Yggdrasil!</h1>
</body>
</html>
Перевірте права на директорію:
sudo chown -R www-data:www-data /var/www/yggdrasil_site
4. Тестування
У браузері, підключеному до Yggdrasil, відкрийте сайт за адресою вашого вузла, наприклад:
http://[201:18a1:7c80::1]
Для користувачів Yggdrasil ваш сайт буде доступний відразу, без налаштування DNS.
5. Розширення та покращення
Використовуйте HTTPS для додаткової безпеки (через сертифікати, наприклад Давайте зашифруємо, що підтримують IPv6).
Налаштуйте балансування навантаження, якщо очікується великий трафік.
Оптимізуйте сайт для високої продуктивності, використовуючи мінімальний дизайн та кешування.
Тепер ваш сайт доступний у мережі Yggdrasil! 🚀
Готові кросплатформні рішення для публікації/селф-хостингу сайтів у мережі Yggdrasil
Мережа Yggdrasil підтримує роботу з різними інструментами та платформами для швидкого розгортання та селф-хостингу сайтів. Розглянемо найпопулярніші рішення:
1. Кедді
Caddy – це легковажний веб-сервер з підтримкою IPv6, автоматичного HTTPS та простотою конфігурації.
Особливості:
Прості налаштування.
Підтримка IPv6 за замовчуванням (ідеально для Yggdrasil).
Вбудована підтримка HTTP/3.
Кроки налаштування:
Заклади Caddy:
sudo apt install -y caddy
Налаштуйте файл Caddyfile:
[201:18a1:7c80::1]:80 {
root * /var/www/yggdrasil_site
файловий_сервер
}
Запустіть сервер:
sudo systemctl перезапустити caddy
2. Docker із готовими образами
Використання Docker спрощує керування сайтами та їх ізоляцію.
Рішення:
NGINX:
Використовуйте готовий образ NGINX для IPv6:
docker run -d --name ygg-nginx \
-v /var/www/yggdrasil_site:/usr/share/nginx/html \
-p [201:18a1:7c80::1]:80:80 nginx
Гюго:
Hugo – генератор статичних сайтів.
Завантажте образ Hugo:
docker pull klakegg/hugo
Створіть та зберіть сайт:
docker run --rm -v $(pwd):/src klakegg/hugo новий сайт ygg_site
docker run --rm -v $(pwd)/ygg_site:/src klakegg/hugo
Підніміть сайт через NGINX або інший веб-сервер.
3. ZeroNet для Yggdrasil
ZeroNet дозволяє запускати P2P-сайти, які відмінно працюють у мережі Yggdrasil.
Особливості:
Децентралізоване сховище даних.
Високий рівень конфіденційності.
Кроки налаштування:
Установи ZeroNet:
git клон https://github.com/HelloZeroNet/ZeroNet.git
cd ZeroNet
python3 -m pip install -r requirements.txt
Запустіть ZeroNet з Yggdrasil:
python3 zeronet.py --tor вимкнути --fileserver_bind [201:18a1:7c80::1]
Створіть новий сайт за допомогою ZeroNet.
4. Node.js + Express.js
Для тих, хто хоче налаштувати кастомну веб-додаток.
Кроки налаштування:
Створіть проект:
mkdir ygg-app && cd ygg-app
npm init -y
npm інсталювати експрес
Створіть сервер:
// server.js
const express = require('express');
const app = express();
app.use(express.static('public'));
app.listen(80, '[201:18a1:7c80::1]', () => {
console.log('Сайт працює в Yggdrasil!');
});
Запустіть програму:
вузол server.js
5. PeerTube
PeerTube може бути використаний для хостингу відео та медіа-сайтів у мережі Yggdrasil.
Кроки:
Встановіть PeerTube, слідуючи офіційної документації.
Налаштуйте його для роботи з Yggdrasil, додавши IPv6-адресу у конфігурацію.
6. GitHub Pages або Netlify через проксі
Якщо ваш сайт вже розміщений на таких платформах, як GitHub Pages, налаштуйте IPv6-проксі-сервер для доступу з Yggdrasil.
Інструменти:
HAProxy абоКедді для проксування трафіку.
Перенаправлення запитів через Yggdrasil.
Підсумок
Для швидкого старту підійдуть Кедді або Докер з NGINX. Для динамічних додатків Node.js. Якщо потрібен P2P-підхід ZeroNet. Вибір залежить від ваших цілей та складності проекту.
Коментарі
Дописати коментар
Олег Мічман в X: «Donations and support for media resources, bloggers, projects, and individuals. https://t.co/HPKsNRd4Uo https://t.co/R6NXVPK62M» / X
https://twitter.com/olukawy/status/1703876551505309973