В двух словах, TON — открытая децентрализованная сеть. Эта такая сеть, в которой нельзя просто так заблокировать какой-либо ресурс, но с другой стороны, для того, чтобы пользоваться данной сетью, нужно устанавливать специальный прокси. В данной инструкции мы рассмотрим настройку такого прокси со стороны веб-сервера, который должен отдавать содержимое сайта в сети TON.
Предполагается, что у нас уже есть сервер, который возвращает сайт по http. Полезные ссылки по настройке собственного веб-сервера будут приведены в конце инструкции.
Предварительная настройка
Настройка TON-прокси на сервере
Проверка подключения
Дополнительная информация
Прокси на сервере будет принимать запросы по портам 3333/udp и 8080/tcp. Нам необходимо открыть их на фаерволе.
В зависимости от утилиты, которая используется для управления межсетевым экраном, наши команды будут отличаться.
а) Iptables (как правило, в системах DEB):
iptables -I INPUT -p udp —dport 3333 -j ACCEPT
iptables -I INPUT -p tcp —dport 8080 -j ACCEPT
Для сохранения правил используем iptables-persistent:
apt install iptables-persistent
netfilter-persistent save
б) Firewalld (как правило, в системах RPM):
firewall-cmd —permanent —add-port=3333/udp
firewall-cmd —permanent —add-port=8080/tcp
firewall-cmd —reload
Прокси TON разворачивается как Docker-процесс. Для этого нам необходимо установить Docker и docker-compose.
Подробнее об этом читайте в инструкции Установка Docker на Linux .
Разработчик предоставляет готовые сценарии docker-compose для запуска прокси. Скачиваем их командой:
git clone https://github.com/kdimentionaltree/ton-proxy-docker.git
Если наша система вернет ошибку, что команды git не существует, необходимо установить одноименный пакет одной из команд (в зависимости от типа системы):
apt install git
yum install git
Перенесем загруженный каталог в папку /opt:
mv ton-proxy-docker /opt/ton-proxy
И перейдем в нее:
cd /opt/ton-proxy
Откроем на редактирование docker-compose файл:
vi docker-compose.yaml
Немного его отредактируем:
services:
rldp-proxy:
…
container_name: rldp-http-proxy
restart: unless-stopped
…
networks:
vpcbr:
ipv4_address: 172.20.0.2
…
networks:
vpcbr:
driver: bridge
ipam:
config:
— subnet: 172.20.0.0/24
gateway: 172.20.0.1
* где:
Подробные примеры работы с docker-compose в инструкции Шпаргалка по работе с docker-compose .
Выполним сборку docker образа:
docker-compose build
Выполним инициализацию — создадим сетевой абстрактный адрес ADNL:
./init.sh
Мы должны увидеть что-то на подобие:
ADNL_HEX: 4972B963E8CE28E93B6EC5157C1685AB408B7F5829D76A94DBAA7E84F18D9C21, ADNL: vexfold5dhcr2j3n3frk7awqwvubc67lau5o2uu3o3h5bhrrwocdfp3
* ADNL используется для прямого перехода по данному адресу. ADNL_HEX нужен для привязки абстрактного адреса к доменному имени в зоне ton.
Фиксируем данные значения.
При необходимости, данный адрес можно посмотреть еще раз, открыв файл adnl в каталоге private :
cat private/adnl
Теперь открываем файл:
vi .env
И редактируем несколько строк:
TON_PROXY_PORT=8080
TON_PROXY_SERVER_IP=95.95.95.95
TON_PROXY_ADNL_PORT=3333
TON_PROXY_REMOTE_ADDR=»172.20.0.1:80″
TON_PROXY_VERBOSITY=3
TON_PROXY_PROXY_ALL=NO
* где:
Все готово, чтобы запустить наш контейнер:
docker-compose up -d
Мы можем перейти по ADNL-адресу в нашем браузере. Но чтобы он мог работать с данной адресацией, необходимо установить плагин.
Есть различные программы для решения данной задачи. Приведем пример работы с MyTonWallet. Это расширение существует для различных браузеров. Его установка выполняется штатным образов через магазин расширений.
Для включения прокси, открываем настройки и проверяем, чтобы настройка TON Proxy была в положении «Включено»:
Теперь в адресной строке браузера вводим адрес adnl, который был нами получен при его инициализации — http://vexfold5dhcr2j3n3frk7awqwvubc67lau5o2uu3o3h5bhrrwocdfp3.adnl .
Если настройки выполнены корректно, мы должны увидеть наш сайт.
Другие полезные инструкции:
1. Полноценный веб-сервер на CentOS 7 .
2. Полноценный веб-сервер на Rocky Linux / CentOS 8 .
3. Полноценный веб-сервер на Ubuntu .
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…