- Регистрация
- 31.12.2019
- Сообщения
- 7,535
- Реакции
- 36
Пошаговая инструкция по настройке прокси для доступа к TON Sites и созданию новых TON Sites
Целью этой статьи является подробное ознакомление с TON Sites, доступ к которым осуществляется через блокчейн TON. TON Sites могут использоваться в качестве удобной точки входа для других TON Services. В частности, HTML-страницы, загруженные с TON Sites, могут содержать ссылки ton://, представляющие платежи, которые могут быть выполнены пользователем при условии, что на устройстве пользователя установлен TON Wallet.
С технической точки зрения TON Sites похожи на обычные веб-сайты, но доступ к ним осуществляется через сеть Telegram Open Network, которая представляет собой оверлейную сеть внутри Интернета, а не через Интернет. Более конкретно, у сайтов есть адрес ADNL (вместо более привычного адреса IPv4 или IPv6), и TON Sites принимают запросы HTTP через протокол RLDP (который является протоколом RPC более высокого уровня, основанным на ADNL, главном протоколе сети TON) вместо обычного TCP/IP протокола. Все шифрование обрабатывается ADNL, поэтому нет необходимости использовать HTTPS.
Для доступа к существующим TON Sites и для создания новых сайтов TON необходимы специальные шлюзы между классическим Интернетом и сетью TON. По сути, доступ к сайтам TON осуществляется с помощью HTTP -> RLDP-прокси, работающего локально на клиентской машине, и они создаются с помощью обратного RLDP -> HTTP-прокси, работающего на удаленном веб-сервере.
1. Компиляция RLDP-HTTP прокси
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RLDP-HTTP Proxy - это специальная утилита, специально разработанная для доступа к TON Sites и для создания сайтов TON. Его текущая (альфа) версия является частью общего исходного кода TON Blockchain, доступного в официальном GitHub github.com/ton-blockchain/ton Чтобы скомпилировать RLDP-HTTP прокси, следуйте инструкциям. Двоичный файл прокси будет расположен как:
В каталоге сборки. В качестве альтернативы, вы можете захотеть создать только Proxy, а не все проекты TON Blockchain. Это можно сделать, вызвав
в каталоге сборки.
2. Запуск RLDP-HTTP прокси для доступа к TON Sites (TON Web)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Чтобы получить доступ к существующим TON-сайтам, вам нужен работающий экземпляр RLDP-HTTP Proxy на вашем компьютере. Это может быть вызвано следующим образом:
или
где <your_public_ip> - ваш общедоступный IPv4-адрес на вашем домашнем компьютере. Конфигурационный файл
можно скачать по адресу https://test.ton.org/ton-global.config.json
В приведенном выше примере 8080 - это порт TCP, который будет прослушиваться на локальном узле для входящих HTTP-запросов, а 3333 - это UDP порт, который будет использоваться для всех исходящих и входящих операций RLDP и ADNL, то есть для подключения к TON Sites через TON Network.
Если вы все сделали правильно, прокси не прекратит работу, но продолжит работу в терминале. Теперь его можно использовать для доступа к TON Sites. Когда вам это больше не нужно, можете остановить его нажав Ctrl-C или просто закрыв окно терминала.
3. Доступ к TON Sites
~~~~~~~~~~~~~~~~~~~~~~
Предположим что у вас есть запущенный RLDP-HTTP Proxy, работающий на вашем компьютере и прослушивающий localhost: 8080 для входящих TCP-соединений, как описано выше
Простой тест, что все рабочие свойства могут быть выполнены с использованием таких программ как Curl или WGet. К примеру:
пытается загрузить главную страницу (TON) сайта
используя прокси
Если прокси запущен и работает, вы увидите что-то вроде
потому что TON Site
в настоящее время настроен как зеркало веб-сайта https://test.ton.org
Кроме того, вы можете настроить
в качестве HTTP-прокси в вашем браузере. Например, если вы используете Firefox, зайдите в [Setup] -> General -> Network Settings -> Settings -> Configure Access Proxy -> Manual Proxy configuration и введите "127.0.0.1" в поле "HTTP Proxy", и "8080" в поле "Port".
После того как вы настроили
в качестве HTTP-прокси для использования в вашем браузере, вы можете просто ввести требуемый URI, такой как http://test.ton в адресной строке вашего браузера и взаимодействовать с TON Web так же, как с обычными веб-сайтами.
4. Создание TON Sites
~~~~~~~~~~~~~~~~~~~~~
Если вы хотите создать сайт в сети TON, вам нужно запустить RLDP-HTTP Proxy на вашем сервере вместе с обычным программным обеспечением веб-сервера, таким как Apache или Nginx.
Мы предполагаем, что вы уже знаете, как настроить обычный веб-сайт, и что вы уже настроили его на своем сервере, принимая входящие HTTP-соединения через TCP-порт <your-server-ip>: 80 и определение необходимого TON Network domain name, скажем, example.ton, в качестве основного доменного имени или алиаса для вашего веб-сайта в конфигурации вашего веб-сервера.
После этого вы выполняете
в фоновом режиме (вы можете сначала попробовать это в терминале, но если вы хотите, чтобы ваш сайт TON работал постоянно, вам придется также использовать опции -d и -l <log-file>).
Если все работает правильно, RLDP-HTTP прокси будет принимать входящие HTTP-запросы из сети TON через RLDP/ADNL, работающие через UDP-порт 3333 (конечно, вы можете использовать любой другой UDP-порт, если хотите) с IPv4-адресом <ваш- server-ip> (в частности, если вы используете firewall не забудьте разрешить rldp-http-proxy принимать и отправлять UDP-пакеты с этого порта), и он будет перенаправлять эти HTTP-запросы, адресованные хосту
к TCP-порту 80 на 127.0.0.1, т. е. к обычному веб-серверу.
Вы можете зайти на TON Site
Оригинал: https://test.ton.org/TonSites-HOWTO.txt
Спасибо за перевод: tontalk.org/threads/198/
Целью этой статьи является подробное ознакомление с TON Sites, доступ к которым осуществляется через блокчейн TON. TON Sites могут использоваться в качестве удобной точки входа для других TON Services. В частности, HTML-страницы, загруженные с TON Sites, могут содержать ссылки ton://, представляющие платежи, которые могут быть выполнены пользователем при условии, что на устройстве пользователя установлен TON Wallet.
С технической точки зрения TON Sites похожи на обычные веб-сайты, но доступ к ним осуществляется через сеть Telegram Open Network, которая представляет собой оверлейную сеть внутри Интернета, а не через Интернет. Более конкретно, у сайтов есть адрес ADNL (вместо более привычного адреса IPv4 или IPv6), и TON Sites принимают запросы HTTP через протокол RLDP (который является протоколом RPC более высокого уровня, основанным на ADNL, главном протоколе сети TON) вместо обычного TCP/IP протокола. Все шифрование обрабатывается ADNL, поэтому нет необходимости использовать HTTPS.
Для доступа к существующим TON Sites и для создания новых сайтов TON необходимы специальные шлюзы между классическим Интернетом и сетью TON. По сути, доступ к сайтам TON осуществляется с помощью HTTP -> RLDP-прокси, работающего локально на клиентской машине, и они создаются с помощью обратного RLDP -> HTTP-прокси, работающего на удаленном веб-сервере.
1. Компиляция RLDP-HTTP прокси
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RLDP-HTTP Proxy - это специальная утилита, специально разработанная для доступа к TON Sites и для создания сайтов TON. Его текущая (альфа) версия является частью общего исходного кода TON Blockchain, доступного в официальном GitHub github.com/ton-blockchain/ton Чтобы скомпилировать RLDP-HTTP прокси, следуйте инструкциям. Двоичный файл прокси будет расположен как:
Код:
rldp-http-proxy/rldp-http-proxy
В каталоге сборки. В качестве альтернативы, вы можете захотеть создать только Proxy, а не все проекты TON Blockchain. Это можно сделать, вызвав
Код:
cmake --build. --ttarget rldp-http-proxy
в каталоге сборки.
2. Запуск RLDP-HTTP прокси для доступа к TON Sites (TON Web)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Чтобы получить доступ к существующим TON-сайтам, вам нужен работающий экземпляр RLDP-HTTP Proxy на вашем компьютере. Это может быть вызвано следующим образом:
Код:
rldp-http-proxy / rldp-http-proxy -p 8080 -c 3333 -C ton-global.config.json
или
Код:
rldp-http-proxy / rldp-http-proxy -p 8080 -a <your_public_ip>: 3333 -C ton-global.config.json
где <your_public_ip> - ваш общедоступный IPv4-адрес на вашем домашнем компьютере. Конфигурационный файл
Код:
ton-global.config.json
можно скачать по адресу https://test.ton.org/ton-global.config.json
Код:
wget https://test.ton.org/ton-global.config.json
В приведенном выше примере 8080 - это порт TCP, который будет прослушиваться на локальном узле для входящих HTTP-запросов, а 3333 - это UDP порт, который будет использоваться для всех исходящих и входящих операций RLDP и ADNL, то есть для подключения к TON Sites через TON Network.
Если вы все сделали правильно, прокси не прекратит работу, но продолжит работу в терминале. Теперь его можно использовать для доступа к TON Sites. Когда вам это больше не нужно, можете остановить его нажав Ctrl-C или просто закрыв окно терминала.
3. Доступ к TON Sites
~~~~~~~~~~~~~~~~~~~~~~
Предположим что у вас есть запущенный RLDP-HTTP Proxy, работающий на вашем компьютере и прослушивающий localhost: 8080 для входящих TCP-соединений, как описано выше
Простой тест, что все рабочие свойства могут быть выполнены с использованием таких программ как Curl или WGet. К примеру:
Код:
curl -x 127.0.0.1:8080 http://test.ton
пытается загрузить главную страницу (TON) сайта
Код:
test.ton
используя прокси
Код:
127.0.0.1: 8080
Если прокси запущен и работает, вы увидите что-то вроде
HTML:
<HTML>
<H2> TON Blockchain Test Network & mdash; файлы и ресурсы </ H2>
<H3> Новости </ H3>
<UL>
...
</ HTML>
потому что TON Site
Код:
test.ton
в настоящее время настроен как зеркало веб-сайта https://test.ton.org
Кроме того, вы можете настроить
Код:
localhost: 8080
в качестве HTTP-прокси в вашем браузере. Например, если вы используете Firefox, зайдите в [Setup] -> General -> Network Settings -> Settings -> Configure Access Proxy -> Manual Proxy configuration и введите "127.0.0.1" в поле "HTTP Proxy", и "8080" в поле "Port".
После того как вы настроили
Код:
localhost: 8080
в качестве HTTP-прокси для использования в вашем браузере, вы можете просто ввести требуемый URI, такой как http://test.ton в адресной строке вашего браузера и взаимодействовать с TON Web так же, как с обычными веб-сайтами.
4. Создание TON Sites
~~~~~~~~~~~~~~~~~~~~~
Если вы хотите создать сайт в сети TON, вам нужно запустить RLDP-HTTP Proxy на вашем сервере вместе с обычным программным обеспечением веб-сервера, таким как Apache или Nginx.
Мы предполагаем, что вы уже знаете, как настроить обычный веб-сайт, и что вы уже настроили его на своем сервере, принимая входящие HTTP-соединения через TCP-порт <your-server-ip>: 80 и определение необходимого TON Network domain name, скажем, example.ton, в качестве основного доменного имени или алиаса для вашего веб-сайта в конфигурации вашего веб-сервера.
После этого вы выполняете
Код:
rldp-http-proxy -a <ваш-сервер-ip>: 3333 -L example.ton -C ton-global.config.json
в фоновом режиме (вы можете сначала попробовать это в терминале, но если вы хотите, чтобы ваш сайт TON работал постоянно, вам придется также использовать опции -d и -l <log-file>).
Если все работает правильно, RLDP-HTTP прокси будет принимать входящие HTTP-запросы из сети TON через RLDP/ADNL, работающие через UDP-порт 3333 (конечно, вы можете использовать любой другой UDP-порт, если хотите) с IPv4-адресом <ваш- server-ip> (в частности, если вы используете firewall не забудьте разрешить rldp-http-proxy принимать и отправлять UDP-пакеты с этого порта), и он будет перенаправлять эти HTTP-запросы, адресованные хосту
Код:
example.ton
к TCP-порту 80 на 127.0.0.1, т. е. к обычному веб-серверу.
Вы можете зайти на TON Site
Код:
http://example.ton
Оригинал: https://test.ton.org/TonSites-HOWTO.txt
Спасибо за перевод: tontalk.org/threads/198/