06.06.2023

Простой http сервер на Python

Доброго вечера, друзья! Сегодня у нас тема о создании локального соединения меду двумя компьютерами что находятся в одной домашней сети. К примеру скажем есть у нас в наличии два компьютера, и подключены они к сети от одного маршрутизатора, у одного ip адресс 192.168.0.18 , а у другого 192.168.0.19. Этот вопрос можно решить несколькими путями, и один из самых очевидных путей это поднять на одном из них FTP сервер, а на втором задействовать программу Filezilla, и через нее получить доступ к файловой системе первого компьютера. Я попробовал поднять ftp сервер Pure ftpd, но что-то никак не смог осилить в его правильные настройки, и получилось так что в итоге получил полный доступ , к серверной машине да еще и с root правами. Я сказал себе ,- «Влад , это не есть «gut»» ! Попутно что-то слегка сломалось в системе (что честно не помню, это было где-то около года назад),-«не-е-т брат такой танец нам не нужен»,-подумал я, и стал искать другое решение. И нашел очень интересную утилиту на python-e, к сожалению python 2-й версии, но в репозиториях Debian он есть, и потому я поспешил этим воспользоваться. В стандартном python есть в наличии простой http сервер, но он позволяет задать только порт , а вот имя пользователя и пароль нет, расширенный скрипт в котором был устранен сей недостаток , вернее скрипт был дополнен этим функционалом был взят отсюда https://gist.github.com/fxsjy/5465353 , вы можете скопировать код и сохранить его с расширением *.py, либо скачать отсюда https://disk.yandex.ru/d/8FqIsqmJQeWg9g .Теперь чтоб

запустить http сервер, достаточно запустит в терминале следующую команду

python2 ‘/home/ваш_пользователь/полный_путь_до_скрипта/SimpleAuthServer.py’ 2725 Imia_user:paroli_dostupa

где 2725 это порт через который производится соединение а дальше вроде всё и так ясно.

Для упрощения в использования то есть для удобства я написал простой скрипт https://disk.yandex.ru/d/S7RXv_pFwSKXOg в котором вы можете поменять порт (в скрипте он задан цифрами, и это 2725) а так же имя пользователя которое запросит у вас браузер при подключении к Http серверу, и пароль доступа…

Теперь смотрим любым удобным образом, Ip адрес вашей машины, на моей машине я просто навожу курсор на значок сетевого соединения в трее, и если удержать курсор то во всплывающей подсказке вы можете прочитать ваш ip адресс, а также если нажать правой кнопкой мыши на этот значок то в подпункте информация о соединении, можно найти ваш ip адресс, либо совершенно неожиданный метод, откройте writer от libreoffice и начните писать слово адр и во всплывающей подсказке автодополнения появится ваш ip адресс. Теперь зная ip адресс на машине с которой желаем произвести подключение, открываем браузер и в адресной строке вводим наш ip адрес а также через : порт, должно получится что то похожее, 192.168.0.18:2725

Далее браузер предложит ввести логин и пароль, введите тот логин и пароль что вы выбрали в скрипте управления python скриптом…

Особенности использования. В скрипте на bash для управления python скриптом, вы должны писать полный путь,никаких условных путей python скрипт не принимает, python скрипт покажет лишь те файлы из каталога который он был запущен… Вот такую интересную и полезную тему мы сегодня расмотрели. Спасибо за внимание

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Источник.