Приветствую, друзья.
Это мой второй пост, первый был закидан тапками) Надеюсь тут будет лучше.
Итак, наша команда работает над проектом, в основе которого лежит библиотека для удаленных соединений за NAT. И мы решили дать возможность программистам, девопсам и сисадминам бесплатно использовать эту библиотеку.
Библиотеку мы назвали Heredes (HEadless REmote DEsktop System). Это библиотека для управления рабочим столом удаленного ПК из приложений - вроде не дает никто такого? Нам не жалко, а вам, надеемся, пригодится. Аналогов отдельных для решения конкретной задачи как бы и нет. Есть как часть какого-то сервиса, что далеко не всегда приемлемо. И то для пользователей и сисадминов. Ну а для разработчиков - это всегда делать все с нуля самим.
Возможности библиотеки:
- Простое установление прямого соединения между двумя ПК за NAT (в разных подсетях)
- Двусторонний обмен любыми пользовательскими данными.
- Оптимизация для простоты реализации таких повседневных задач как:
- Прямая передача файлов за NAT. Размер файлов ограничен вместимостью ваших жестких дисков
- Покадровое реалтайм видео с рабочего стола одной машины на другую. Возможность отрисовки рабочего стола как на виртуальном DC так и на реальном
- Реалтайм аудио с микрофона одной машины на колонки второй (в формате PCM) с возможностью записи аудио в файл.
- Проброс клавиатуры и мыши между двумя ПК за NAT.
- Шифрование пересылаемых данных с помощью необычного закрытого ключа.
- Наше решение для разработчиков, то есть это библиотека которую можно использовать в Вашем проекте
- Мы пробиваем NAT. И клиент и сервер могут не иметь белых адресов
Минусы:
- Логин на пк/сервере. Мы не логинимся, т.о. вход на ваши сервер или ПК должен быть выполнен.
- Два ПК в одной локальной сети, видя друг друга напрямую, тем не менее не смогут при помощи этой библиотеки установить соединение.
Сферы возможного использования:
- Удаленный доступ за NAT к любому ПК .
- Автоматизация процессов ПК за NAT, в т.ч нескольких машин одновременно, работу которых нужно согласовать (синхронизировать).
- Несколько рабочих столов можно отображать в одном интерфейсе.
- P2P мессенджер (с голосовым, видео, текстовым обменом и реальной возможностью передавать любые другие данные/файлы на выбор разработчиков).
Детальнее с тех. документацией вы можете ознакомиться тут. Пока только Windows, но скоро будет Linux.
Что мы ждем от вас:
1. Конструктивную критику. Возможно, мы давно видим однобоко свой продукт.
2. Конкретные предложения. Где что-то добавить, а где убрать.
3. Направление развития. По вашим отзывам будем формировать планы на будущее. Пока думаем работать над р2р файлопередавалкой и менеджером удаленных соединений (он вообще нужен?).
В следующих статьях (или статье) распишем более детально работу с C, C #, C ++, Python, PHP и JS (для десктопных приложений), Delphi и на примерах (просьба написать какие из этих вопросов актуальны, а какие не нужны):
- простая звонилка за NAT;
- простой обмен текстовыми сообщениями за NAT;
- простая передача файлов за NAT;
- простой RDP за NAT;
- фоновое сохранение скрина удалённого ПК за NAT;
- удаленная командная строка CMD за NAT.
Ссылки: на проект, скачать архив, документация.