Про teamviewer (на скользком пути параноика)

Модераторы: dimbor, Модераторы разделов

Ответить
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Про teamviewer

Сообщение dimbor »

Захотелось тута под Новый год сотворить какое-нить бессмысленное и беспощадное доброе дело. Конечно же путем написания поучений, о которых никто нифига не просил. Речь пойдет о эникейном сисадминстве, сидючи под линуксом. Мы конечно тут усе такие красивые и с открытыми исходниками, но иногда от использования проприетари никуда не деться.

Последнее время слишком часто приходится использовать обозначенный teamviewer для удовлетворения различных теть-маш. Самой удобной получилась схема: "Зайдите на сайт teamviewer.com - скачайте - запустите - скажите id и пароль - не думайте ни о чем." Большой плюс также состоит в необязательности публичного ip-адреса у абонента - все через сторонний сервер и нахаляву, заметим.

Соответственно, под линукс сей продукт имеется. Он бодро функционирует под само-притащенным вайном. Т.е. подключаться к людям я могу. А вот подключаться ко мне совсем не надо даже и пытаться. Меж тем, вьюер последних версий напрочь отказывается работать без запущенного демона teamveiwerd. Демона, проприетарного, от рута запущенного, постоянно висящего. Упс - там еще ключи от квартиры надо положить для полного счастья. Паранойя негодуе.

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

Костыль состоит из двух частей. Первая - файлик tv в /etc/sudoers.d:

Код: Выделить всё

%users   ALL= NOPASSWD: /bin/systemctl * teamviewerd.service


А запускать вьюер надо через /usr/local/bin/tv_wd:

Код: Выделить всё

#!/bin/bash

daemon_bin="teamviewerd"
tv_bin="TeamViewer.exe"

proc_pids() {
    echo "$(ps -o pid= -C $1)"
}

d_ctl() {
    sudo /bin/systemctl $1 "$daemon_bin".service >/dev/null 2>&1
    echo $?
}

[ -n "$(proc_pids $tv_bin)" ] && exit # could be only one instance
[ $(d_ctl status) -ne 0 ] && d_ctl start >/dev/null 2>&1
sleep 1
/opt/teamviewer/tv_bin/script/teamviewer >/dev/null 2>&1 &
while true; do
    sleep 10
    if [ -z "$(proc_pids $tv_bin)" ]; then
        d_ctl stop >/dev/null 2>&1
        break;
    fi
done


Получилась сторожилка демона: запускаем сервис, запускаем вьюер, пока есть процесс вьюера, демон не завершаем - караулим.
/Еще конечно не забыть от рута отменить запуск демона при загрузке системы./

P.S. Не, ну понятно, что для полной контрацепции такую вещь в отдельной виртуалке надо запускать. Но вроде как эти ребята еще не замечены в гадостях. Значит пока такой баланс доверия.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Про teamviewer

Сообщение SLEDopit »

dimbor писал(а):
14.12.2015 12:10
Но вроде как эти ребята еще не замечены в гадостях.
Так при таком подходе когда заметят уже поздно будет (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: Про teamviewer

Сообщение dimbor »

За оценку рисков. Что такое они могут взять у меня, мелочи пузатой, что было бы дороже их репутации, ума не приложу. Опять же вероятность попасть именно в меня весьма маленькая. Опять же, повторяю: не ловлены. Для противопоставления имеются барыги из мелкософта с многочисленными скандалами с перс. данными и телеметрией. Несмотря на это жуткие миллионы человеков их продукцией пользоваться почему-то не перестают и вроде как ущерба не ощущают.

Да, а какой подход то быть должон?
Спасибо сказали:
Bedazzled
Сообщения: 311
ОС: ubuntu

Re: Про teamviewer

Сообщение Bedazzled »

не в тему...но думаю комуто пригодится...
я так и не смог освоять teamviewer под линукс, и перешол на x11vnc+repeater (как мне кажется и работает шустрее) , для win клиентов chunkvnc(ultravnc), он написан на autoit напихал туда своих опций как сумел пока терпимо:) .
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Про teamviewer

Сообщение SLEDopit »

dimbor писал(а):
14.12.2015 15:03
Да, а какой подход то быть должон?
Ну вы уже сами упоминали, в виртуалке запускать. Ну или хотя бы в chroot.

