ZeroLab.NeT Viewer - Аналог TeamViewer

Удаленная поддержка пользователей за NAT, но не через чужие неконтролируемые сервера, а через свой. Если вас, как и меня, посещала когда-либо подобная идея, то у меня для вас хорошая новость.

Для реализации реверсивного туннеля будет использоваться SSH, ведь он идет чуть ли не из коробки практически в любом Linux дистрибутиве. В наше время найти очень дешевый VPS на Linux вообще не проблема. SSH-сервера есть и под Windows, при желании можете настроить и на нем. Самое важное, чтобы наш сервер ретрансляции имел прямой доступ в Интернет, будет использоваться диапазон портов 20000-60000.

Если SSH-сервер у вас не предустановлен, устанавливаем на примере Debian GNU/Linux:

apt-get install openssh-server

Добавляем в конфигурацию ‘/etc/ssh/sshd_config’ в конце файла:

# ssh reverse tunnel bind to all interfaces
GatewayPorts yes
TCPKeepAlive yes
ClientAliveInterval 5
ClientAliveCountMax 2

Перезапускаем SSH-сервер:

service ssh restart

И добавляем служебного пользователя, к примеру ‘helper’, без доступа к консоли:

useradd -M -s /bin/false helper
passwd helper

Если вы настраивали iptables, то откройте диапазон портов 20000-60000:

iptables -A INPUT -p TCP --dport 20000:60000 -j ACCEPT

На этом настройка SSH-сервера завершена. В качестве бонуса так же опционально реализована работа с обфусцированным SSH-сервером, для зарегулированных правительством пользователей под контролируемыми DPI каналами связи. Программа хранит свои настройки в ini-файле для простой переносимости, пароли не хранятся в открытом виде. Работает без прав администратора.

Для реализации удаленного доступа я решил воспользоваться открытым проектом Aspia. Скорость, качество отрисовки, ресурсопотребление и простота настройки которого очень напоминают Radmin. Файл с базой пользователей и правами доступа находится в папке с программой ‘bin\userlist.dat’. По умолчанию выставлен пользователь ‘1’ с паролем ‘123456’ и минимальными правами лишь на удаленное управление. Вызов окна редактирования прав доступа можно и необходимо выполнять из моего приложения.

Для большей универсальности в качестве опции было принято решение добавить VNC сервер — TightVNC. При запуске автоматически устанавливаются оптимальные настройки, реализована установка VNC пароля на доступ из моего приложения.

Преднастраиваете сервер, отправляете пользователю, он жмет пару кнопок и диктует вам ID/порт, вы в клиенте вводите адрес своего сервера ретрансляции и ID/порт, подключаетесь к пользователю. Вот и все, приятного пользования!

Скачать zeroviewer-1.8.9.1-ZeroLab.NeT (версия 1.8.9.1, обновлено: 04.07.2018 — 21:52)[~3.3 МБайт]

Выпущена вторая линейка.

Сайт с новой версией: https://null.la