All Projects → mohabusama → pyguacamole

mohabusama / pyguacamole

Licence: MIT license
Guacamole Python Client

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pyguacamole

Guacamole Server
Mirror of Apache Guacamole Server
Stars: ✭ 1,931 (+1932.63%)
Mutual labels:  guacamole
Next Terminal
Next Terminal是一个轻量级堡垒机系统,易安装,易使用,支持RDP、SSH、VNC、Telnet、Kubernetes协议。
Stars: ✭ 2,354 (+2377.89%)
Mutual labels:  guacamole
F2etest
F2etest是一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案。
Stars: ✭ 3,390 (+3468.42%)
Mutual labels:  guacamole
workfromhome-with-docker
HTML5 based remote desktop gateway using Apache Guacamole and Traefik Reverse Proxy including AD authentication and 2-FA
Stars: ✭ 42 (-55.79%)
Mutual labels:  guacamole
guacamole-manual
Mirror of Apache Guacamole Manual
Stars: ✭ 23 (-75.79%)
Mutual labels:  guacamole
guacamole-auth-jwt
Guacamole authentication extension based on JWT.
Stars: ✭ 28 (-70.53%)
Mutual labels:  guacamole
guacapy
REST API client for Apache Guacamole
Stars: ✭ 40 (-57.89%)
Mutual labels:  guacamole
guac
Apache Guacamole client ported to Go
Stars: ✭ 64 (-32.63%)
Mutual labels:  guacamole
cloudworkstation
A linux desktop in the cloud - reachable via browser using Apache Guacamole. Deployed automatically via Terraform ( + Ansible ).
Stars: ✭ 66 (-30.53%)
Mutual labels:  guacamole

PyGuacamole

A Python client library for communication with Guacamole server (guacd)

https://travis-ci.org/mohabusama/pyguacamole.svg?branch=master

Installation

Using pip

$ pip install pyguacamole

From source

$ python setup.py install

Usage

GuacamoleClient handles communication with a running guacd server via Guacamole Protocol.

GuacamoleClient must be used by a broker server which handles communication with a Javscript application running in the browser. GuacamoleClient implements the methods that enables communication with guacd server (send & receive).

First step should be establishing handshake with guacd server, then Broker server should handle instruction sending and receiving:

  • send: send instruction to guacd server
  • receive: receive instruction from guacd server
>>> from guacamole.client import GuacamoleClient
>>> client = GuacamoleClient('127.0.0.1', 4822)
>>> client.handshake(protocol='rdp', hostname='localhost', port=3389)

Once instruction is received from guacd server, it should be sent immediately to the browser

>>> instruction = client.receive()
>>> instruction
'4.size,1.0,4.1024,3.768;'

and once instruction is sent from browser, it should be sent immediately to guacd server

>>> instruction = '5.mouse,3.400,3.500;'
>>> client.send(instruction)

Notes

PyGuacamole is released under the MIT License and is based on the initial effort by Rescale django-guacamole project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].