Общий доступ к файлам с помощью 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/
It looks a bit better and your terminal will not be occupied with "live action". Here all people can access the files at the same time.
If you need to set the server to a different port then you can start the server like this:
twistd3 web --port "tcp:port=9000" --path .
In this case the server will be on port 9000.
Python is often updated so if you get any errors running the command above you can alternatively try:
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()'
break it off with CTRL+Z and then type bg to start it in the background.
Here the server will be on port 8000 you can change it to your liking.
Stopping the server
To stop this server you can type:
kill `cat twistd.pid`
Now you have a permanent file server.
It's as easy as that!