All Projects → termbacktime → termbacktime

termbacktime / termbacktime

Licence: MIT License
Terminal recording and playback.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to termbacktime

Tlog
Terminal I/O logger
Stars: ✭ 170 (+415.15%)
Mutual labels:  playback, recording
Miniaudio
Single file audio playback and capture library written in C.
Stars: ✭ 1,889 (+5624.24%)
Mutual labels:  playback, recording
Managedbass
.Net Wrapper for 'Bass' Audio Library
Stars: ✭ 131 (+296.97%)
Mutual labels:  playback, recording
Drywetmidi
.NET library to read, write, process MIDI files and to work with MIDI devices
Stars: ✭ 204 (+518.18%)
Mutual labels:  playback, recording
Shaka Player
JavaScript player library / DASH & HLS client / MSE-EME player
Stars: ✭ 5,386 (+16221.21%)
Mutual labels:  live, playback
bigscreen-player
Simplified media playback for bigscreen devices
Stars: ✭ 62 (+87.88%)
Mutual labels:  live, playback
Shaka Player Embedded
Shaka Player in a C++ Framework
Stars: ✭ 153 (+363.64%)
Mutual labels:  live, playback
midi-recorder
🎹 The easiest way to record MIDI. No install. Automatically records.
Stars: ✭ 38 (+15.15%)
Mutual labels:  live, recording
hackupc-landing
🚀 HackUPC's landing page
Stars: ✭ 31 (-6.06%)
Mutual labels:  live
SwiftUIViewRecorder
Efficiently record any SwiftUI View as image or video
Stars: ✭ 20 (-39.39%)
Mutual labels:  recording
live-form-validation
⛔ Nice client-side live form validation for Nette Forms.
Stars: ✭ 55 (+66.67%)
Mutual labels:  live
libcare
libcare -- Patch Userspace Code in Live Processes
Stars: ✭ 128 (+287.88%)
Mutual labels:  live
foobar2000-web-ui
Control Foobar2000 from a (remote) web browser
Stars: ✭ 25 (-24.24%)
Mutual labels:  playback
streaming-pt
Live TV 📺 and Radio 📻 shell scripts from Portugal 🇵🇹.
Stars: ✭ 52 (+57.58%)
Mutual labels:  live
termpair
View and control terminals from your browser with end-to-end encryption 🔒
Stars: ✭ 1,390 (+4112.12%)
Mutual labels:  pty
blrec
Bilibili Live Streaming Recorder 哔哩哔哩直播录制
Stars: ✭ 124 (+275.76%)
Mutual labels:  live
like-fx-miniapp
微信小程序直播点赞效果
Stars: ✭ 19 (-42.42%)
Mutual labels:  live
LFLiveKit-ReplayKit
A ReplayKit Version
Stars: ✭ 46 (+39.39%)
Mutual labels:  live
KSYAirStreamer iOS
金山云 iOS Airplay 录屏直播SDK
Stars: ✭ 44 (+33.33%)
Mutual labels:  live
vuepress-plugin-example-preview
Easily display the preview of a code snippet
Stars: ✭ 15 (-54.55%)
Mutual labels:  live

TermBackTime

Go Report Card Discord

Terminal recording and playback, written in Go. All terminal recordings are currently saved as secret Gist postings.

Playback Example

TermBackTime - Playback

Install / Update

Note: If Go is already installed, will use the currently installed version to install termbacktime. There is now an install script for Linux, Darwin, and Windows 10 using WSL. This will attempt to install the latest version of Go, defaulting back to 1.14. For other distributions please see the releases page. Go will be installed in $HOME/.goroot as $GOROOT and $GOPATH is set to $HOME/go.

curl -s -L https://termbackti.me/install.sh | bash

To install a different version of Go:

 wget https://termbackti.me/install.sh
 ./install.sh <version>

For example, 1.14.12 would be ./install.sh 1.14.12

If you already have Go installed, you can manually install:

go get -u louist.dev/termbacktime
cd $GOPATH/src/louist.dev/termbacktime
make install

Authorization

In order to submit recordings to Gist you must first authorize TermBackTime with GitHub. We request access to the read:user and gist scopes. For more information, please see available scopes. You can request an auth token from ~/auth or by running the following terminal command:

termbacktime auth
  • GitHub authorization is NOT required for live terminal sharing.

Recording

After authorizing TermBackTime with GitHub simply run termbacktime record to start recording! Please see termbacktime --help for more options.

Live terminal sharing (BETA)

To start sharing your terminal over the web via WebRTC, simply run termbacktime live and give the provided link to someone. Please see termbacktime live --help for more options.

STUN options

For now TermBackTime uses Google's STUN servers unless changed at compile time.

STUNServerOne = "stun:stun1.l.google.com:19302"
STUNServerTwo = "stun:stun2.l.google.com:19302"

A STUN server is used to detect network addresses. Please see https://en.wikipedia.org/wiki/STUN for more information.

TURN options
  • Use an official TURN server provided by TermBackTime:
    • termbacktime live
  • Provide your own TURN server credentials:
    • termbacktime live --turn <username>:<password>@<server>[:<port>]
    • termbacktime live --user <username> --password <password> --addr <server>[:<port>]
  • Attempt to share without any TURN server:
    • termbacktime live --no-turn

A TURN server is used to relay WebRTC data between clients. Please see https://webrtc.org/getting-started/turn-server for more information.

Contributing

Please feel free to open a PR or an issue on GitHub. Convention for this repository is to fork it, create a branch feature/<feature name> in your fork based on master branch, and commit changes there. Once your changes are ready to merge back into this repository, squash your feature branch into one commit and open a PR from your repository's feature branch into the dev branch of this repository. Please make sure your master branch is up to date with master in this repo, and rebase your feature onto the tip of master.

Reporting Issues

Please do not report security related issues, vulnerabilities or bugs to the issue tracker, or elsewhere in public. Instead report sensitive bugs by email to [email protected].

  • Open an Issue with a clear and descriptive title.
    • Until we can discover whether it is a bug or not, we ask that you label it with possible-bug.
  • Explain the behavior you would expect and the actual behavior.
  • Please provide as much context as possible and describe the reproduction steps that someone else can follow to recreate the issue on their own.
    • Describe the current behavior and explain which behavior you expected to see instead and why.
    • Any availble stack traces or screenshots.
    • OS, platform and version. (Windows, Linux, macOS, x86, ARM)
    • If possible, please provide the termbacktime --version string.
      • If manually compiling please provide go version, termbacktime version located in the VERSION file, and the revision with git rev-parse --short HEAD.

Development

You can build your own development builds via make build-dev or make build-crosscompile-dev. I provide development server endpoints for playback + live terminal, login, and WebRTC signaling at:

Please note that these endpoints are under active development and may change or be unavailable at any time.

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].