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 – експериментальної мережі на основі технології маршрутизації на базі графів.

  1. Якість коду:

    • Автор зазначає простоту структури коду Yggdrasil, що полегшує його аналіз та модифікацію.

    • Використання Go як мови програмування полегшує супровід проекту.

  2. Безпека:

    • Yggdrasil забезпечує захищену маршрутизацію, покладаючись на криптографічні методи.

    • Обговорюються потенційні уразливості, пов'язані з доступом до відкритих вузлів мережі.

  3. DNS та інтеграція:

    • Розглядається обмеженість у роботі з DNS через специфіку побудови мережі.

    • Автор пропонує рішення для покращення роботи з доменними іменами у Yggdrasil.

  4. Висновки:

    • Yggdrasil — перспективна технологія, але потребує значних доробок у сфері масштабованості, безпеки та зручності для кінцевого користувача.

Теги: #Yggdrasil #Мережа #Безпека #DNS #Технології



Релізи · zhoreeq/meshname

https://github.com/zhoreeq/meshname/releases



Приклад створення сайту у мережі Yggdrasil

Мережа Yggdrasil дозволяє запускати сайти в децентралізованому та зашифрованому середовищі. Для цього використовуються вбудовані механізми маршрутизації та підтримка IPv6.

1. Підготовка до роботи

  1. Установка Yggdrasil
    Завантажте та налаштуйте Yggdrasil для вашої системи, слідуючи офіційної документації.

Перевірка підключення
Переконайтеся, що вузол працює коректно. Для цього використовуйте команду:

yggdrasilctl getPeers

  1.  Ви маєте бачити активні з'єднання.

Отримання адреси
Після запуску вузла Yggdrasil ви отримаєте унікальну IPv6-адресу, наприклад:

201:18a1:7c80::1



2. Налаштування веб-сервера

  1. Встановлення веб-сервера
    Для запуску сайту в 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]


  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


  1. Підніміть сайт через 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]


  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.

Кроки:

  1. Встановіть PeerTube, слідуючи офіційної документації.

  2. Налаштуйте його для роботи з Yggdrasil, додавши IPv6-адресу у конфігурацію.


6. GitHub Pages або Netlify через проксі

Якщо ваш сайт вже розміщений на таких платформах, як GitHub Pages, налаштуйте IPv6-проксі-сервер для доступу з Yggdrasil.

Інструменти:

  • HAProxy абоКедді для проксування трафіку.

  • Перенаправлення запитів через Yggdrasil.


Підсумок

Для швидкого старту підійдуть Кедді або Докер з NGINX. Для динамічних додатків Node.js. Якщо потрібен P2P-підхід ZeroNet. Вибір залежить від ваших цілей та складності проекту.


Просмотры:

Коментарі

Популярні публікації