alt-sendme-fork
Описание
Отправляйте файлы и папки в любую точку мира без хранения в облаке — любого размера, любого формата, без учетных записей, без ограничений.
Языки
- TypeScript65,7%
- Rust27,9%
- Kotlin2,4%
- CSS1,7%
- Swift1,2%
- JavaScript0,9%
- Остальные0,2%
Передача файлов не должна быть сложной
Это форк репозитория tonyantony300/alt-airdrop. Основная цель форка — доработка и стабилизация версий для Android и iOS.
⚠️ Мобильные версии (Android/iOS/iPadOS) находятся в стадии бета-тестирования. Основной функционал работает, однако возможны нестабильности. Поддержка iPad — экспериментальная.


Бесплатный инструмент передачи файлов с открытым исходным кодом, который использует передовые технологии peer-to-peer, позволяя передавать файлы напрямую без их хранения на облачных серверах.
Поддерживает Windows, macOS, Linux, Android, iOS (включая iPadOS).
Почему полагаться на WeTransfer, Dropbox или Google Drive, когда вы можете надежно и легко передавать файлы напрямую, с end-to-end шифрованием и без раскрытия личной информации?
Функции
- Отправка везде – Безупречно работает в локальных сетях или между континентами.
- Прямая передача peer-to-peer – Отправляйте файлы прямо между устройствами, без облачного хранилища между ними.
- End-to-end шифрование – Всегда включенная защита с QUIC + TLS 1.3 для прямой и обратной секретности.
- Без учетных записей и личной информации – Передавайте файлы без регистрации и раскрытия личной информации.
- Передавайте что угодно – Отправляйте файлы или папки любого размера и формата, проверенные с помощью проверок целостности на базе BLAKE3.
- Возобновляемые передачи – Прерванные загрузки автоматически возобновляются с того же места.
- Быстро и надежно – Способны насыщать многогигабитные соединения молниеносными передачами.
- NAT traversal через QUIC – Безопасные низкозадержные соединения с использованием QUIC hole punching с зашифрованным резервным каналом.
- Интеграция CLI – Совместимость с Sendme CLI.
- Бесплатно и с открытым исходным кодом – Без затрат на загрузку, без ограничений размера и полностью управляется сообществом.
Windows (Scoop)
Поддерживаемые языки
🇺🇸 🇷🇺
Как это работает
- Перетащите ваш файл или папку – Alt AirDrop создает одноразовый код общего доступа (называется "билет").
- Поделитесь билетом через чат, электронную почту или текст.
- Ваш друг вставляет билет в свое приложение, и передача начинается.
Под капотом
Alt AirDrop использует Iroh для реализации peer-to-peer передачи файлов. Это современная модульная альтернатива технологиям, таким как WebRTC и libp2p.
Подробное техническое описание — как работает соединение, как устроены билеты, как поднять собственный relay-сервер — смотрите в IROH.md.
Важные концепции
- Блобы (Blobs)
- Билеты (Tickets)
- Обнаружение пира (Peer Discovery), Hole-punching и NAT traversal
- QUIC и End-to-end шифрование
- Реле (Relays)
1. Блобы (Blobs)
Хранилище блобов, адресованное по содержимому, и передача. реализует передачу request/response и потоковые передачи для блобов произвольного размера, используя BLAKE3-проверенные потоки и ссылки, адресованные по содержимому.
- Blob: непрозрачная последовательность байтов (без встроенных метаданных).
- Link: 32-байтовый хеш BLAKE3, который идентифицирует блоб.
- HashSeq: блоб, который содержит последовательность ссылок (полезен для разбиения на части/деревьев).
- Provider / Requester: поставщик предоставляет данные; запрашивающая сторона их получает. Конечная точка может быть обеими.
2. Билеты (Tickets)
Билеты – это способ обмена информацией о подключении между конечными точками iroh. Это единственный токен, который содержит все необходимое для подключения к другой конечной точке или для получения блоба. Содержит Ed25519 NodeIds: криптографическую идентификацию вашего устройства для аутентификации. Они также очень мощные. Стоит отметить, что эта настройка значительно лучше, чем полные системы peer-to-peer, которые транслируют ваш IP другим пирам. Вместо этого в iroh билеты используются для формирования "уютной сети" между пирами, с которыми вы явно хотите подключиться. Возможно перейти на "полный p2p" и настроить приложение на трансляцию деталей подключения, но билеты представляют лучший компромисс по умолчанию.
3. Обнаружение пира, NAT Traversal и Hole Punching
Пиры регистрируются на открытых общедоступных серверах реле при запуске, чтобы помочь преодолеть брандмауэры и NAT, обеспечивая установку соединения. После подключения Iroh использует QUIC hole punching для попытки установления прямого peer-to-peer соединения, обходя реле. Если прямое соединение возможно, взаимодействие происходит напрямую между пирами с end-to-end шифрованием; в противном случае реле временно работает как резервный вариант. Это позволяет гладкие надежные соединения между пирами в локальной сети и через интернет.
4. QUIC и шифрование
QUIC – это современный транспортный протокол, построенный на UDP, предназначенный для снижения задержки и повышения производительности веб-сайтов через TCP. Первоначально разработанный Google и теперь стандартизированный IETF как основу HTTP/3, он интегрирует шифрование TLS 1.3 непосредственно в протокол.
QUIC позволяет получить следующие суперспособности:
- шифрование и аутентификацию
- мультиплексирование потока
- нет проблем с блокировкой в начале очереди
- приоритеты потока
- один общий контроллер перегруженности
- зашифрованный, ненадежный транспорт датаграмм
- установление соединения с нулевым временем приема при повторном подключении к конечной точке
5. Реле (Relays)
Alt AirDrop использует открытые общедоступные серверы реле для поддержания установления прямых соединений, для ускорения начального времени соединения и обеспечения резервного варианта, если прямые соединения между двумя конечными точками невозможны. Все соединения имеют end-to-end шифрование. Реле – это "просто ещё один сокет UDP" для отправки зашифрованных пакетов.
Дорожная карта 🚧
- Улучшение удобства использования для дистрибутивов Linux, Windows и macOS
- Неограниченные, надежные передачи с самостоятельно размещаемыми реле
- Лучший анализ системы/сети в процессе передачи
Сборка Android приложения✅ Готово (бета)Сборка iOS приложения✅ Готово (бета)
Решение проблем
1. Alt AirDrop не запускается на Windows (Runtime Edge WebView2 не найден)
Симптом
- Когда вы дважды щелкаете на
, ничего не происходит. Окно не появляется, и в диспетчере задач процесс не отображается.Alt AirDrop.exe - Это может повлиять как на стандартный установщик, так и на портативную версию.
Причина
- Microsoft Edge WebView2 Runtime либо отсутствует, либо устарел, либо неправильно установлен в вашей системе.
Alt AirDrop зависит от WebView2 для отображения интерфейса в Windows.
Как исправить
-
Проверьте, установлен ли WebView2
- Откройте Добавить или удалить программы (также известное как Приложения и компоненты) в Windows.
- Ищите Microsoft Edge WebView2 Runtime.
-
Установите или обновите WebView2
- Загрузите WebView2 Runtime непосредственно с официального сайта Microsoft.
- Если вы предпочитаете автономный установщик, загрузите автономный пакет и запустите его с правами администратора.
-
Перезапустите Alt AirDrop
- После установки/обновления WebView2 заново запустите
.Alt AirDrop.exe - Если у вас по-прежнему возникают проблемы, перезагрузитесь и попробуйте снова.
- После установки/обновления WebView2 заново запустите
Дополнительные советы
- Если переустановка один раз не сработала, полностью удалите Edge WebView2, а затем переустановите его с правами администратора.
- Убедитесь, что ваша установка Windows имеет последние обновления от Microsoft.
Установка для разработки
Предварительные требования
- Rust 1.81+
- Node.js 18+
- npm или yarn
Начало работы
-
Клонируйте репозиторий:
-
Установите зависимости фронтенда:
-
Установите Tauri:
-
Запустите в режиме разработки:
-
(Опционально) Установите проект для Android:
Требования для Android разработки:
- Android Studio 2023.1+
- Android SDK API 24+
- Android NDK r25c+
- Java Development Kit (JDK) 11+
Подробное руководство: Android_DEVELOPMENT.md
-
(Опционально) Установите проект для iOS:
Требования для iOS разработки:
- macOS с установленным Xcode
- Apple Developer Team ID (добавьте в
)src-tauri/tauri.ios.conf.json - iOS SDK 13.0 или позже
Подробное руководство: iOS_DEVELOPMENT.md
-
Локальная сборка :
-
Установка на Android :
-
Запуск на iOS симуляторе :
-
Запуск на Android эмуляторе :
-
Сборка для iOS Release :
-
Сборка для Google Play :
Локальное тестирование
Установите инструмент Sendme CLI, чтобы делиться файлами на одном устройстве и протестировать весь процесс передачи. Файлы не покидают ваше устройство — это работает как операция копирования.
Лицензия
AGPL-3.0