Как разместить сайт в сети onion и держать его онлайн 24/7 | Home-Hosted.ru

Полное руководство по размещению вашего сайта в анонимной сети Tor с гарантией постоянной доступности. Узнайте, как создать и поддерживать onion-сайт для максимальной приватности.

Не указано

Установка Tor

Начнем с установки Tor на сервере

# Для Ubuntu/Debian
sudo apt update
sudo apt install tor tor-geoipdb

# Проверяем установку
tor --version

Создание onion-сервиса

Создадим директорию для данных нашего сервиса и настроим Tor

# Создадим директорию для данных нашего сервиса
sudo mkdir -p /var/lib/tor/hidden_service
sudo chown -R debian-tor:debian-tor /var/lib/tor/hidden_service

# Отредактируем конфигурационный файл Tor
sudo nano /etc/tor/torrc

# Добавьте в конец файла:
HiddenServiceDir /var/lib/tor/hidden_service
HiddenServicePort 80 127.0.0.1:8080

# Перезапустим Tor
sudo systemctl restart tor

Получение onion-адреса

После перезапуска Tor ваш onion-адрес будет сгенерирован

# Посмотреть onion-адрес
sudo cat /var/lib/tor/hidden_service/hostname

Настройка веб-сервера Nginx

Установим и настроим Nginx для работы с onion-сервисом

# Установим Nginx
sudo apt install nginx

# Создадим конфигурационный файл
sudo nano /etc/nginx/sites-available/onion-site

# Добавим содержимое:
server {
    listen 8080;
    server_name localhost;
    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

# Включим сайт и проверим конфигурацию
sudo ln -s /etc/nginx/sites-available/onion-site /etc/nginx/sites-enabled/
sudo nginx -t

# Перезапустим Nginx
sudo systemctl restart nginx

Настройка веб-сервера Apache

Альтернативный вариант с использованием Apache

# Установим Apache
sudo apt install apache2

# Создадим конфигурационный файл
sudo nano /etc/apache2/sites-available/onion-site.conf

# Добавим содержимое:
<VirtualHost *:8080>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# Включим сайт и проверим конфигурацию
sudo a2ensite onion-site.conf
sudo apache2ctl configtest

# Перезапустим Apache
sudo systemctl restart apache2

Размещение контента

Поместите файлы вашего сайта в веб-директорию

# Для Nginx и Apache
sudo cp -r your-site-files/* /var/www/html/

Поддержание онлайн 24/7

Используем systemd для автоматического запуска и перезапуска сервиса

# Создадим unit-файл
sudo nano /etc/systemd/system/onion-service.service

# Добавим содержимое:
[Unit]
Description=Onion Service
After=network.target tor.service

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/html
ExecStart=/usr/bin/nginx -g 'daemon off;'
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

# Включим и запустим сервис
sudo systemctl daemon-reload
sudo systemctl enable onion-service
sudo systemctl start onion-service

Мониторинг статуса

Настраиваем мониторинг для отслеживания работы сервиса

# Проверяем статус сервиса
sudo systemctl status onion-service

# Просмотр логов
sudo journalctl -u onion-service -f

Безопасность

Настраиваем базовые параметры безопасности

# Обновим систему
sudo apt update && sudo apt upgrade -y

# Настроим брандмауэр
sudo ufw allow ssh
sudo ufw allow 8080/tcp
sudo ufw enable

# Отключим ненужные сервисы
sudo systemctl disable --now avahi-daemon
sudo systemctl disable --now cups-browsed

Резервное копирование

Создаем систему резервного копирования данных

# Создадим скрипт для резервного копирования
sudo nano /usr/local/backup-onion.sh

# Добавим содержимое:
#!/bin/bash

DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/var/backups/onion"
ONION_DIR="/var/lib/tor/hidden_service"
WEB_DIR="/var/www/html"

# Создаем директорию для бэкапов
mkdir -p "$BACKUP_DIR"

# Бэкапим данные onion-сервиса
tar -czf "$BACKUP_DIR/onion_$DATE.tar.gz" "$ONION_DIR"

# Бэкапим веб-файлы
tar -czf "$BACKUP_DIR/web_$DATE.tar.gz" "$WEB_DIR"

# Удаляем бэкапы старше 7 дней
find "$BACKUP_DIR" -type f -mtime +7 -delete

# Делаем скрипт исполняемым
sudo chmod +x /usr/local/backup-onion.sh

# Добавляем в cron для ежедневного выполнения
0 2 * * * /usr/local/backup-onion.sh