LINUX.ORG.RU

Android File Transfer for Linux

 ,


7

5

Наверняка многие из вас используют MTP, наверняка кто-то успешно, но может быть у кого-то (как у меня) всё время случаются недокачанные файлы, пропавшие тэги, отсутствие обложек, обрывы соединения, зависания, отключения устройства, жуткие тормоза, замедление закачки при закачивании целых каталогов. Это всё из-за печально известной libmtp. Меня такое положение дел давно не устраивало и я написал свой MTP клиент, на c++11, с референсной реализацией модели для Qt.

Минимальный ui, создание папки, закачка папки, закачка альбома (с автоматической подборкой и установкой картинки). Никаких fuse, libmtp, libptp, только libusb и Qt, только хардкор.

Очень жду фидбека и хотелок в тракере github, обещаю пилить, так как постоянно использую сам.

>>> Исходный код на github



Проверено: anonymous_incognito ()
Последнее исправление: ymn (всего исправлений: 3)
Ответ на: комментарий от Axon

SSHelper годный.

Да, действительно неплох. Благодарю.

Wizard_ ★★★★★
()
Ответ на: комментарий от haku

Сидишь ты такой с золотым макбуком 12" в старбаксе и читаешь твитор и нужно тебе на телефон скинуть большой файлик. Вариантов три:

1) Шнурок.
2) Гнать всё через общественный вайфай непонятной секьюрности и скорости.
3) Поднимать сетку на макбуке, но при этом ты теряешь интернет от общественной сети.

Я думаю, сам догадаешься какой из них удобнее. Беспроводные технологии никогда не заменят провода на все 100%, и это логично. Так же как TV не вытеснило радио, электронные книги не заменили бумажные и т.д., и т.п.

mono ★★★★★
()
Ответ на: комментарий от haku

камент - детектор отсутствия матчасти в голове. ибо ты веришь в 300-450 мбит по воздуху в 802.11n. ибо ты веришь, что вайфай позволяет между двумя железками, подключенными к одному wifi роутеры, поднять хотя бы 100мбит передачи.

И да, по шнурку быстрее и надежней. так было 10 лет назад. так есть сейчас, в 2015 году. так будет и в ближайшие 5 лет точно.

Deleted
()
Ответ на: комментарий от whoozle

1.злоумышленник с вашего компьютера (многие раздают аккаунты по ssh, либо воспользовавшись дырой) может дождацо вставленного телефона и поставить что угодно, а если у вас рутованный телефон, то можно поставить так, что не избавитесь от руткита никогда.

Злоумышленник может что угодно сделать. Например придти с паяльной лампой и прогреть причинное место для выяснения необходимой ему информацией.

2. adb push не добавит картинки к альбомам, с ними всё «более лучше» выглядит

Это не задача файлового менеджера.

andreyu ★★★★★
()
Ответ на: комментарий от mono

2) Гнать всё через общественный вайфай непонятной секьюрности и скорости.

Безопасность и приватность в Syncthing являются приоритетными задачами. Используется защищённое соединение, никакие данные не передаются открыто.

Извините, но сделанные Вами предположения не верны, соответственно и не верны сделанные на их основе выводы.

haku ★★★★★
()
Ответ на: комментарий от mono

через ADB

Очень удобный тул

быстро что-то туда-сюда перебросить

а мы точно об одном и том же говорим )))). adb - это такая консольная тулза, ведь так?

Deleted
()
Ответ на: комментарий от haku

Молодец, чтобы просто скопировать файл мне надо ставить какой-то Syncthing, настраивать, поднимать сервер. Вместо простого «воткнул и записал». Опять же, а если не со своего компа это делаю? Я понимаю, ты из дома не выходишь и ни с кем не общаешься, но мы-то не такие. Сидишь вот в парке с товарищами, у тебя смарт, у них ноут, сети нет (замкадье же!). И тут ты им начинаешь толковать про 21 век и прочее.

anonymous
()
Ответ на: комментарий от whoozle

злоумышленник с вашего компьютера

Ох, лол.

Axon ★★★★★
()
Ответ на: комментарий от Deleted

Syncthing использует лёгкую компрессию на лету для передаваемых данных, так что я своими глазами видел эти «100мбит передачи», о которых ты лишь мечтаешь.

haku ★★★★★
()
Ответ на: комментарий от user42

А я FTP использую. В miui можно в FM включить FTP и зайти на смартфон через FM десктопа и заливать файлы.

Сессия отваливалась часто, скорость передачи была низкая. Возможно проблему уже решили, не проверял.

andreyu ★★★★★
()
Ответ на: комментарий от svs

