Pull to refresh

Comments 68

miniserve также поддерживает эту возможность. Удобен тем, что выводит все IP-адреса, которые слушает веб-сервер.
miniserve <файлы> --qrcode

На redmi 7A в версии mimu global 12.5.2 если сделать длинное нажатие по значку "Проводник" то появится меню с пунктом "FTP". И в нём можно запустить FTP-сервер.

функция FTP на смартфоне redmi
функция FTP на смартфоне redmi

Та ну нафиг, сколько лет сяомился, не знал.
Спасибище тебе, человечище! Хотя adb самое простое.

инструменты синхронизации ПК и смартфона, такие как syncthing.

процесс можно 1) ускорить; 2) избавиться
от подключения к интернету. То есть файлы будут передаваться напрямую
между устройствами, как Apple AirDrop, только лучше.

Так syncthing и работает без интернета, напрямую, если устройства в одной сети.

Если мультикаст UDP по какой-то причине не работает, то на все локальные IP-адреса рассылаются сообщения по HTTP.

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

Спасибо конечно, но таких вредных приложений, которые мусор в сеть выпускают, нам не надо.

Вообще, для таких вещей (и не только для этих) есть KDE Connect, который вопреки названию, работает не только с KDE.

Так syncthing и работает без интернета, напрямую, если устройства в одной сети.

В принципе, без центрального (сервер в Интернет) реестра ID устройства / IP он обнаружить другое устройство не может

Сможет. Global discovery - это опциональная функция, хоть и включена по-умолчанию.

Он умеет делать Local discovery через мультикасты/броадкасты

ip можно и помоь узнать, если мы говрим про свою локальную сеть то выдавать по dhcp статический, плюс локальный dns прекрасно работает

А почему-бы просто не поставить ssh‑сервер и перекидывать файлы по классике через FileZilla? Пользуюсь им года с 2013

По классике - это скорее scp.

Сейчас сложно встретить компьютер без Python и тогда просто в нужной папке:

python -m http.server 8000

На Linux не найдете - все со "змеёй".

На Windows - придется еще проверить отсутствие python.exe на всех дисках. Дело в том что Python есть в огромном числе свободного и бесплатного ПО: OpenOffice, LibreOffice, InkScape итд (их десятки). Ну и если действительно нет то https://www.python.org/downloads/windows/

Установка займет меньше времени, чем у меня ушло на написание этого комментария. Главное не забудьте поставить флаг Add Path при установке. Даже если прав на установку нет (ограниченная учетка или забыл пароль, злые одмины, GP) - заполучить Питон можно с portable-версией OpenOffice|LibreOffice (с офсайта 32bit или c X-LibreOffice 64bit). Это хороший путь в программирование на языке из Top-3 всех возможных чартов.

Спасибо, собственно я даже знаю где взять Python 3.12 для Windows 7 :) Но даже при этом он у меня не на всех машинах. НУ и мы тут не про программирование а про решение бытовых задач

на MacOS нет "изкоробки"

ЗанудаВКЛ: на линухах (да и на маке) не везде python - местами уже python3 только доступен... и надо алиас делать вручную

На Linux не найдете

В базовой инсталляции Alpine точно есть?

Можем OpenWrt попробовать.. хотя пакадж такой там точно есть, но там и нормальный вебсрвер и ftp еще проще

KDE Connect - и умеет несколько больше чем "пересылать файлики"

Warpinator забыли. А он даже работает! :-)

Не везде работает.

Linux — идеально.
Android + Windows — сойдёт (клиенты неофициальные. Под Windows их ещё и два).
iOS / macOS — нет. Есть только бета в TestFlight, и она не работает.

Плюс безопасность подтянули (правильно сделали) и стало не так удобно.

Как работает это второй вопрос, но упомянуть-то и правда забыли.
У меня вот, например, KDE Connect не заработал как надо.

Полезная статья, спасибо! А раз уж в заголовке AirDrop, то может уважаемое Сообщество посоветует какое-то приложение - универсальный комбайн под Android, работающий со всеми AirDrop-подобными протоколами, включая и сам AirDrop? Знаю что это разработка Эппла, но неужели никто до сих пор не отреверсил протокол и не сделал совместимое приложение для Android?

неужели никто до сих пор не отреверсил протокол и не сделал совместимое приложение для Android?

Да, потому что в AirDrop используется собственный проприетарный транспортный протокол, а не просто TCP/UDP поверх готового транспорта, как у всего, что в стаье есть

