Я создал простой сайт .onion, но вместо того, чтобы браузер Tor отображал мой файл index.html, он отображает мои папки

Это мой первый вопрос, поэтому, пожалуйста, потерпите меня. Я искал ответы на свой вопрос, но не нашел ни одного уникального для моей проблемы.

Недавно я попробовал свои силы в размещении onion-сайта с помощью Python3 и браузера Tor. Я создал каталог с именем tor_service и поместил внутрь простой файл index.html.

Затем я запустил python3 -m http.server --bind 127.0.0.1 8080 в той же папке. Затем я открыл еще одну терминальную сессию и запустил клиент Tor. Я перешел и соответствующим образом изменил файл torrc в разделе скрытых служб, используя порт 8080. Я открыл браузер и перешел на localhost:8080, чтобы убедиться, что все работает. К моему удивлению, я увидел простую веб-страницу, которую написал. Все идет нормально.

Затем я перешел к папке Tor, содержащей имя хоста, чтобы получить уникальный адрес oinion, и, используя cat hostname, получил строку символов, за которой следует .onion.

Я вставил луковый адрес в браузер Tor и снова увидел простую html-страницу, которую написал.

Вот проблема: когда я выключил свой компьютер на ночь, возобновил работу на следующий день и запустил сервер Python и клиент Tor, вместо отображения моей веб-страницы я получил страницу с надписью «Каталог /», которая отображала все папки на моем жестком диске. Очевидно, что это серьезная проблема безопасности. Мало того, что папки на моем жестком диске были выставлены для просмотра в Интернете, все они были гиперссылками.

Я не понимаю, что я сделал не так. Я не модифицировал и не перемещал какие-либо файлы и не менял никаких настроек, а также запустил Python http.server и клиент Tor, как обычно.

Я закрыл окна терминала, открыл новые, но получил те же результаты. В третий раз результат тот же. Я понимаю, что использование сервера Python не является оптимальным методом размещения сайта, но если я не смогу заставить что-то настолько простое работать, я боюсь, что не смогу написать (тем более диагностировать проблемы) более надежный сервер, работающий с использованием более чем одной строки кода.

Я использую подсистему Linux в Windows 10 и последней версии Ubuntu (кажется, 20.4).

Любые указатели приветствуются. Я могу создать и стилизовать красивую веб-страницу, но я хотел бы научиться работать с серверной частью.


person Jerz    schedule 02.02.2021    source источник
comment
Вы ищете этот сайт для использования другими потребителями? Если ваш ответ «да», то я бы предложил вам переосмыслить использование простого HTTP-сервера, предоставляемого Python, поскольку сами владельцы утверждают, что он не подходит для производства: https://docs.python.org/3/library/http.server.html   -  person DhakkanCoder    schedule 02.02.2021


Ответы (1)


Вы уверены, что вернулись в папку проекта в своем терминале?

Если вы используете

python3 -m http.server --bind 127.0.0.1 8080

команда сразу после открытия терминала, она будет запускаться в папке «по умолчанию», а не в папке вашего проекта (вам нужно будет «переместиться» обратно в папку проекта, используя cd).

person mcatee    schedule 06.02.2021
comment
Да, я запускаю сервер из папки моего проекта. Кажется, python не распознает мою страницу index.html, а просто отображает содержимое папки проекта. Я попробовал тот же процесс с нескрытым служебным html-проектом, и индексная страница, кажется, отображается (по какой-то причине без изображений). Я дважды и трижды проверил все пути к файлам, и ошибок нет. - person Jerz; 07.02.2021