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