

Или, если вы предпочитаете нагружать, android_FlyingCarpet.apk доступен на странице релизов.

Или поиск в магазине приложений для «Передача файлов Flying Carpet File».
Отправляйте и получайте файлы между Android, iOS, Linux, MacOS и Windows через Ad Hoc WiFi. Не требуется общая сеть или ячейка, только два устройства с чипами Wi -Fi в близком расстоянии.
У вас нет флэш -диска? У вас нет доступа к беспроводной сети? Нужно переместить файл, превышающий 2 ГБ между различными файловыми системами, но не хотите устанавливать сетевую общую связь? Попробуйте!
Демо -видео





Linux: Загрузите файл .AppImage со страницы Releseses для отдельной версии, или если вы находитесь на дистрибутиве на основе Debian, загрузите файл .deb и установите его с помощью apk или dpkg .
MacOS: Загрузите файл изображения диска .dmg со страницы релизов. Дважды щелкните, чтобы установить его, и перетащите пакет .app в папку приложений. Или, если вы используете Homebrew, запустите brew install flying-carpet .
Windows: Загрузите установщик .msi со страницы релизов или FlyingCarpet.exe для отдельной версии.
Установить ржавчину.
Запустите cargo install tauri-cli , чтобы установить Tauri.
Только Mac: Установите Xcode. Open FlyingCarpetMac/FlyingCarpetMac/FlyingCarpetMac.xcodeproj и постройте его.
Для Linux установите зависимости. Ubuntu 20 Пример:
sudo apt install libsoup2.4* libjavascriptcoregtk* libgdk-pixbuf2.0* librust-pango-sys-dev libgdk3.0* librust-atk-dev librust-atk-sys-dev librust-gdk* libwebkit2gtk* librsvg2-dev
cargo tauri dev чтобы запустить версию разработки или cargo tauri build чтобы создать выпущенные артефакты. Устройства Apple могут переносить только в/из Android, Linux и Windows, поскольку они больше не могут программно запускать горячие точки. Вместо этого используйте Airdrop для переводов Apple-Apple.
Отключает ваше беспроводное подключение к Интернету во время использования. (Не применяется к Windows или Android при размещении точки доступа.)
MacOS иногда переключается обратно в беспроводную сеть с подключением к Интернету во время особенно длинных переводов.
Версия Android требует, по крайней мере, Android 8/API-уровня 26. Версия Android не работает на некоторых устройствах Xiaomi, Miui или Harmonyos, и, возможно, на других Android-подобных OSES. Я не владею этими устройствами, и поэтому я не могу проверить, но, похоже, это из -за отсутствия поддержки API LocalOnlyHotspot. Было подтверждено, что он работает по крайней мере на одном телефоне Xiaomi.
Требуется Windows 10 или более поздней версии.
Версия Linux была разработана и протестирована на Linux Mint. В основном я намерен, чтобы он работал на дистрибутивах на базе Debian. Я постараюсь помочь не устранить другие, если смогу, но я не смогу, так как у меня нет доступа к запасным машинам. Была по крайней мере одна проблема на Fedora, возможно, в Selinux, но я действительно не знаю.
Иногда, когда кнопка «Отмена» нажимает на настольных платформах, для ОС может потребоваться время, чтобы закончить, пытаясь присоединиться или создать горячую точку. Пожалуйста, нажмите кнопку «Отмена» только один раз и подождите несколько секунд. Похоже, это должно быть легко исправить, но в прошлый раз, когда я попробовал, это не так.
Bluetooth для согласования подключения (вместо сканирования QR -кода или ручной записи)?
Добавьте ярлык летающих ковров в меню по обмену iOS.
Разве это не репо? Да, карцинизация пришла для суслика. Было несколько вопросов, которые я не знал, как решить в парадигме Go/QT, особенно с Windows: неспособность выполнять исполняемый файл с одним файлом, нуждающийся в работе в качестве администратора, и необходимость писать DLL Wi-Fi в папку с температурой и ссылку на него во время выполнения, потому что GO не работает с MSVC. Кроме того, было весело использовать tokio / async и windows-rs , с которыми написаны сетевые части Windows. Структура графического интерфейса теперь является Таури, которая дает родной опыт на всех платформах с очень небольшим следствием. Версия Android написана в Kotlin, и код находится в этом хранилище. Версия iOS написана в Swift, а код не является общедоступным.
Вы используете SHA-256, чтобы получить ключ из пароля. Разве это не плохо? Разве вы не должны использовать функцию получения ключей на основе пароля, такую как Scrypt или Argon2? Я делал это раньше, но это не было строго необходимым, потому что эти ключи используются только во время передачи файла. Для злоумышленника, чтобы перехватить данные в транзите, им нужно быть в сети горячих точек, которая защищена WPA2, поэтому им нужно было бы вырвать пароль или QR-код. Было сделано изменение в SHA-256, потому что я не мог найти хорошую реализацию Scrypt или Argon2 на всех платформах, когда я добавил мобильные версии.
Почему вы вообще используете AES-GCM, если уже есть WPA2? Когда я начал работать над этим проектом в 2017 году, я пытался разрешить IBSS Wi -Fi Networks на MacOS, которые не использовали аутентификацию. Тогда я использовал неправильное шифрование (и неправильно), а затем добавил AES-GCM, потому что это единственная хорошая и официальная реализация Aead, которую я мог найти во всем Go, Swift, Kotlin, а теперь и ржавчине. Если какие -либо криптографы прочитают это и обнаружили, что я все еще тупой, пожалуйста, дайте мне знать.
Если вы использовали Flying Carpe, пожалуйста, отправьте отзыв по адресу [email protected]. Спасибо за ваш интерес! Пожалуйста, также ознакомьтесь с https://github.com/spieglt/cloaker, https://cloaker.mobi и https://github.com/spieglt/whatfiles.