Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zachlatta/sshtron
$ ssh sshtron.zachlatta.com
https://github.com/zachlatta/sshtron
game go ssh
Last synced: about 2 hours ago
JSON representation
$ ssh sshtron.zachlatta.com
- Host: GitHub
- URL: https://github.com/zachlatta/sshtron
- Owner: zachlatta
- License: mit
- Created: 2016-03-06T03:15:11.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-07-17T01:48:13.000Z (over 1 year ago)
- Last Synced: 2025-01-04T12:42:53.784Z (7 days ago)
- Topics: game, go, ssh
- Language: Go
- Homepage: http://sshtron.zachlatta.com
- Size: 448 KB
- Stars: 2,101
- Watchers: 37
- Forks: 106
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-golang-repositories - sshtron
README
# ![SSHTron](https://cdn.rawgit.com/zachlatta/sshtron/master/logo.svg)
SSHTron is a multiplayer lightcycle game that runs through SSH. Just run the command below and you'll be playing in seconds:
$ ssh sshtron.zachlatta.com
_Controls: WASD or vim keybindings to move (**do not use your arrow keys**). Escape or Ctrl+C to exit._
![Demo](static/img/gameplay.gif)
**Code quality disclaimer:** _SSHTron was built in ~20 hours at [BrickHack 2](https://brickhack.io/). Here be dragons._
## Want to choose color yourself?
There are total 7 colors to choose from: Red, Green, Yellow, Blue, Magenta, Cyan and White
$ ssh [email protected]
If the color you picked is already taken in all open games, you'll randomly be assigned a color.
## Running Your Own Copy
Clone the project and `cd` into its directory. These instructions assume that you have your `GOPATH` setup correctly.
```sh
# Create an RSA public/private keypair in the current directory for the server
# to use. Don't give it a passphrase.
$ ssh-keygen -t rsa -f id_rsa# Download dependencies and compile the project
$ go get && go build# Run it! You can set PORT to customize the HTTP port it serves on and SSH_PORT
# to customize the SSH port it serves on.
$ ./sshtron
```## Running under a Docker container
Clone the project and `cd` into its directory.
```sh
# Build the SSHTron Docker image
$ docker build -t sshtron .# Spin up the container with always-restart policy
$ docker run -t -d -p 2022:2022 --restart always --name sshtron sshtron
```For Raspberry Pi, use the following to build the Docker image:
```sh
$ docker build -t sshtron --build-arg BASE_IMAGE=resin/raspberry-pi-golang:latest .
```## CVE-2016-0777
[CVE-2016-0777](https://www.qualys.com/2016/01/14/cve-2016-0777-cve-2016-0778/openssh-cve-2016-0777-cve-2016-0778.txt)
revealed two SSH client vulnerabilities that can be exploited by a malicious SSH server. While SSHTron does not exploit
these vulnerabilities, you should still patch your client before you play. SSHTron is open source, but the server
could always be running a modified version of SSHTron that does exploit the vulnerabilities described
in [CVE-2016-0777](https://www.qualys.com/2016/01/14/cve-2016-0777-cve-2016-0778/openssh-cve-2016-0777-cve-2016-0778.txt).If you haven't yet patched your SSH client, you can follow
[these instructions](https://www.jacobtomlinson.co.uk/quick%20tip/2016/01/15/fixing-ssh-vulnerability-CVE-2016-0777/) to do so now.## License
SSHTron is licensed under the MIT License. See the full license text in [`LICENSE`](LICENSE).