https://github.com/vitorbaptista/shellshare
Live terminal broadcasts
https://github.com/vitorbaptista/shellshare
broadcast hacktoberfest live-broadcasts shell terminal-share
Last synced: 3 months ago
JSON representation
Live terminal broadcasts
- Host: GitHub
- URL: https://github.com/vitorbaptista/shellshare
- Owner: vitorbaptista
- License: apache-2.0
- Created: 2013-07-14T18:50:48.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2023-04-26T16:41:18.000Z (almost 3 years ago)
- Last Synced: 2025-10-02T02:56:02.383Z (7 months ago)
- Topics: broadcast, hacktoberfest, live-broadcasts, shell, terminal-share
- Language: JavaScript
- Homepage: https://shellshare.net
- Size: 926 KB
- Stars: 225
- Watchers: 7
- Forks: 23
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-systools - shellshare
README
# shellshare
[](https://github.com/vitorbaptista/shellshare/actions/workflows/e2e.yml)
[](https://github.com/vitorbaptista/shellshare/actions/workflows/release.yml)
Live broadcast of terminal sessions.
## Why?
Ever wanted to quickly show what you're doing to some friends? Maybe you're seeing a weird error and would like some help. Or the other way around: some friend of yours is asking for help on something, then you start to ping-pong: you tell a command, he pastes the output, then you tell another, and so on...
The objective of [shellshare.net](https://shellshare.net) is to provide an easy way to broadcast your terminal live. No signups, no configurations, anything: simply run a command and you're good to go.
## Using
Copy and paste the following line in your terminal:
```bash
curl -sLo shellshare https://get.shellshare.net/ && chmod +x shellshare && ./shellshare
```
You'll see a line saying `Sharing session in
https://shellshare.net/r/h2Uont4F8bvZ8VDjHb` (your link will be different).
Anyone that opens this link will be able to see what you're doing in your
terminal. When you're done, type `exit` or hit CTRL+D.
### Hosting a server
The same `shellshare` binary also includes the server code, allowing you to broadcast your terminal to a server you control.
To do so you just need to run `shellshare server` in one terminal and access [http://localhost:3000](http://localhost:3000). You can broadcast to this server using `shellshare --server http://localhost:3000`. You can use [ngrok](https://ngrok.com) to easily get a public URL to shellshare running on your local machine.
## Installing
Requires [Rust](https://rustup.rs/) to build from source:
```bash
cargo build --release
./target/release/shellshare server
```
This will run the server on [localhost:3000](http://localhost:3000). To
broadcast to this instance, use the `--server` option:
```bash
./target/release/shellshare --server http://localhost:3000
```
## Deploy
To deploy with [Dokku](https://dokku.com/), configure it to pull from `Dockerfile.production`, which pulls the Docker image from GitHub Container Registry:
```bash
# Create the app
dokku apps:create shellshare
# Configure to pull from Dockerfile.prooduction
dokku builder-dockerfile:set shellshare dockerfile-path Dockerfile.production
# Deploy
make deploy
```
## Limitations
This project is intended for live broadcasts only. If you'd like to record your terminal, check [asciinema.org](https://asciinema.org)
or [other terminal recording tools](https://github.com/topics/terminal-recording).
# License
Copyright 2015 Vitor Baptista
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.