Skip to content

Commit a85717c

Browse files
MagicalTuxclaude
andcommitted
update README with comprehensive documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9b9fdb0 commit a85717c

1 file changed

Lines changed: 68 additions & 7 deletions

File tree

README.md

Lines changed: 68 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,73 @@
1-
# Shells™ Go client
1+
# Shells™ Go Client
22

3-
This is a client to remotely access Shells™ virtual desktop instances.
3+
A cross-platform desktop client for remotely accessing [Shells™](https://www.shells.com) virtual desktop instances.
44

5-
It uses Spice protocol in order to provide access to the display, controls, etc.
5+
## Requirements
66

7-
## PortAudio / opus dependencies
7+
**A Shells™ account is required to use this application.** You can create an account at [shells.com](https://www.shells.com).
88

9-
Add the following to `go.mod` for statically including portaudio & opus as static libs:
9+
## Features
1010

11-
replace github.com/gordonklaus/portaudio => github.com/KarpelesLab/static-portaudio v0.6.190600
12-
replace github.com/hraban/opus => github.com/KarpelesLab/static-opus v0.5.131
11+
- Remote desktop access to your Shells™ virtual machines
12+
- Cross-platform support (Linux, macOS, Windows)
13+
- SPICE protocol for high-performance display, keyboard, and mouse input
14+
- Audio support via PortAudio and Opus codec
15+
- Clipboard sharing between local and remote systems
16+
- OAuth2 authentication with QR code support for thin clients
17+
18+
## Building
19+
20+
### Prerequisites
21+
22+
- Go 1.23 or later
23+
- CGO enabled (required for audio and graphics dependencies)
24+
25+
### Linux
26+
27+
Install the required development packages:
28+
29+
```bash
30+
# Debian/Ubuntu
31+
sudo apt-get install libgl1-mesa-dev libxcursor-dev libxrandr-dev \
32+
libxinerama-dev libxi-dev libxxf86vm-dev libasound2-dev pkg-config
33+
34+
# Fedora
35+
sudo dnf install mesa-libGL-devel libXcursor-devel libXrandr-devel \
36+
libXinerama-devel libXi-devel libXxf86vm-devel alsa-lib-devel pkgconfig
37+
```
38+
39+
### macOS
40+
41+
Xcode command line tools are required:
42+
43+
```bash
44+
xcode-select --install
45+
```
46+
47+
### Windows
48+
49+
MSYS2 with MinGW64 toolchain is recommended for building on Windows.
50+
51+
### Build
52+
53+
```bash
54+
go build -v .
55+
```
56+
57+
## Static Linking (PortAudio / Opus)
58+
59+
For producing portable binaries with statically linked audio libraries, add the following to `go.mod`:
60+
61+
```
62+
replace github.com/gordonklaus/portaudio => github.com/KarpelesLab/static-portaudio v0.6.190600
63+
replace github.com/hraban/opus => github.com/KarpelesLab/static-opus v0.5.131
64+
```
65+
66+
## Environment Variables
67+
68+
- `SHELLS_FULLSCREEN=WIDTHxHEIGHT` - Start in fullscreen mode with specified resolution (e.g., `1920x1080`)
69+
- `SHELLS_LOGIN=thin` - Use QR code login flow for thin client deployments
70+
71+
## License
72+
73+
This software is proprietary to Shells™. See [shells.com](https://www.shells.com) for terms of service.

0 commit comments

Comments
 (0)