This repository contains the bare minimum for using Guacamole from a Django project, to connect to a remote SSH target.

consumers.py implements the AsyncWebsocketConsumer from channels and uses pyguacamole library to connect to target.

To try out this repo, one needs a running guacd instance and a remote SSH target.

One option for guacd is to run it with docker:

```
docker pull guacamole/guacd
docker run -e GUACD_LOG_LEVEL=debug --name some-guacd -d -p 4822:4822 guacamole/guacd
```

Edit the settings accordingly:

```
# guacd daemon host address and port
GUACD_HOST = 'GUACD_IP'
GUACD_PORT = 4822

# ssh login settings
SSH_HOST = 'SSH_TARGET_IP'
SSH_PORT = 22
SSH_USER = 'user'
SSH_PASSWORD = 'password'
SSH_PRIVATE_KEY = '<private_key>'
```

Run:

```
pip install -r requirements.txt
python3 manage.py runserver
```

Open browser at http://localhost:8000/ws