Общий доступ к файлам с помощью Python
Views
Actions
Namespaces
Variants
Tools
Введение
Существует множество способов совместного использования файлов в сети. Samba обычно используется для межсетевого обмена. Эти методы проще и быстрее настроить. Их можно использовать для обмена файлами между компьютером, смартфоном или планшетом.
Вы можете поделиться с:
- OSX
- Windows
- Android
он будет работать на всех платформах.
Он предназначен для ситуаций, когда вам нужно быстро поделиться чем-то, и не рекомендуется в качестве части вашей обычной инфраструктуры.
Установка
В этом и заключается его прелесть - ничего не нужно устанавливать. Этот метод будет работать прямо из коробки, потому что Manjaro поставляется с Python 3, позволяющий легко и быстро обмениваться файлами в вашей сети.
Использование
Откройте терминал на компьютере, содержащем файлы, которыми вы хотите поделиться, перейдите в каталог, где находятся файлы, которыми вы хотите поделиться, например ˝/home; затем введите:
python -m http.server
Теперь перейдите на компьютер, телефон или вкладку, на которую должны прийти файлы, и откройте браузер.
.
В поле url браузера введите
http://IP_общедоступного_компьютера:8000
Чтобы найти IP-адрес компьютера, с которого вы хотите открыть общий доступ, введите:
ip addr
Что-то вроде этого:
http://192.168.55.123:8000
В результате будет выведен список всех файлов в каталоге компьютера с общим доступом.:
Теперь вы можете скачивать или открывать файлы. - Это так просто.
Обмен с других систем с вашим компьютером с Manjaro
Поскольку вы можете захотеть поделиться файлами с других компьютеров с вашим компьютером Manjaro; они могут иметь Python2 (Это относится к Debian, Mageia и некоторым другим дистрибутивам. В Windows вам нужно будет сначала установить Python).
Здесь нужно написать другую команду. Откройте терминал и напишите:
python -m SimpleHTTPServer
Перейдите на компьютер с Manjaro и откройте url как описано выше, и вы получите доступ к файлам.
Если вы хотите использовать другой порт, а не 8000 по умолчанию - например, 9000 - вы можете ввести его следующим образом:
python -m http.server 9000
Остановка сервера
После того, как вы поделились файлами, просто остановите сервер с помощью команды
CTRL+c
Это же так просто!
Некоторые замечания напоследок
Этот сервер будет жить в вашем терминале и занимать его до тех пор, пока вы его не завершите. Вы можете видеть каждую транзакцию. Вы можете делиться только с одним компьютером в один промежуток времени. Это быстрое и супер простое решение для такой задачи.
.
Создание постоянного файлового сервера (все еще простой способ)
Вы не должны использовать приведенное выше решение для общего доступа (на постоянной основе) на машине, подключенной к Интернету. Это позволит быстро и легко предоставить доступ к файлам одному человеку. Если 10 человек попытаются получить доступ к файлам одновременно - он не сработает - это решение для одного человека. Так что давайте немного поколдуем чтобы исправить это!
Установка
Установите python-twisted и python-service-identity (они находятся в репозитории extra).
sudo pacman -S python-twisted python-service-identity
Использование
Чтобы сделать постоянный сервер на порту 8080 с помощью python Вы должны перейти в каталог, который хотите расшарить, и ввести:
twistd3 web --path .
twistd web will then start and you can access in the browser with:
http://localhost:8080/
Это выглядит немного лучше, и ваш терминал не будет занят "живым действием". Теперь несколько человек смогут получить доступ к файлам одновременно.
Если вам нужно установить сервер на другой порт, то Вы можете запустить его следующим образом:
twistd3 web --port "tcp:port=9000" --path .
В этом случае сервер будет находиться на порту 9000.
Python часто обновляется, поэтому если вы получите какие-либо ошибки при выполнении приведенной выше команды, то можете попробовать следующее:
python -c 'from twisted.web.server import Site; from twisted.web.static import File; from twisted.internet import reactor; reactor.listenTCP(8000, Site(File("."))); reactor.run()'
прервите его с помощью CTRL+Z, а затем введите bg, чтобы запустить в фоновом режиме.
Здесь сервер будет работать на порту 8000 и Вы можете изменить его по своему усмотрению.
Остановка сервера
To stop this server you can type:
kill `cat twistd.pid`
Now you have a permanent file server.
It's as easy as that!