https://github.com/seemoo-lab/opendrop

Скрипт на Питоне? Я думал что есть apk-имплементации для Android:) Интересно именно собрать все протоколы, используемые для обмена через Bluetooth, в одном мобильном приложении.

Имплементации нет, потому что для этого нужна имплементация транспортного протокола, что сделать в формате мобильного приложения не получится. Поэтому есть только скрипт для питона, и там явно написано, что работа возможна только в macOS и Linux

А почему не получится? Android же использует ядро Linux.

Если “имплементация транспортного протокола” д.б. в ядре Linux, то задача нерешаема “мобильным приложением”, т.к. ядро OS в Android можно заменить только вместе с прошивкой мобилки, что в общем случае нерешаемо. Игры с прошивками — это целый отдельный мир приложения интересов энтузиастов, туда нет захода уровня “поставь приложение”

you will need a Wi-Fi card supporting active monitor mode with frame injection.
OWL requires direct access to the Wi-Fi card
OWL requires libpcap for frame injection and reception, libev for event handling, and libnl for interactions with the system's networking stack which have to be installed on the target system.

Вряд ли такое дают обычным apk-приложениям

О, ничего себе. Вспоминаю сразу aircrack-ng и wep.

Я отреверсил протокол гугловского Nearby Share/Quick Share и сделал NearDrop для macOS. Главное преимущество — ничего не надо ставить на телефон. Главный недостаток — андроид хочет для активации MDNS-сервиса, чтобы стать видимым для получения файлов, получить сигнал по блютусу (BLE), а с мака его не отправить, потому что там нельзя указать service data.

как-то несправедливо проигнорирован как в теле статьи так и в комментариях kdeconnect, а очень зря ибо эта небольшая тулза полностью покрет как вышеописанную задачу так и в целом половину "божественной" экосистемы apple не привязывая юзверя к одному сомнительному вендору

так и в комментариях

чуть выше про него написал же

Штомш, звиняюсь. По какой-то причине я не увидел этот коммент.

Tailscale для vpn'a и в нём есть taildrop, простенький кидатель файлов.

Как это, croc не поддерживается на андроиде? Ещё как поддерживается: в Термуксе!

С термуксом и обычный/привычный scp работает )

Сколько занятных костылей увидел. Раньше помниться шататный софт для андройдов был в более менее серьезных производителей.

Ну или микроскопический ftp сервер (хоть на роутре запускай) и любой маломальский Total Cоmmander. Ну или более секурный sftp

Самое смешное что когда наделали уже толпу софтов производители флешек толком начали делать флешки с двумя разъемами.

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

Подскажите кстати какой нить актуальный смартфон/планшет с USB3.0 host..

актуальный смартфон/планшет с USB3.0 host..

iPhone 15 Pro, iPad Pro

В тексте этот момент упущен, поэтому спрошув комментариях: какие из этих приложений могут передавать папки?

ну вот к примеру упомянутый в коментах synthing точно может, через протокол sftp тоже можно

Упомянутый LocalSend умеет.
Второй скрин в статье, кнопка "папка"

Причём я теперь увидел, что в тексте это тоже упомянуто, спасибо!

Поставил на телефон FTP сервер, один раз настроил на компьютере в FAR соединение и это просто работает.

Пробовал разные программы типа KDE connect, один раз работает, потом ничего не работает, иногда в третью субботу второго месяца високосного года вдруг опять начинает работать, я просто уже устал бегать по всем этим настройкам файервол и черт знает чего еще.

А под Android вообще есть SyncMe, которая обычные сетевые папки туда-сюда гоняет, даже без FTP.

Не совсем по теме статьи (ибо не opensource и только для Windows), но считаю полезным упомянуть адаптацию встроенного в Android NearbyShare для Windows: QuickShare от Google
Плюсы: нативное решение от Google, на телефон ничего устанавливать не надо, работает в обе стороны, встраивается в Проводник
Минусы: полноценно работает только версия по ссылке; есть обновленная ипостась этого приложения от Samsung, которое называется так же, чем вносит путаницу, и которое работает не со всеми беспроводными чипами (only Intel)

Summary:
Для Linux выбрал бы LocalSend (пробовал, очень удобно, но Flutter иногда выдает труднорешаемые баги + непонятно как постоянно запущенный сервер влияет на батарейку телефона)
Для себя на Windows остановился на QuickShare от Google

