У меня периодически возникает необходимость перекинуть файлы (музыку/видео/книжки) с компа, на котором стоит Linux (сейчас это Fedora 22, а до этого была Xubuntu 12.04), на электронную книжку PocketBook IQ701 с ОС Android.
Разумеется, можно просто подключить устройство к компьютеру usb-шнурком или достать из него флэш-карту и воткнуть её в кардридер, но во-первых, это дополнительные движняки, а во-вторых, мы не ищем легких путей. ))
Первое время кидал файлы через Dropbox. Но идея использовать неподконтрольный внешний облачный сервис для хранения моих личных файлов, пусть даже и временного, мне не нравилась никогда (как говорится "если у Вас нет паранойи, это ещё не значит, что за Вами не следят").
Начал искать способ как сделать так, чтобы данные не покидали локальной сети. Ну и конечно хотелось обойтись "малой кровью", т.е. без установки "настоящего" samba- или ftp-сервера.
В итоге остановился на таком решении.
На linux-систему устанавливаем пакет pyftpdlib (есть в репах большинства дистрибутивов), в терминале выполняем:
Сайт проекта pyftpdlib: https://github.com/giampaolo/pyftpdlib
Примеры использования pyftpdlib: https://pythonhosted.org/pyftpdlib/tutorial.html (см. раздел "Command line usage")
Если нужно только передать файлы из linux-системы на android и не хочется вообще ничего устанавливать дополнительно, то можно воспользоваться SimpleHTTPServer.
Для этого на linux-системе запускаем терминал и выполняем:
Документация по SimpleHTTPServer: https://docs.python.org/2/library/simplehttpserver.html
P.S. Входящие подключения на linux-системе могут блокироваться файрволом, поэтому для реализации описанных схем может дополнительно понадобиться его настройка.
Данный текст доступен по лицензии Creative Commons Attribution (CC BY)
Разумеется, можно просто подключить устройство к компьютеру usb-шнурком или достать из него флэш-карту и воткнуть её в кардридер, но во-первых, это дополнительные движняки, а во-вторых, мы не ищем легких путей. ))
Первое время кидал файлы через Dropbox. Но идея использовать неподконтрольный внешний облачный сервис для хранения моих личных файлов, пусть даже и временного, мне не нравилась никогда (как говорится "если у Вас нет паранойи, это ещё не значит, что за Вами не следят").
Начал искать способ как сделать так, чтобы данные не покидали локальной сети. Ну и конечно хотелось обойтись "малой кровью", т.е. без установки "настоящего" samba- или ftp-сервера.
В итоге остановился на таком решении.
На linux-систему устанавливаем пакет pyftpdlib (есть в репах большинства дистрибутивов), в терминале выполняем:
$ cd /путь/к/директории/с/файлами $ python -m pyftpdlibПри этом на порту 2121 стартует ftp-сервер, к которому мы можем подключиться с android-устройства (например, c помощью Ghost Commander или другого файлового менеджера, который умеет ftp) и забрать нужные файлы. Если требуется скинуть файлы с android на linux-хост, то сервер запускаем с ключом -w:
$ python -m pyftpdlib -wПо окончании передачи просто "срубаем" ftp-сервер по Ctrl+C и всё.
Сайт проекта pyftpdlib: https://github.com/giampaolo/pyftpdlib
Примеры использования pyftpdlib: https://pythonhosted.org/pyftpdlib/tutorial.html (см. раздел "Command line usage")
Если нужно только передать файлы из linux-системы на android и не хочется вообще ничего устанавливать дополнительно, то можно воспользоваться SimpleHTTPServer.
Для этого на linux-системе запускаем терминал и выполняем:
$ cd /путь/к/директории/с/файлами $ python -m SimpleHTTPServer 8000На android-устройстве браузером заходим на адрес http://<ip-адрес-linux-хоста>:8000 (например, http://192.168.7.77:8000) и качаем наши файлы.
Документация по SimpleHTTPServer: https://docs.python.org/2/library/simplehttpserver.html
P.S. Входящие подключения на linux-системе могут блокироваться файрволом, поэтому для реализации описанных схем может дополнительно понадобиться его настройка.
Данный текст доступен по лицензии Creative Commons Attribution (CC BY)