30 open-source projects similar to charmbracelet/wish, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Wish alternative.
Paramiko is a pure-Python implementation of the SSH2 protocol, providing a library for making secure network connections and executing remote commands. It serves as a programmatic interface for establishing encrypted communication tunnels and managing remote sessions. The project includes a full SSH server framework, allowing applications to host a secure shell server and define server-side access configurations directly within Python. It also provides a dedicated SFTP client library for secure file transfers and remote filesystem management. The library covers remote infrastructure automati
SSH.NET is a .NET library that implements the SSH-2 protocol for encrypted remote connections and secure file transfers. It provides a complete SSH-2 protocol stack implementation with a channel multiplexing engine that manages multiple concurrent channels over a single connection, supporting simultaneous shell sessions, remote command execution, SFTP transfers, and port forwarding tunnels. The library includes a pluggable authentication pipeline supporting password, public key, certificate, keyboard-interactive, and multi-factor authentication combinations. The library distinguishes itself t
WinSCP is a remote file manager and SFTP and FTP client that provides a graphical interface for browsing, editing, and organizing files on remote servers and cloud storage. It serves as a multi-protocol tool supporting SFTP, FTP, FTPS, SCP, S3, and WebDAV, and functions as an S3 object storage browser for managing files and buckets. The application distinguishes itself through its automation capabilities, allowing for scripted file transfers and remote command execution via a command-line interface or a .NET assembly. It also features directory synchronization to match local and remote folder
Chisel is a network tunneling tool that facilitates secure communication by encapsulating TCP and UDP traffic within HTTP requests. It functions as a connection multiplexer, consolidating multiple logical network streams into a single persistent connection to improve throughput and reduce overhead. By leveraging standard web protocols, the system enables firewall traversal and provides a mechanism for remote port forwarding and proxying. The project distinguishes itself through its focus on resilient connectivity and granular access control. It maintains persistent network sessions across uns
wstunnel is a tool that tunnels arbitrary TCP traffic through WebSocket connections, enabling communication across restrictive firewalls and proxies. It operates as both a client and server, encapsulating TCP data within WebSocket binary frames and multiplexing multiple connections over a single WebSocket link. The tool supports mutual TLS authentication, requiring clients to present signed certificates for verification before establishing a tunnel, and provides shared secret access control and tunnel forwarding restrictions for additional security. The project distinguishes itself by offerin
LinuxGSM is a command-line orchestration platform designed for the deployment, management, and lifecycle maintenance of dedicated game servers on Linux systems. It functions as a system-level administration tool that automates the provisioning of server instances, ensuring they remain operational through persistent background execution, automated health monitoring, and native system-timer integration. The project distinguishes itself through a modular, shell-script-based architecture that enables multi-instance hosting on a single host. It provides granular control over server environments, i
Soft Serve is a self-hosted Git server that authenticates users via SSH public keys and provides a terminal-based user interface for browsing repositories, files, and commits. It stores repository data and configuration in either SQLite or PostgreSQL, and supports role-based access control with four permission levels for managing repository visibility and write access. The server can be deployed via Docker or managed as a systemd service, and supports webhook notifications for push, collaborator, and branch or tag events to integrate with external automation workflows. It also enables server-
Nostr is a decentralized social protocol and censorship-resistant messaging standard. It operates as a distributed event relay network where user identities are defined by public-key cryptography rather than centralized account databases. The protocol enables the exchange of cryptographically signed messages across a network of independent relays. This system allows for the broadcasting of signed notes to multiple servers to ensure content availability and permanence, while using public-key pairs to prove authorship and authenticity without a central registry. The system covers distributed c
This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra
ssh2 is a JavaScript implementation of the SSH2 protocol for Node.js, providing the core components necessary to create secure clients and servers. It enables the establishment of authenticated sessions for remote server automation and secure communication. The project distinguishes itself by providing a complete suite of tools for identity management, including utilities for generating and parsing cryptographic key pairs and integrating with external authentication agents. It also functions as a tunneling proxy capable of routing TCP, HTTP, X11, and SOCKSv5 network traffic through encrypted
Upspin is a decentralized naming and storage system that provides an end-to-end encrypted file system. It assigns every user a unique identity and organizes files within a global, permissioned namespace where data is encrypted on the client before transmission. The system separates identity resolution from data storage using a public-key identity provider and a key-server architecture. This allows for decentralized identity management and the resolution of usernames to specific directory and storage server addresses. The project includes a hierarchical access control system that manages read
lsyncd is a synchronization service and background daemon that monitors local directories for changes and mirrors them to remote targets in real time. It operates as a sync manager that orchestrates the movement of local data to remote hosts, ensuring data consistency through automated mirroring. The project uses an embedded Lua scripting engine to define configuration logic, allowing for custom synchronization actions and layered rule definitions. It leverages rsync for delta-transfers to minimize bandwidth and utilizes SSH for secure encrypted communication with remote servers. The service
go-libp2p is a Go implementation of the libp2p modular networking stack, providing a library for building peer-to-peer applications. It functions as a decentralized application framework that separates transport, security, and discovery layers into pluggable modules for cross-platform interoperability. The library establishes peer-to-peer connections through a modular transport abstraction that supports multiple protocols, while using public key cryptography for peer identity and protocol-agnostic security transports for encrypting and authenticating all traffic. It enables distributed peer d
This project provides technical documentation and reference guides for spot trading, including specifications for REST, WebSocket, and FIX protocols. It serves as a comprehensive resource for integrating with spot trading endpoints to execute trades, query account data, and fetch market statistics. The project distinguishes itself by supporting institutional-grade connectivity through the Financial Information eXchange standard and simple binary encoding to reduce latency and payload size. It also includes a dedicated sandbox environment for validating trading logic and strategies without fin
SSHFS-Win is a Windows implementation of SSHFS that mounts remote directories over SSH as local Windows drives, enabling seamless file access as if they were local network drives. It provides both command-line and graphical interfaces for creating, managing, and disconnecting SSHFS mounts, supporting password or SSH key authentication with optional credential storage in the Windows Credential Manager. The project extends beyond basic SSH mounting to support a wide range of remote file access scenarios, including mounting cloud storage services like Azure Blob or Amazon S3, distributed POSIX f
term.everything is a terminal-based graphical compositor and renderer that converts framebuffers into ANSI escape sequences to display GUI applications within a terminal emulator. It functions as a remote GUI streamer and framebuffer-to-ANSI converter, allowing for the visualization of headless systems and the execution of graphical software over SSH connections. The project includes a specialized mouse input handler that utilizes SGR 1006 reporting to capture movements and clicks, enabling user interaction with rendered graphical interfaces. It emulates a compositor to coordinate window beha
Ricochet is a decentralized, peer-to-peer anonymous chat client and messaging protocol. It enables the exchange of encrypted text messages and files without relying on central servers, using Tor hidden services to mask the network addresses and identities of all participants. The project eliminates communication metadata by removing central coordinating authorities, preventing the discovery of contact lists or timing patterns. It utilizes a peer-to-peer connection model where every client acts as both a server and a client, employing public key signatures and cryptographically signed invitati
ssh-chat is a self-hosted chat server that runs entirely over the SSH protocol, allowing users to join a shared chat room using any standard SSH client without additional software. It uses SSH public key fingerprints for user identity and authentication, eliminating the need for separate credentials or TLS setup, and manages user connections as SSH sessions with join, leave, and message routing handled within a single process. The server provides encrypted transport and public-key-based access control, with the ability to restrict connections to a whitelist of SSH keys and assign admin roles
n2n is a peer-to-peer VPN that creates an encrypted mesh network by establishing layer 2 overlay networks. It uses UDP tunneling to connect remote computers into a shared virtual local area network, allowing devices to communicate as if they were on the same physical Ethernet switch. The system utilizes a centralized signaling registry and federated coordination nodes to facilitate peer discovery and node registration. It implements NAT traversal through UDP hole punching and UPnP port mapping, while using supernode relay routing to ensure connectivity when symmetric NATs prevent direct peer-
Devzat is an SSH chat server that provides a real-time communication environment where users connect via a secure shell to participate in chat rooms and terminal-based collaboration. It utilizes the SSH protocol for session management and provides a shared environment for interactive communication through a command-line interface. The project is distinguished by its cross-platform chat bridging, which synchronizes messages between the central server and external platforms such as Slack. It also features an extensible plugin system based on gRPC, allowing for the development of custom bots and
Iroh is a peer-to-peer networking stack and distributed system designed for secure direct connections, content-addressed storage, and synchronized data sharing. It provides a foundation for decentralized applications by combining a QUIC-based networking layer with primitives for distributed state and data transfer. The project distinguishes itself through a comprehensive suite of decentralized capabilities, including a distributed data store using conflict-free replicated data types for collaborative synchronization and a content-addressed storage system for verifiable, resumable transfers of
Gogs is a self-hosted Git service and repository manager written in Go. It provides a web-based hosting platform for storing version-controlled repositories with a focus on lightweight deployment across various operating systems and hardware architectures. The system distinguishes itself through a single-binary deployment model, which simplifies installation. It also supports repository migration, allowing users to move existing codebases and documentation from other hosting services into a self-managed environment. The platform covers collaborative code development through pull requests and
bup is a deduplicating backup manager and incremental backup system. It uses a Git packfile-based storage format to eliminate redundant data across files and versions, treating every incremental save as a full backup. The system provides secure remote transport interfaces for transferring and managing backup data on remote servers via SSH. It also includes a backup repository browser available as both a web interface and a filesystem mount for exploring and retrieving files from snapshots. The project covers broad capability areas including disaster recovery, repository administration, and s
Linsa.io is an end-to-end encrypted cloud storage service and zero-knowledge data vault. It functions as a private content sharing platform that encrypts files and data on the client side, ensuring only the owner can access the stored content. The project employs a local-first approach, processing data updates and encryption on the local device before syncing encrypted blobs to a remote persistence layer. It uses a zero-knowledge architecture where the service provider cannot access decryption keys or view the plaintext content of stored files. The platform provides capabilities for private
This project is a comprehensive technical documentation site and reference manual for configuring and deploying WireGuard VPN tunnels and interfaces. It serves as a guide for establishing encrypted network connections between peers using public key authentication to secure data traffic across untrusted networks. The documentation provides specific technical manuals for implementing NAT traversal solutions, including UDP hole punching and the use of bounce servers to connect peers behind restrictive firewalls. It also includes detailed guides on tunnel implementation and protocol references fo
Cointop is a terminal-based cryptocurrency dashboard that displays real-time market data, prices, and portfolio values in a text-based interface. It aggregates data from multiple cryptocurrency exchange APIs and presents it in an interactive terminal user interface with vim-inspired keyboard shortcuts for navigation and control. The application distinguishes itself by embedding an SSH server that allows remote access to the dashboard from any device, with persistent client configuration tied to individual SSH keys. It includes a fuzzy search system for quickly finding coins by name, desktop n
ssh3 is a secure shell implementation that uses HTTP/3 and the QUIC protocol as its transport layer to reduce handshake latency and improve connection stability. It provides a remote terminal environment where server identities are verified using standard HTTPS X.509 certificates instead of traditional host keys. The project integrates modern identity verification through OpenID Connect and OAuth 2.0, allowing user authentication via external identity providers. To prevent discovery by public scanners, it includes a server obfuscation feature that requires a secret URL path for client request
CryptPad is a self-hosted, zero-knowledge office suite designed for real-time collaborative editing and content management. It provides a privacy-centric infrastructure where documents, files, and notes are encrypted in the browser before transmission, ensuring that the server administrator cannot access the underlying data. The platform implements zero-knowledge user authentication, utilizing cryptographic keys to verify identities so that plain text passwords are never stored on the server. To further isolate sensitive operations, the system employs a security architecture that separates th
Gitolite is a server-side management layer for self-hosted Git repositories that orchestrates repository settings and user access via SSH public keys. It functions as a Git configuration orchestrator, applying repository rules and user roles on a central Linux server to manage the lifecycle of hosted version control data. The system is distinguished by its Git-based administration model, where all users and access rules are stored in a dedicated Git repository that serves as the single source of truth. This allows server administrators to manage the hosting environment by pushing configuratio
Warpgate is an SSH bastion host that authenticates users and proxies connections to internal servers while recording all session activity. It is distributed as a single standalone binary with no runtime dependencies, stores configuration and session data in a local SQLite database by default, and supports role-based access control to determine which users can reach which targets. The bastion verifies identity through a configurable chain of authentication methods including passwords, one-time codes, single sign-on, and time-limited ticket tokens. It captures and stores SSH session activity as