dimbor писал(а):
14.12.2015 15:03
Несмотря на это жуткие миллионы человеков их продукцией пользоваться почему-то не перестают и вроде как ущерба не ощущают.
В безопасности идея в том, чтобы не подвергать себя излишнему риску без крайней необходимости.
Этот как перебегать дорогу на красный свет. Если внимательно осмотреться, то вероятность быть сбитым не такая большая. Но зачем?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: Про teamviewer

Сообщение dimbor »

SLEDopit писал(а):
14.12.2015 15:43
Ну вы уже сами упоминали, в виртуалке запускать. Ну или хотя бы в chroot.

О - чрут! Спасибо, про него я как-то и запамятовал. Подумаю эту мысль и дополню описание здесь, если что получится.

Виртуалку давать, по честному, давит жаба, да и на xen по пути remote - X - sdl/vnc - X с графикой норовят произойти артефакты, тормозит опять же больше.

Bedazzled писал(а):
14.12.2015 15:30
x11vnc+repeater (как мне кажется и работает шустрее) , для win клиентов chunkvnc(ultravnc)


Идея хороша, если на винде удалось добиться схемы "тети-маши". Вот только vnc по субьективной тормознутости на узких каналах занимает почетное второе место (на первом - ssh -X).
Спасибо сказали:
Bedazzled
Сообщения: 311
ОС: ubuntu

Re: Про teamviewer

Сообщение Bedazzled »

"тети-маши" это как я понимаю скачал файл и сказал id , то тогда да тут именно так:) . Когда на win будет и ssh и -X и обязательно испробую:)
Спасибо сказали:
frost42
Сообщения: 21
ОС: slackware 14.1 kde

Re: Про teamviewer

Сообщение frost42 »

А ещё можно просто скачать TeamViewer tar.gz, распаковать и запускать из каталога teamviewer/tv_bin без уcтановки и предварительных танцев.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Про teamviewer

Сообщение eddy »

Зачем тащить эту дрянь, если к мастдайке можно через обычный vnc подключаться? Безо всякой дряни вроде wine... Не понимаю людей, которые wine пользуются. Ну, если ты так огорожен, скачай себе с торрентов мастдайку - не насилуй себя!
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: Про teamviewer

Сообщение dimbor »

eddy писал(а):
14.12.2015 20:05
Зачем тащить эту дрянь, если к мастдайке можно через обычный vnc подключаться? Безо всякой дряни вроде wine... Не понимаю людей, которые wine пользуются.


Да и через rdp тоже можно. А если за мастдайкой сидит профессор информатики, вообще бездна возможностей открывается.
Вот так, писал-объяснял, почему используется именно данная тулза. И почему vnc немного не то. А тут такой риторический вопросец. Да все оно понятно, что там дрянь и сям - тоже дрянь. И вся жизнь, меж прочим, тоже последнее время по консистенции далеко не фиалки. Тема внезапно заведена не для дачи качественных оценок используемому инструменту, а для заточки оного инструмента.

2Bedazzled: Не затруднит выложить куда-нить (сюда?) вашу сборку "chunkvnc(ultravnc), он написан на autoit напихал туда своих опций как сумел"?
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: Про teamviewer

Сообщение dimbor »

Ну и еще - гулять, так гулять. Сегодня узнал о существовании репитера к vnc. А вот вопрос: в линуксовых реализациях rdp уделено внимание наличию в виндах галки типа "Пригласить удаленного помощника" или это страшная мелкомягкая тайна?
Оно бы тоже решило наверное.
Спасибо сказали:
Bedazzled
Сообщения: 311
ОС: ubuntu

Re: Про teamviewer

Сообщение Bedazzled »

2dimbor

оригинал ChunkVNC_3_3_1
x11vnc + repeater
мои файлы распаковать в папку \ChunkVNC_3_3_1\SRC
там конечто в исходниках ужасть полный, так как только учусь autoit :)

список доработок:
Spoiler

+ultravnc заменен на последнию версию (если будут проблемы при сборке используйте ту что в оригинале)
+ настройки работают, теперь можно менять ip и порт , служба должна быть установленна
+ добавленна функция SwitchSpreadingKeyboard
должна решить проблему связанную с раскладкой клавиатуры.
+добавленна установка mirrordriver (взят тут ) /в папке это файл vnc_drv.exe
+ при запуске программы она проверяет связь с сервером (repeater) и вслучае потери связи выдаёт ошибку. но не закрывается теперь сама.
+ добавленна опция включения\отключения caps lock (а то есть любители)
+добавлено опция сделать снимок экрана.
+можно скачать самую последнию версию прямо из уже имеющейся программы:
> Справка > Cкачать последнию версию.
+много мелочевки
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux
Контактная информация:

