как сетапнуть свой .ton домен
starkow★dev | winterfall★tonпривет! интересуешься тем, как сделать свой сайт на .ton домене? в этом "гайде" я постараюсь обьяснить подетально то, как это устроить. это немного сложнее, чем сетапнуть обычный сайт, так что новичкам к сожалению тут не очень рады
установка
проводить все это будем (как минимум я все это делал) на линуксе, конкретно на WSL (Ubuntu 22.04.4 LTS):
- качаем последнюю версию тулзы из релизов, выбрав свою архитектуру (
linux-amd64если x64_86,linux-arm64если arm) - выдаём файлу право на исполнение:
chmod +x tonutils-reverse-proxy-linux-amd64 - запускаем, указав свой домен:
./tonutils-reverse-proxy-linux-amd64 --domain YOUR-DOMAIN.ton, гдеYOUR-DOMAIN.tonзаменяем на, очевидно, твой NFT .ton домен - если всё получилось успешно, появится QR-код, тебе надо будет его просканировать в своём кошельке (например, в tonkeeper), и подтвердить транзакцию
- поздравляю! твой .ton домен теперь live и через некоторое время (когда ADNL + DHT обновятся) можно будет осматривать его вживую в телеграм клиентах
так как этот процесс не запускается автоматически на фоне, и его надо держать открытым, рекомендую попробовать какой-нибудьtmuxилиscreen
я лично сделалtmux new -s YOUR-DOMAINи ввел команду (чтобы выйти прожмиCtrl+Bа потомD)
теперь сервер будет открыт всегда
чтобы зайти обратно вtmux, пропишиtmux attach -t YOUR-DOMAIN
можно ли как-то проверить работоспособность .ton домена?
можно! curl -x http://in2.ton.org:8080 http://YOUR-DOMAIN.ton/. если всё хорошо, ответ данной команды должен выдавать ваш html
несколько доменов на одном ADNL
если у тебя есть несколько доменов .ton и ты хочешь поместить их на один ADNL (как у меня, например: алех.ton + winterfall.ton), то всё, что тебе нужно сделать, это ещё раз запустить команду с новым доменом: ./tonutils-reverse-proxy-linux-amd64 --domain YOUR-NEW-DOMAIN.ton. как только вылезет сообщение о том, что YOUR-NEW-DOMAIN.ton успешно прилинкован к ADNL, можно выключать скрипт. важно, чтобы хотя бы один реверс прокси сервер работал всегда, но на нём можно крутить несколько доменов!
фикс некоторых проблем
Failed to configure domain YOUR-DOMAIN.ton : failed to run dnsresolve method: lite server error, code 651: too big masterchain block seqno
мастерчейн перегружен, надо поменять лайтсервер
зайди в ту же папку, где у тебя лежит tonutils-reverse-proxy-linux-amd64, там появится config.json после первого запуска
отредактируй config.json: поменяй network_config_url на https://tonutils.com/ls/free-mainnet-config.json
после этого всё должно заработать!
прошло некоторое время, открываю YOUR-DOMAIN.ton, а там Произошла ошибка, хотя в консоли никаких ошибок нет (или даже пишет логи запросов)
если ты с айоса, то разрабы айос клиента дебилы, у них в случайные моменты выкидываются ошибки (подтверждено самими разрабами в личке). пробуй не на айосе, а на десктопе, на андроиде — если проблема всё ещё осталась, значит попробуй перезагрузить ADNL + DHT.
что такое перезагрузить ADNL? пересоздать config.json, то есть удалить его (rm -rf config.json) и запустить tonutils-reverse-proxy-linux-amd64 с параметрами заново и подтвердить транзакцию, так ADNL зарегистрируется где-то там и начнётся процесс.
что такое перезагрузить DHT? просто подождать настройки после активации ADNL, там в логах даже должно появиться что-то типа DHT ADNL address record for TON Site was refreshed successfully on 11 nodes to ip YOUR.IP.ADDRESS.HERE with port PORT
настройки config.json
proxy_pass— то, куда будет ADNL (то есть локальный сервер-резольвер) отправлять запросы на получение данных (HTML + CSS + JS + все че у тебя там есть). по дефолтуhttp://127.0.0.1:80/, то есть при заходе наYOUR-DOMAIN.tonлокальный сервер будет кидать запросы наhttp://127.0.0.1:80/и полученные данные отдавать телеграмуport— порт локального сервера-резольвера ADNL, если поменять его выше шанс что DHT быстрее перекэшируются
всё остальное лучше не трогать если итак непонятно за что они отвечают
всем спасибо за просмотр подписывайтесь заходите ставьте лайки колокольчик