Repolode
polius

polius/FileSync

Самостоятельно размещаемое веб-приложение для отправки файлов из одного браузера во множество других в реальном времени по WebRTC, без ограничений на размер.

Звёзды
1,892
Форки
188
Открытые issues
1
Последний коммит
позавчера

Что это?

FileSync позволяет отправлять файлы с одного устройства сразу нескольким получателям. Отправитель создаёт комнату и делится ссылкой или QR-кодом, а получатели открывают её в браузере — ничего устанавливать или создавать аккаунт не нужно. Комнаты можно защитить паролем.

Файлы передаются напрямую между браузерами по зашифрованному WebRTC. Сервер сигнализации только помогает участникам установить соединение, а если прямое подключение невозможно, используется ретранслятор TURN. Полученные файлы записываются на диск по мере поступления, поэтому потребление памяти не зависит от размера файла. Если передача прерывается, соединение восстанавливается, а передача продолжается с того же места.

Проект поставляется в виде единственного Docker-образа. Для работы по HTTPS требуется настроить Caddy и домен — это позволяет использовать в браузере потоковую запись файлов. Обычный HTTP подходит для локального тестирования, но в этом случае весь файл сначала загружается в память.

Ключевые возможности

  • 01Файлы передаются напрямую между браузерами по зашифрованному WebRTC.
  • 02Полученные файлы записываются на диск потоком, поэтому большие файлы не переполняют память.
  • 03Автоматически возобновляет прерванные передачи.
  • 04Отправляет один файл на множество устройств через общую ссылку на комнату или QR-код.
  • 05Использует ретранслятор TURN, если прямое соединение заблокировано.
  • 06Получателям не нужно ничего устанавливать или создавать аккаунт; при желании комнаты можно защитить паролем.

Сценарии использования

  • Отправка больших файлов группе коллег или клиентов без загрузки в стороннее облако.
  • Обмен файлами в домашней или офисной сети и между сетями через собственный экземпляр сервиса.
  • Передача файлов между собственным телефоном и компьютерами через браузер.

Быстрый старт

  1. 1

    Скачайте deploy/docker-compose.yml из репозитория

  2. 2

    Запустите FileSync с помощью Docker Compose

    docker compose up -d
  3. 3

    Откройте http://localhost в браузере на машине, где запущен Docker

Что важно знать

  • Вариант с HTTP предназначен только для быстрой локальной проверки и не подходит для продакшена.
  • При использовании обычного HTTP полученные файлы целиком буферизуются в памяти, поэтому крупные передачи могут привести к нехватке памяти.
  • Для использования в продакшене необходим HTTPS с собственным доменом и настройкой Caddy.
  • В брандмауэре необходимо открыть порты 80/443 и 3478, а также диапазон UDP-портов 50000–50100.

В подборках

Темы

Частые вопросы

Что такое FileSync?
Самостоятельно размещаемое веб-приложение для отправки файлов из одного браузера во множество других в реальном времени по WebRTC, без ограничений на размер. FileSync позволяет отправлять файлы с одного устройства сразу нескольким получателям. Отправитель создаёт комнату и делится ссылкой или QR-кодом, а получатели открывают её в браузере — ничего устанавливать или создавать аккаунт не нужно. Комнаты можно защитить паролем.
FileSync можно использовать бесплатно? Какая у него лицензия?
FileSync распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
FileSync всё ещё поддерживается?
Активно поддерживается. Последний коммит в FileSync — 5 нояб. 2026 г..
Для чего можно использовать FileSync?
Отправка больших файлов группе коллег или клиентов без загрузки в стороннее облако. Обмен файлами в домашней или офисной сети и между сетями через собственный экземпляр сервиса. Передача файлов между собственным телефоном и компьютерами через браузер.
Как установить FileSync?
Скачайте deploy/docker-compose.yml из репозитория Запустите FileSync с помощью Docker Compose: docker compose up -d Откройте http://localhost в браузере на машине, где запущен Docker
Где скачать FileSync?
Исходный код и инструкции по установке — на GitHub: https://github.com/polius/FileSync

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Самостоятельно размещаемая платформа для обмена файлами по ссылке с ограничением срока действия, защитой паролем и лимитом посетителей.

567+19 за неделю63TypeScriptBSD-2-ClauseАктивно поддерживаетсяОбновлён 16 часов назад

Самостоятельно размещаемая платформа WebRTC с открытым исходным кодом для видеозвонков один на один с демонстрацией экрана и сквозным шифрованием.

520100JavaScriptAGPL-3.0Активно поддерживаетсяОбновлён вчера

Самостоятельно размещаемый сервис для анонимного обмена файлами и текстом: отправитель получает код доступа, по которому можно забрать содержимое.

8,8 тыс.+87 за неделю1,1 тыс.PythonLGPL-3.0Активно поддерживаетсяОбновлён 11 дней назад

Самостоятельно размещаемая видеоконференцсвязь с открытым исходным кодом на базе WebRTC: комнаты в браузере, демонстрация экрана, чат и доска.

4,8 тыс.+13 за неделю793JavaScriptAGPL-3.0Активно поддерживаетсяОбновлён 7 часов назад

Одноранговая платформа на базе IPFS для зашифрованного хранения файлов, обмена сообщениями и соцсети с возможностью самостоятельного хостинга.

2,6 тыс.+7 за неделю206JavaAGPL-3.0Активно поддерживаетсяОбновлён вчера