Patrice Ferlet
Patrice Ferlet
Créateur de ce blog.
Publié le nov. 30, 2017 Temps de lecture: 7 min

Me suivre sur Mastodon

Adieu TeamViewer

thumbnail for this post

J’en avais marre de TeamViewer, des soucis avec Wayland, incompatibilité de versions, et puis pour partager simplement un terminal ou un écran je ne voulais pas que le “client” ait quoique ce soit à installer. Et VNC est trop contraignant avec ces foutus ports. Voyons ce qu’on a sous la main pour virer ce logiciel.

Oui, je sais, vous en avez rien à faire que TeamViewer soit un truc qui appartienne à une boite qui ne vous dit pas comment elle peut loguer tout ce qu’il se passe quand vous partagez une session avec quelqu’un, mais moi ça m’intrigue. Et puis en plus, je préfère largement avoir plusieurs solutions sous la main selon mon besoin (pourquoi partager un écran si je veux juste montrer un terminal ?).

Bref, le but c’est que moi j’ouvre un logiciel et que celui à qui je veux partager mon terminal ou mon écran n’ait qu’à aller sur une page web. Et bha tu me crois, tu me crois pas, mais j’ai trouvé deux outils qui m’ont tué en terme de simplicité.

Ces deux solutions vont vous rendre la vie plus simple. L’une est purement pour partager un simple terminal, et l’autre ressemble plus à TeamViewer, sauf que vous n’aurez pas besoin d’un client lourd pour vous y connecter. Et il va en plus vous donner un peu plus d’info et de possibilités que ce bon vieux TeamViewer ou VNC.

On va donc parler de tmate et de DWservice

Tmate - partager un terminal

Vous allez me dire:

Oouais super, bha SSH avec “type” + “script” ça marche bien.

Oui… mais il se passe quoi quand je suis derrière ma box et que le copain à qui je veux montrer du code, un terminal, une sortie de commande, se trouve à l’autre bout du globe (amis platistes, bonsoir)

Il faut ouvrir un port, faire du NAT, créer un compte à l’utilisateur pour pas qu’il ait accès à votre home… puis lancer une sessions “script” ("script -f /tmp/session" par exemple) dans un fichier et demander à votre pote de lancer “tail -f /tmp/session” bref… c’est chiant.

Et là, on a “tmate” qui arrive avec sa cape et ses super-pouvoirs pour éviter de passer un diplôme d’ingé juste pour permettre un partage de session. Tmate est un “simple” fork de “tmux” avec des options de “broadcast” vers un serveur.

Ça va vous détendre… croyez moi !

On l’installe bêtement:

# Fedora
dnf install tmate
# debian, ubuntu
apt-get isntall tmate
# freebsd
pkg install tmate
# etc...

Ensuite vous lancez une session:

tmate

Là vous vous retrouvez dans un “tmux” qui peut partager (par défaut) votre session sur “tmate.io” avec des adresses secrètes.

Pour connaitre ces infos, c’est simple, dans votre session tmate:

$ tmate show-messages
Wed Nov 29 00:53:06 2017 [tmate] Connecting to ssh.tmate.io...
Wed Nov 29 00:53:06 2017 [tmate] Note: clear your terminal before sharing readonly access
Wed Nov 29 00:53:06 2017 [tmate] web session read only: https://tmate.io/t/ro-XXXXXXXXX
Wed Nov 29 00:53:06 2017 [tmate] ssh session read only: ssh ro-YYYYYYYYY@ln2.tmate.io
Wed Nov 29 00:53:06 2017 [tmate] web session: https://tmate.io/t/ZZZZZZZZZZZZ
Wed Nov 29 00:53:06 2017 [tmate] ssh session: ssh AAAAAAAAAAAAAA.tmate.io
Wed Nov 29 00:54:53 2017 [tmate] A mate has joined (77.XX.XX.XX) -- 1 client currently connected
Wed Nov 29 00:55:39 2017 [tmate] A mate has joined (77.XX.XX.XX) -- 2 clients currently connected
Wed Nov 29 00:55:51 2017 [tmate] A mate has left (77.XX.XX.XX) -- 1 client currently connected
Wed Nov 29 00:55:54 2017 [tmate] A mate has left (77.XX.XX.XX) -- 0 client currently connected

(j’ai pensé à masquer les infos)

Vous l’avez compris, il y a 4 façons de vous connecter à votre session:

  • en ssh READ ONLY,
  • en ssh normal (donc le participant peut contrôler le tmux)
  • en web READ ONLY - une page web où le participant voit le terminal
  • en web avec contrôle

