В современных реалиях, когда интернет всё чаще напоминает минное поле с

блокировками и замедлениями, надежда на зарубежные (да и на некоторые

локальные) сервисы тает с каждым днем. В какой-то момент я пришел к выводу:

если хочешь, чтобы инструмент работал стабильно и не зависел от настроения

провайдеров или геополитики — напиши его сам.

 

Так появился, например, Fury Messenger (о котором я уже писал здесь) — мессенджер для

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

общения, я столкнулся со следующей «болью»: обмен файлами и документооборот. Именно на большом обьеме, а не кидая файлики или фоточки через мессенджер.

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

компьютерами, почему облака — это иногда лишнее звено, и как мой «велосипед»

в итоге уехал в B2B-сегмент.

 

Проблема: Танцы с бубном вокруг VPN

 Типичный сценарий обмена файлами сегодня выглядит так:

 1.  Залить в Telegram (ограничение по размеру, скорость иногда «режут»).

2.  Закинуть на Google Drive/Dropbox (нужен VPN, который нужно то включать, то

    выключать, чтобы не отвалились другие сервисы).

3.  Передать через локальную сеть (сложно настроить права доступа, если люди

    сидят в разных сегментах или городах).

 

Мне хотелось простоты: как в старой доброй Windows Shared Folder, но через

интернет и без необходимости быть системным администратором 80-го уровня.

Чтобы можно было просто «расшарить» папку конкретному человеку и передать файл

на максимально возможной скорости канала.

 

Так родился Z-Folder.

 Архитектура: Что под капотом?

 

Я не большой фанат готовых тяжелых фреймворков там, где можно реализовать

кастомный протокол. (вообще очень люблю кастомные, бинарные протоколы) В Z-Folder я пошел по пути максимального облегчения стека.

 1. Протокол передачи

 В основе лежит UDP. Почему не TCP?

   - NAT Punching: Для установления прямого P2P-соединения между узлами,

    находящимися за NAT, UDP подходит идеально.

  - Скорость: В условиях потерь пакетов или нестабильного линка UDP позволяет

    более гибко управлять повторными отправками и окном передачи.

 

Протокол чем-то напоминает STUN, но со своими особенностями для контроля

целостности данных и управления очередями.

 

2. Пробивка NAT и Fallback

 Разумеется, чистый P2P возможен не всегда (привет, симметричные NAT в

корпоративных сетях). Схема работы выглядит так:

 

1.  Центральный сервер: Выступает точкой авторизации и «свахой» (Signaling

    server). Он знает, кто в сети, и помогает узлам найти друг друга.

2.  P2P-коннект: Узлы пытаются «пробить» NAT и соединиться напрямую. Если

    получилось — данные летят со скоростью вашего интернет-провайдера,

    минуя любые промежуточные сервера.

3.  Relay (Fallback): Если прямой коннект невозможен, система автоматически

    переключается в режим релея. В этом случае сервер выступает

    посредником, просто пересылая пакеты. Это медленнее, но

    гарантирует доставку.

 

3. Безопасность и права доступа

 Система работает по принципу «белого списка». Вы создаете пользователей в личном

кабинете (один пользователь — одно устройство). В интерфейсе вы видите список

доступных контактов. Нажимаете на пользователя — видите только те папки,

которые он расшарил именно для вас. Права можно гибко настраивать: только

чтение или чтение/запись.

 

Интерфейс и «плюшки»

 Я сторонник минимализма. Главная задача Z-Folder — сделать так, чтобы даже

человек, далекий от ИТ, мог обмениваться файлами.

 

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

В процессе разработки я понял, что файлообмен без контекста — это неудобно.

Поэтому добавил внутрь простенький чат. Теперь не нужно переходить в

мессенджер, чтобы написать «Лови доки», — всё происходит в одном окне.

 

От пет-проекта к B2B

 Изначально я делал Z-Folder для себя и своих бизнес-партнеров. Но жизнь

подкинула интересные кейсы:

   - Кейс «Друг и локалка»: Мой знакомый никак не мог настроить общий доступ к

    папкам между двумя компами в квартире (классика Windows). Z-Folder решил

    его проблему за 2 минуты: поставил, залогинился, пользуешься.

  - Кейс «B2B»: Неожиданно проектом заинтересовались компании. Оказалось, что

    для оперативного документооборота между филиалами, особенно когда

    интернет в регионах «хромает», а VPN-шлюзы перегружены, такое легкое

    P2P-решение — настоящий спасение.

 