Re: Про teamviewer

Сообщение eddy »

dimbor писал(а):
14.12.2015 22:12
А вот вопрос: в линуксовых реализациях rdp уделено внимание наличию в виндах галки типа "Пригласить удаленного помощника" или это страшная мелкомягкая тайна?

Открыть jabber и передать человеку свой IP + пароль VNC-сервера. Все.
А вот был бы в мастдайке нормальный ssh с человеческим башем, таких извращений не нужно было бы!

dimbor писал(а):
14.12.2015 21:48
А если за мастдайкой сидит профессор информатики, вообще бездна возможностей открывается.

Как подсказывает опыт, обычно "профессора информатики" в этой самой информатике — абсолютные нули!
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Bedazzled
Сообщения: 311
ОС: ubuntu

Re: Про teamviewer

Сообщение Bedazzled »

x11vnc portableversion (через repeater)

скрипт

Код: Выделить всё

#!/bin/sh
ID=`shuf -i 100000-999999 -n 1`
zenity --info --title="HELPDESK" --text="скажите ваш ID "$ID &
./x11vnc -connect repeater=ID:$ID+192.192.168.168:5509 -solid -ultrafilexfer -speeds dsl


скрипт и файл x11vnc ложим в одну папку,создаем архив и отпровляем клиенту.
Клиент ее разархивирует, нажмет на скрипт правой кнопкой мыши поставит галочку "Разрешить запуск этого файла в качестве программы",и потом запустит скрипт кликая мышкой, скажет вам свой ID и вы кнему подключитесь:)

тестировалось на ubuntu11.04 котороя находится в деревне с очень плохим инетом, работает быстрее teamviewer :)
Вложения
Untitled.png

[Расширение sh было запрещено, вложение больше недоступно.]

Спасибо сказали:
ShotSDV
Сообщения: 142
ОС: Mandriva

Re: Про teamviewer

Сообщение ShotSDV »

Возможно, что я ошибаюсь, но, насколько я помню, если в конторе стоит шлюз, то к VNC снаружи не прицепиться, если не пробросить порты до компа клиента. Иными словами, VNC сам себя не умеет выставлять наружу. Или уже научился?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Про teamviewer

Сообщение Bizdelnick »

ShotSDV писал(а):
23.01.2016 11:50
VNC сам себя не умеет выставлять наружу. Или уже научился?

Конечно не умеет. И не надо. Он должен принимать соединения только с локалхоста, а все внешние подключения — исключительно через SSH-туннель.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Bedazzled
Сообщения: 311
ОС: ubuntu

Re: Про teamviewer

Сообщение Bedazzled »

2 'ShotSDV'
поэтому используется репитер http://www.uvnc.com/products/uvnc-repeater.html
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: Про teamviewer

Сообщение dimbor »

А кое-кто (я) продолжает грызть этот кактус. Вылупился 13 TeamViewer (г. редкое). При закрытии окошка норовит загнаться в трей - процесс не завершается. Как следствие, скрыпт из шапки не отрабатывает.

Ниже вариант, где ловим закрытие окна по заголовку, а не pid процесса. Корявенько переписано, но теперь пашет:

Код: Выделить всё

#!/bin/bash

daemon_bin="teamviewerd"
tv_bin="TeamViewer"

wnd_pid() {
    echo "$(wmctrl -l -p | awk -v tv="$1" '{if($5~tv) {print($3)}}')"
}

d_ctl() {
    sudo /bin/systemctl $1 "$daemon_bin".service >/dev/null 2>&1
    echo $?
}

[ -n "$(wnd_pid $tv_bin)" ] && exit # could be only one instance
[ $(d_ctl status) -ne 0 ] && d_ctl start >/dev/null 2>&1
sleep 1
/opt/teamviewer/tv_bin/script/teamviewer >/dev/null 2>&1 &
while true; do
    sleep 10
    tvp0="$tvp"
    tvp="$(wnd_pid $tv_bin)"
    if [ -z "$tvp" ]; then
        kill "$tvp0" >/dev/null 2>&1
        d_ctl stop >/dev/null 2>&1
        break;
    fi
done


ЗЫ: Тулза wmctrl уже и не помню, откуда под мой xfce приблудилась. Выдает список открытых окон с пидами и заголовками. Еще можно xdotool, да тыщи их...
Спасибо сказали:
Ответить