Donc, vous donnez le lient ssh, ou web, à votre pote, et vous tapez “clear” dans le terminal pour cacher les infos si vous ne voulez pas qu’il voit la manière de se connecter en session “write” alors que vous lui avez donné que le droit de lire (vous suivez ? il est tard et je tape un peu à la va-vite là…)

Et si vous voulez, vous pouvez créer votre propre serveur tmate, du coup vous êtes sûr que les monsieurs derrière le serveur de tmate ne loguent rien, bien que j’ai confiance en leur outil et leurs intentions.

Bref, l’outil est magistralement simple et efficace.

DWService - un TeamViewer like, voir mieux

Autre outil que j’adore, DWService.

Là on a un outil qui déchire. Il existe plusieurs façons de l’utiliser et il offre des options de dingue.

La première chose que vous voulez faire, c’est contrôler un PC à distance. Le serveur est “autonome” et peut être utilisé sans installation. Il marche sur Linux, Windows, RaspBerry et OSX.

Allez sur la page d’accueil et regardez à droite, vous avez un lien de téléchargement, cliquez ou suivez ce que je vous propose pour linux pour le faire en ligne de commande:

Sur linux, vous pouvez faire:

curl -sSL https://www.dwservice.net/download/dwagent_x86.sh -o /tmp/dwservice.sh
bash /tmp/dwservice.sh

Une fenêtre s’ouvre, vous acceptez “sans installation” et l’outil vous donne un identifiant et un mot de passe que vous donnez à votre ami. Et là, hop, il voit votre écran en ligne. Pas de plugin, pas de truc compliqué, c’est simple et efficace.

En plus de l’affichage, vous avez à disposition:

  • accès aux fichiers
  • accès des des stats et des graphiques (utilisation cpu, mémoire, disque…)
  • création de terminal
  • etc…

DWService peut aussi être installé en service (il faut les droits d’admin) et il va donc démarer un “daemon” qui vous permettra d’accéder à vos machines depuis votre navigateur. Alors, là, il faut un compte (mais c’est gratos hein) et vous loguer sur le site.

Les choix

La page de ressource

Mieux encore, vous pouvez créer un partage “limité” (ou pas) ces options. Par exemple si je veux partager mon écran en lecture seule:

Il me suffit d’aller décocher “accès complet” et décocher aussi “accès à la souris et au clavier”, et voilà, je peux montrer mon écran à qui je donnerai le lien. Et c’est pareil pour toutes les ressources (terminal, logs, etc…)

DWService est un véritable petit bijou, mais il a ses contraintes… Le client est libre, mais pas le serveur - dans leur FAQ ils disent ne rien loguer, mais bon on doit compter sur votre confiance. Et puis, malheureusement, DWService est pas très rapide. Je soupçonne que le fait de passer dans un navigateur n’aide pas. Et comme le serveur est pas open source, et bien pas moyen de tenter d’aider.

Dernier point, j’ai un bug avec Chromium (ou Chrome EDIT: ha bha non, seulement chromium en fait), impossible d’ajouter des contraintes de contrôle comme dans la capture ci-dessus. Le bug n’est pas valable sous FireFox et Chrome. Bref, des “détails” qui peuvent vous gêner un poil.

Mais, sans déconner, j’avais jamais imaginé que ça puisse être si simple. Je ne sais pas quoi leur dire à part “bravo”. Et ça donne envie de répondre à leur appel aux dons: https://www.dwservice.net/fr/contribute-sponsorshipsdonations.html

Franchement, le parrainage est pour les entreprises, mais donner 5-10€ en don (en bas de page) ce serait pas du luxe…

Conclusion

Bha que dire… ?

En général tmate suffit pour une démo rapide d’un outil avec un collègue.

DWService sur mon raspberry et mon pc de la maison pour y accéder à l’extérieur (parce que je vous rapelle que c’est du pur web là) me permet de dégager TeamViewer.

Et quand ma chère mère est bloquée sur son PC et bien elle lance simplement dwservice en cliquant sur l’icone et elle me donne les identifiant. Et sans me prendre le but, sans ouvrir des ports, sans rien avoir à faire de plus que d’aller sur le site, je peux l’aider sans rien installer de mon coté.

Bref, TeamViewer, adieu. Même si, il faut l’admettre, TeamViewer a le mérite d’être rapide, je préfère de loin tmate et DWService selon le besoin. Pour leur vitesse, pour leur justesse et les options que je ne trouve pas ailleurs (terminal, ressources cpu/mem, partage de dossier, etc…) je n’ai pas envie de passer à autre chose.

Et oui, avec l’IPv6 je pourrait aussi me connecter à mon PC à la maison, mais beaucoup d’endroits d’où je bosse n’ont pas activé l’IPv6. Et je déteste le NAT… donc voilà !

comments powered by Disqus