unified: Phantom Protocol 2025 complete archive integration
This commit is contained in:
121
release/Dockerfile.hidden-service
Normal file
121
release/Dockerfile.hidden-service
Normal file
@@ -0,0 +1,121 @@
|
||||
# Phantom Hidden Service - Специализированный контейнер для .phantom сайтов
|
||||
FROM ubuntu:22.04
|
||||
|
||||
LABEL maintainer="Phantom Protocol Team 2025"
|
||||
LABEL description="Phantom Hidden Service - Анонимные веб-сервисы"
|
||||
LABEL version="2.0.0"
|
||||
|
||||
# Установка зависимостей
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential \
|
||||
libssl-dev \
|
||||
libxml2-dev \
|
||||
libprotobuf-c-dev \
|
||||
protobuf-c-compiler \
|
||||
nginx \
|
||||
apache2-utils \
|
||||
iproute2 \
|
||||
iptables \
|
||||
net-tools \
|
||||
curl \
|
||||
wget \
|
||||
vim \
|
||||
htop \
|
||||
python3 \
|
||||
python3-pip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Установка Python зависимостей для веб-приложений
|
||||
RUN pip3 install flask gunicorn requests
|
||||
|
||||
# Создание пользователя phantom
|
||||
RUN useradd -r -s /bin/false -d /var/lib/phantom phantom && \
|
||||
mkdir -p /var/lib/phantom /var/log/phantom /etc/phantom && \
|
||||
chown -R phantom:phantom /var/lib/phantom /var/log/phantom /etc/phantom
|
||||
|
||||
# Копирование исходного кода
|
||||
COPY src/ /usr/src/phantom/
|
||||
COPY protos/ /usr/src/phantom/protos/
|
||||
|
||||
# Компиляция Phantom Hidden Service
|
||||
WORKDIR /usr/src/phantom
|
||||
RUN make clean && \
|
||||
make phantom-hidden-service && \
|
||||
cp phantom-hidden-service /usr/local/bin/ && \
|
||||
chmod +x /usr/local/bin/phantom-hidden-service
|
||||
|
||||
# Копирование конфигурационных файлов
|
||||
COPY docker/configs/hidden-service/ /etc/phantom/
|
||||
COPY docker/scripts/hidden-service/ /usr/local/bin/
|
||||
COPY docker/web-templates/ /var/lib/phantom/web-templates/
|
||||
|
||||
# Настройка Nginx для Hidden Service
|
||||
COPY docker/nginx/hidden-service.conf /etc/nginx/sites-available/default
|
||||
RUN nginx -t
|
||||
|
||||
# Создание директорий для данных
|
||||
RUN mkdir -p /var/lib/phantom/hidden-service/keys \
|
||||
/var/lib/phantom/hidden-service/descriptors \
|
||||
/var/lib/phantom/hidden-service/intro-points \
|
||||
/var/lib/phantom/hidden-service/www \
|
||||
/var/log/phantom/hidden-service
|
||||
|
||||
# Создание примера веб-сайта
|
||||
COPY docker/sample-sites/phantom-welcome/ /var/lib/phantom/hidden-service/www/
|
||||
|
||||
# Настройка прав доступа
|
||||
RUN chown -R phantom:phantom /var/lib/phantom /var/log/phantom /etc/phantom && \
|
||||
chown -R www-data:www-data /var/lib/phantom/hidden-service/www && \
|
||||
chmod +x /usr/local/bin/phantom-hs-start.sh && \
|
||||
chmod +x /usr/local/bin/phantom-hs-healthcheck.sh && \
|
||||
chmod +x /usr/local/bin/phantom-hs-keygen.sh
|
||||
|
||||
# Открытие портов
|
||||
EXPOSE 80/tcp # HTTP сервер
|
||||
EXPOSE 443/tcp # HTTPS сервер (если используется)
|
||||
EXPOSE 8080/tcp # Управление Hidden Service
|
||||
EXPOSE 9080/tcp # Мониторинг
|
||||
|
||||
# Переменные окружения
|
||||
ENV PHANTOM_HS_NAME=phantom-site
|
||||
ENV PHANTOM_HS_PORT=80
|
||||
ENV PHANTOM_HS_LOCAL_ADDR=127.0.0.1
|
||||
ENV PHANTOM_HS_LOCAL_PORT=80
|
||||
ENV PHANTOM_HS_INTRO_POINTS=3
|
||||
ENV PHANTOM_HS_LOG_LEVEL=INFO
|
||||
ENV PHANTOM_KADEMLIA_PORT=6881
|
||||
|
||||
# Health check
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \
|
||||
CMD /usr/local/bin/phantom-hs-healthcheck.sh
|
||||
|
||||
# Создание скрипта запуска
|
||||
RUN cat > /usr/local/bin/start-hidden-service.sh << 'EOF'
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Запуск Nginx
|
||||
service nginx start
|
||||
|
||||
# Генерация ключей если их нет
|
||||
if [ ! -f /var/lib/phantom/hidden-service/keys/private_key ]; then
|
||||
echo "Генерация ключей Hidden Service..."
|
||||
/usr/local/bin/phantom-hs-keygen.sh
|
||||
fi
|
||||
|
||||
# Запуск Phantom Hidden Service
|
||||
exec /usr/local/bin/phantom-hs-start.sh "$@"
|
||||
EOF
|
||||
|
||||
RUN chmod +x /usr/local/bin/start-hidden-service.sh
|
||||
|
||||
# Переключение на пользователя phantom
|
||||
USER phantom
|
||||
|
||||
# Рабочая директория
|
||||
WORKDIR /var/lib/phantom
|
||||
|
||||
# Точка входа
|
||||
ENTRYPOINT ["/usr/local/bin/start-hidden-service.sh"]
|
||||
CMD ["--config", "/etc/phantom/hidden-service.conf"]
|
||||
|
||||
Reference in New Issue
Block a user