Для фанатов файловых менеджеров есть jmtpfs

Она не работает по-человечески, как и всё остальное на libmtp.

Axon ★★★★★
()
Ответ на: комментарий от Deleted

а мы точно об одном и том же говорим )))). adb - это такая консольная тулза, ведь так?

Да, но что в этом такого? Я очень много времени в терминале провожу, для меня это плюс, чем минус. Но случай специфический, согласен. :)

mono ★★★★★
()
Ответ на: комментарий от anonymous

До сих пор скидываешь фоточки шнурком? Мне тебя жаль.

haku ★★★★★
()
Ответ на: комментарий от Jetty

вообщето это никак не относится к версии ондроеда :-)

Заявленные/удаленные фичи привязаны к версии андроеда. То, что всякие кастомы и говнопроизводители делают сами - это их личная инициатива.

andreyu ★★★★★
()
Ответ на: комментарий от anonymous

Про скорость забыл.

С ней всё ок, пока ты достаёшь кабель и тыкаешь его по очереди в два устрйства люди 21-го века уже просмотрели фото и идут дальше по своим делам.

haku ★★★★★
()
Ответ на: комментарий от Deleted

adb - это такая консольная тулза, ведь так?

Android Debug Bridge.

andreyu ★★★★★
()
Ответ на: комментарий от haku

Syncthing использует лёгкую компрессию на лету для передаваемых данных

Которая, конечно же, творит чудеса на аудио- и видеофайлах. Пешы есчо!

Axon ★★★★★
()
Ответ на: комментарий от mono

мне тоже очень удобно делать всякие вещи в терминале, но что касается всяких копипастов, то ни в жизни не поверю, что в клацаньем клавиатуры это будет «удобней» и «быстрей» :)

давай лучше посмотрим на евангелиста syncthing'a :). мне всегда нравится смотреть на таких экземпляров... они как ребенок с молотком, которому везде мерещатся гвозди )))

Deleted
()
Ответ на: комментарий от andreyu

UMS всегда был опциональной фичей. То что это не включают флагманы типа говнонексусов подтверждает лишь только то что это не включено на говнонексусах.

Jetty ★★★★★
()
Ответ на: комментарий от haku

Детектор тред-детекторов

во времена 802.11n со скоростью в 300-450 мегабит

FYI, раз уж мы тут теоретической пропускной способностью меряемся, то USB 2.0 обладает скоростью до 480Мбит/с, а USB 3.0, который родом из 2008-го — 5Гбит/с, при этом, ему не нужно расчищать полосу частотного диапазона и держать в голове интерференционную картину окружающего пространства.

P.S.: Сам пользуюсь для синхронизации с домашним ящиком точку доступа Wi-Fi и синхронизирую устройства посредством KDE connect, который, AFAIK, применяет для обмена SSH, а работать может, вообще, не только поверх Wi-Fi, но Bluetooth и IP.

anonymous
()
Ответ на: комментарий от Axon

Зачем ей творить чудеса? Оно полностью утилизирует имеющийся канал, не более того. От него, собственно, больше ничего и не требуется.

haku ★★★★★
()
Ответ на: комментарий от haku

Оно полностью утилизирует имеющийся канал, не более того.

А если канал — гавно?

anonymous
()
Ответ на: комментарий от haku

мы не обязаны её решать.

Ты и так ничего не делаешь. Пшёл вон отсюда.

anonymous
()
Ответ на: комментарий от te111011010

А что, разве под него нет модуля? Меняйте свой бомжовский дистрибутив.

RiseOfDeath ★★★★
()
Ответ на: комментарий от haku

Тред — детектор ретроградов льющих через шнурок во времена 802.11n со скоростью в 300-450 мегабит.

Тред детектор наркоманов. У меня и wifi ac дома стоит, но на выезде wifi часто нет.

anonymous
()
Ответ на: комментарий от anonymous

думаю 3G/4G у тебя всё же есть, если речь о дальних расстояниях,
если же речь о близком взаимодействии — даже самые дешёвые китайские устройства позволяют поднять точку доступа в пару кликов

haku ★★★★★
()
Ответ на: комментарий от haku

Зачем ей творить чудеса? Оно полностью утилизирует имеющийся канал, не более того.

Знаете как lossless компрессия работает на сжатых и шифрованны данных? Нет? Ну так я вам расскажу: никак. Матчасть курите, фантазёр.

Твои закостеневшие взгляды это лишь твоя проблема, мы не обязаны её решать.