Итоги 

Z-Folder стал для меня ответом на вопрос: «А что если завтра отключат всё?».

Система независима от облачных хранилищ, не требует постоянного включения

VPN для доступа к файлам и выжимает максимум из доступного канала связи.

 

Сейчас сервис успешно живет, им пользуются несколько компаний и круг моих

знакомых. Это был отличный опыт создания закрытой, быстрой и надежной

экосистемы «для своих», которая переросла в нечто большее.

 

А как вы решаете вопрос передачи тяжелых файлов или документов в условиях

нынешних ограничений? Пользуетесь облаками, мессенджерами через боль или используете какие то другие решения?

Комментарии (11)


  1. aik
    16.05.2026 12:30

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

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

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

    Так что решение какое-то очень нишевое, для группы людей, которым по каким-то непонятным причинам не нравится облако/мессенджер, но они готовы использовать самодельный сервис. Я бы ещё что-то понял, если бы был мобильный клиент. Но только винда?

    Ну и переносы в тексте поправьте, а то у вас абзацы все криво разбиты.


  1. dreams_killer
    16.05.2026 12:30

    Пользуюсь croc ( github.com/schollz/croc ) , где то и на хабре про него тоже было ...


  1. pol_pot
    16.05.2026 12:30

    А как вы решаете вопрос передачи тяжелых файлов или документов в условиях нынешних ограничений?

    А что изменилось? Яндекс-маил диск как был так и остался у казуалов. И телеграм. Работающий ВПН есть примерно у всех, у кого нет того считай что нет в интернете.

    Для гиков есть прикольная схема. На компах устанавливается и настраивается связка из yggdrasil+rclone+winfsp. yggdrasil дает "прямую связь" по ип, rclone позволяет расшарить папку через вебдав/фтп/итп, winfsp вместе с rclone позволяет смонтировать такую папку как сетевой диск.

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

    Для улучшения качества связи надо будет поднять свои релеи, для этого нужен только узел с белым ип, его можно поднять на любом компе(венда, линукс без разницы, ему даже не обязательно работать постоянно) или роутере с опенврт/кинетике/микротике с докером.


  1. SchwarzFuchs
    16.05.2026 12:30

    Мы использовали Radmin+FileZilla для подобных задач. А насчёт статьи — не хватает раздела про то, как это всё защищено (защищено ведь?) от посторонних глаз.


  1. Apoheliy
    16.05.2026 12:30

    Яндекс.Диск - и будет тебе счастье!

    Морда не нужна!

    Браузер не нужен!

    Я.Диск автоматически синхронизируется с папкой на компьютере (под форточкой - хз, на пингвине работает идеально). При работе через мобильник - своё приложение и пункт "отправить" из всего подряд.


    1. dartraiden
      16.05.2026 12:30

      Я.Диск автоматически синхронизируется с папкой на компьютере

      Скоро перестанет, с 1 июня синхронизация на десктопе становится платной услугой.


  1. Anselm_nn
    16.05.2026 12:30

    Из предложенных вариантов выбор google, там совершенно спокойно можно загрузить файлы даже используя rclone.

    Если говорить про p2p, есть же send anywhere. Не понял, в чем отличие от вашего решения


  1. K0Jlya9
    16.05.2026 12:30

    На самом деле реально востребованная задача не имеющая пока нормального решения. Все бесплатные варианты упираются в то что NAT далеко не всегда получается проткнуть, а платить за хорошие быстрые релеи для миллионов халявщиков никто не хочет, даже google c cloudflare.

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


  1. ighost
    16.05.2026 12:30

    syncthing ещё есть, как вариант.


  1. imintsev
    16.05.2026 12:30

    Nextcloud?


  1. BcTpe4HbIu
    16.05.2026 12:30

    Что то выглядит как syncthing, но с каким то центральным логином и управлением. А что будет если завтра этот центральный сервер закроется? syncthing продолжит работать как работал, особенно если пиры в локальной сети и уже знают ip друг друга.