Клиент QuickShare для ПК требует Bluetooth и Wi-Fi. У меня вместо первого и второго подключение через Ethernet (

Тогда LocalSend ваш вариант (или аналоги для расшаривания в одной сети)

Android'овский NearbyShare, как и Apple'овский AirDrop архитектурно сделаны для возможности передачи данных в том числе вообще без подключения к сети

Отвечу тут

В Android есть стандартная операция Share. В Windows есть стандартное контекстное меню Send To. Но нет софта, основанного на этих интуитивно понятных интерфейсах. Или есть?

В Windows 10/11 есть встроенная функция Nearby Sharing. В Android есть встроенный Nearby (Quick) Share. И они не совместимы)
Есть реализация андроидовского Nearby (Quick) Share в виде приложения для Windows - вышеупомянутый QuickShare от Google .
Также есть реализация виндового Nearby Sharing в виде приложения для Android - Nearby Sharing Windows и еще несколько штук аналогичных были.
В идеале добавили бы они совместимость друг с другом, но пока приходится выбирать какую из ОС адаптировать установкой дополнительного приложения

P.S. QuickShare вполне успешно встраивается в виндовое меню Send To

Спасибо, посмотрел. К сожалению, Windows Nearby Sharing тоже требует Bluetooth/Wi-Fi. И каждый раз просит подтвердить прием файла. Эх, нет в жизни счастья...

попробуйте KDE Connect например из M$ Store поставить. Он тоже BT просит, но не просит подтверждения каждый раз

В том-то и проблема: на моём ПК нет ни BT, ни Wi-Fi. Есть только Ethernet.

Я ошибся - не BT, а Wi-Fi просит. Вероятно, что ему всё равно, что у вас на локалке у компа - Wi-Fi или просто провод

Я пользуюсь самописной :) https://www.npmjs.com/package/web-shared-folder

Просто поднимает сервер для расшаривания заданной папки. Всё скачивается и закачивается через веб-интерфейс. Но для закачки там правда ограничения на небольшие файлы. Если надо что-то крупное слить с телефона, то поднимаю уже на телефоне через termux.

Ничем не пользуюсь, расшарил папку пк в локалку. На телефоне файловый менеджер с подключением к wlan. Остальное не нужно.

Аналогично.

CX File Explorer прекрасно запоминает подключения к сетевым папкам, будь то на NAS или на ПК.

На самсунге есть штатный File manager, который умеет SMB, OneDrive, Google Drive.

Если не штатный - есть File Manager который тоже умеет SMB.

Еще проще создать локальный http сервер командой python3 -m http.server

В Android есть стандартная операция Share. В Windows есть стандартное контекстное меню Send To. Но нет софта, основанного на этих интуитивно понятных интерфейсах. Или есть?

Я на всех устройствах туда добавляю Share to QR code. И на все устройства ставлю сканер QR кодов.

Работает только с текстом / ссылками / контактами, к сожалению.

Как писали немного выше достаточно расшарить папки/разделы через SMB по локалке, а потом юзать любой ФМ, который умеет в этот протокол.

Когда-то давно на ведроиде пользовался ES, пока его не продали китайцам, потом перешёл на X-plore и до сих пор его юзаю (он ещё умеет создавать HTTP-сервер для расшаривания файлов смарта и также умеет подключаться к облачным дискам, SSH, DLNA и FTP).
Кмк, это самый простой вариант. Тем более эти шары я использую и для передачи файлов между ПК в сетке (как на винде, так и с линухом).

Ну а вне локалки для мелких файлов (обычно менее сотни МБ) - просто перекидываю через клиент телеграма.

Как писали немного выше достаточно расшарить папки/разделы через SMB по
локалке, а потом юзать любой ФМ, который умеет в этот протокол.

Увы, но недостаточно - у SMB есть 3 версии и вагон сторонних реализаций, в результате чего с виду простая задача частенько превращается в долгий и увлекательный квест.

вроде 2-я практически везде должна работать
3-я только появилась
а 1-ю сравнительно недавно начали выключать

3-я только появилась

Она появилась в Windows 8, то есть больше 10 лет назад.

вроде 2-я практически везде должна работать

Да, осталось выяснить, какие версии приложений с ней работают и настроить её везде. У меня выходило, что быстрее скачать что-нибудь из статьи или вообще поднять FTP.

поднять FTP.

Ну это вообще не проблема. Хотя SMB несколько удобнее юзать, т.к. на ПК не нужно ставить дополнительный софт.

Sign up to leave a comment.