Вы в курсе, что канал номиналом больше 150mb на 802.11n можно получить только используя 40Ghz каналы и MIMO, которое в принципе не поддерживается мобильными девайсами? И что реальная пропускная способность канала 802.11n в идеальных условиях составляет максимум треть от номинала? Вы понимаете, что вы сейчас сами макаете себя головой в унитаз?

Axon ★★★★★
()
Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от haku

даже самые дешёвые китайские устройства позволяют поднять точку доступа в пару кликов

И опять враньё. ☺ У половины дешёвых устройств нет поддержки AP mode, где в дровах, а где и аппаратно.

Axon ★★★★★
()
Ответ на: комментарий от Axon

С разморозкой, дорогой товарищ. И почему мой планшетик спокойно с этим работает? Магия наверное, looool

haku ★★★★★
()
Ответ на: комментарий от haku

А как syncthing дружит со спящим режимом телефона? Допустим, я закидываю файл в папку Sync на компьютере. Через сколько времени телефон начнет синхронизироваться?

makoven ★★★★★
()
Ответ на: комментарий от Axon

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

haku ★★★★★
()
Ответ на: комментарий от anonymous

это другое. Не из-за оставшегося места, а из-за ограничения fat32

К сожалению, ни то, ни другое, так как обрыв происходил в любой момент от начала процесса, к тому же, файл был-таки передан по Wi-Fi и разместился на нексианской ФС с относительным комфортом, и даже был прочитан на целевом компьютере по всё тому же злокозненному протоколу (MTP), не с первого раза правда, то есть все удовольствия, описанные ТС'ом в наличии. И, по-моему, решение о переходе от UMS к MTP было продиктовано желанием скрыть нюансы ФС применяемной в конкретном аппарате на Андроиде именно для того, чтобы распрощаться с набившей оскомину своими патеными ограничениями FAT от известной корпорации. Парадокс в том, что в качестве альтернативы был избран «наиболее знакомый из дьяволов» разработки всё той же общеизвестной корпорации, в итоге мы получили абстракцию, сочетающую в себе ограничения всех имевшихся тогда ФС, отсюда невозможность сохранить дату изменения файла, к примеру, не говоря уже о более специфичных атрибутах. А также чудную эталонную реализацию.

Надо посмотреть как это под линуксами и OS X происходит кстате.

А никак, на не самых распоследних версиях библиотеки libmtp поведение идентично «референсной» реализации.

anonymous
()
Ответ на: комментарий от makoven

А как syncthing дружит со спящим режимом телефона? Допустим, я закидываю файл в папку Sync на компьютере. Через сколько времени телефон начнет синхронизироваться?

Если оба устройства в сети — сразу. Не включая экрана отсинхронизируется и заснёт. Батарейку не жрёт. По крайней мере в моём сценарии использования (~4000 файлов).
Если устройство не в сети там есть нижняя граница времени, как часто поднимать сеть на пару секунд чтобы узнать «а не изменилось ли чего?». Я поставил на 1 час, но даже это слишком часто, ибо сеть появляется при каждом включении экрана.

haku ★★★★★
()
Ответ на: комментарий от anonymous

Кто бы под винду MTP нормальную сделал. Вот где мучения жуткие. Оно даже не умеет проверять объем свободного места перед началом копирования

Врёшь и не краснеешь, только что проверил.

Это у самсунга дрова кривые к моей галакси. Ах да. мтп это такой чудесный протокол, где каждый производитель сам клепает дрова в зависимости от кривизны своих рук. В самсунге руки у программеров вообще на морской узел завязаны.

anonymoos ★★★★★
()

А почему make not recommended?

orion ★★
()
Ответ на: комментарий от anonymous

А, я понял смысл этой темы. Мамка купила новый смартфон и ты пришёл похвастаться?

Ага, твоя мамка, сказала ей никогда так хорошо ни с кем не было.

anonymous
()
Ответ на: комментарий от haku

И почему мой планшетик спокойно с этим работает? Магия наверное, looool

Почему сразу магия? Фантизии, мой друг, фантазии.

Axon ★★★★★
()
Ответ на: комментарий от haku

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

Ну да, ведь все прошлогодние устройства в ночь на 1 января превратились в пыль.

Axon ★★★★★
()
Ответ на: комментарий от anonymous

отсюда невозможность сохранить дату изменения файла,

вообще-то через установку object property это можно сделать, если я не ошибаюсь, все в новой версии протокола есть.

anonymous
()
Ответ на: комментарий от haku

Если оба устройства в сети — сразу. Не включая экрана отсинхронизируется и заснёт.

Поразительные способности выдавать желаемое за действительное. Потрясающе.

Axon ★★★★★
()
Последнее исправление: Axon (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.