# yudai/gotty

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/yudai-gotty).**

19,407 stars · 1,408 forks · Go · mit

## Links

- GitHub: https://github.com/yudai/gotty
- awesome-repositories: https://awesome-repositories.com/repository/yudai-gotty.md

## Topics

`browser` `go` `javascript` `terminal` `tty` `typescript` `web` `websocket`

## Description

Gotty is a web-based terminal emulator that functions as a secure remote shell gateway. It exposes command-line processes as interactive web applications, allowing users to access and manage terminal sessions directly through a standard browser without requiring local terminal software.

The system distinguishes itself by integrating with terminal multiplexers to enable shared, real-time collaboration among multiple remote clients. It enforces security through a combination of TLS-encrypted network transport and configurable access control mechanisms, including basic authentication and client certificates.

To maintain system integrity, the software provides isolated execution environments for each connected user. It supports containerized session isolation and process-level sandboxing to ensure that individual user environments remain independent and secure during remote administration tasks.

## Tags

### Operating Systems & Systems Programming

- [Web-Based Terminal Gateways](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-management/terminal-session-managers/web-based-terminal-gateways.md) — Exposes command-line processes as interactive web applications for direct terminal access through a standard browser. ([source](https://github.com/yudai/gotty/blob/master/README.md))
- [Pseudo-Terminal Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-infrastructure/pseudo-terminal-interfaces.md) — Bridges command-line processes with network sockets using system-level pseudo-terminal interfaces for remote interaction.
- [Process Isolation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/process-isolation.md) — Spawns individual command-line processes in isolated execution environments to ensure user sessions remain sandboxed and independent.
- [Terminal Session Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-management/terminal-session-managers.md) — Allows remote users to view and interact with active terminal sessions directly through a web browser. ([source](https://github.com/yudai/gotty#readme))

### System Administration & Monitoring

- [Web-Based Remote Terminals](https://awesome-repositories.com/f/system-administration-monitoring/web-based-remote-terminals.md) — Provides browser-based access to remote server shells, allowing users to interact with command-line processes directly through a web interface.

### Web Development

- [Web-Based Terminal Emulators](https://awesome-repositories.com/f/web-development/web-based-terminal-emulators.md) — Exposes command-line processes as interactive web applications, serving terminal environments directly to standard web browsers.
- [WebSockets](https://awesome-repositories.com/f/web-development/websockets.md) — Streams terminal input and output events over persistent bidirectional WebSocket connections to synchronize the server with the browser.

### DevOps & Infrastructure

- [Remote Management Gateways](https://awesome-repositories.com/f/devops-infrastructure/remote-management-gateways.md) — Acts as a secure gateway that protects and proxies terminal sessions using TLS encryption and configurable authentication mechanisms.
- [Containerized Execution](https://awesome-repositories.com/f/devops-infrastructure/containerized-execution.md) — Executes terminal sessions within isolated container environments to ensure security and prevent resource conflicts between remote user sessions.
- [Container Isolation Technologies](https://awesome-repositories.com/f/devops-infrastructure/container-isolation-technologies.md) — Executes terminal commands within separate containerized environments to prevent resource conflicts and ensure session security. ([source](https://github.com/yudai/gotty/blob/master/README.md))

### Development Tools & Productivity

- [Terminal Multiplexers](https://awesome-repositories.com/f/development-tools-productivity/terminal-multiplexers.md) — Integrates with terminal multiplexers to enable real-time collaboration by allowing multiple clients to share a single terminal instance. ([source](https://github.com/yudai/gotty#readme))
- [Terminal Multiplexer Integrations](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration/terminal-multiplexer-integrations.md) — Provides native integration with terminal multiplexers to facilitate shared, real-time terminal interaction among multiple remote users. ([source](https://github.com/yudai/gotty/blob/master/README.md))
- [Containerized and Isolated Workspaces](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/containerized-isolated-workspaces.md) — Provides isolated, containerized workspaces for terminal sessions to ensure a secure and sandboxed experience for every connected user.
- [Collaborative Terminal Sessions](https://awesome-repositories.com/f/development-tools-productivity/collaborative-terminal-sessions.md) — Enables real-time collaboration by allowing multiple remote users to view and interact with shared terminal sessions via multiplexers.
- [Cross-Compilation Toolchains](https://awesome-repositories.com/f/development-tools-productivity/cross-compilation-toolchains.md) — Generates executable binaries for diverse operating systems and hardware architectures from a single source codebase. ([source](https://github.com/yudai/gotty/blob/master/wercker.yml))
- [Cross-Platform Build Systems](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-systems.md) — Compiles application code into native binaries for multiple operating systems and hardware architectures. ([source](https://github.com/yudai/gotty/blob/master/Makefile))

### Security & Cryptography

- [Secure Remote Management Protocols](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/secure-remote-management-protocols.md) — Secures remote administration of server environments using TLS-encrypted network transport and robust authentication protocols.
- [Traffic Encryption](https://awesome-repositories.com/f/security-cryptography/traffic-encryption.md) — Secures terminal sessions by applying TLS encryption to all data transmitted between the server and remote browsers. ([source](https://github.com/yudai/gotty/blob/master/README.md))
- [Transport Layer Security](https://awesome-repositories.com/f/security-cryptography/transport-layer-security.md) — Protects sensitive terminal data in transit by wrapping all network communication in secure transport layer security tunnels.
- [Request Authentication Middleware](https://awesome-repositories.com/f/security-cryptography/request-authentication-middleware.md) — Intercepts incoming connection requests to validate user sessions and enforce access control policies before granting terminal access.
- [Access Authentication](https://awesome-repositories.com/f/security-cryptography/user-access-management/access-authentication.md) — Controls access to terminal sessions using basic authentication, random URL generation, and client certificates. ([source](https://github.com/yudai/gotty/blob/master/README.md))

### Networking & Communication

- [Interactive Remote Access](https://awesome-repositories.com/f/networking-communication/remote-access-clients/interactive-remote-access.md) — Permits remote clients to send keystrokes and input commands to shared terminal sessions. ([source](https://github.com/yudai/gotty#readme))
