Wish alternatives and similar packages
Based on the "Server Applications" category.
Alternatively, view wish alternatives based on common mentions on social networks and blogs.
-
minio
MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license. -
consul
Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. -
SFTPGo
Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob -
RoadRunner
🤯 High-performance PHP application server, process manager written in Go and powered with plugins -
Ponzu
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go. -
Jocko
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native) -
algernon
Small self-contained pure-Go web server with Lua, Teal, Markdown, Ollama, HTTP/2, QUIC, Redis, SQLite and PostgreSQL support ++ -
Rendora
dynamic server-side rendering using headless Chrome to effortlessly solve the SEO problem for modern javascript websites -
jackal
DISCONTINUED. 💬 Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP). -
go-feature-flag
GO Feature Flag is a simple, complete and lightweight self-hosted feature flag solution 100% Open Source. 🎛️ -
SDNS
A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy. -
Euterpe
Self-hosted music streaming server 🎶 with RESTful API and Web interface. Think of it as your very own Spotify! ☁️🎧 -
goproxy
🦁 goproxy is a proxy server which can forward http or https requests to remote servers./ goproxy 是一个反向代理服务器,支持转发 http/https 请求。 -
Eru
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time. -
Simple CRUD App w/ Gorilla/Mux, MariaDB
Simple CRUD Application with Go, Gorilla/mux, MariaDB, Redis. -
simple-jwt-provider
Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of Wish or a related project?
Popular Comparisons
README
Wish
Make SSH apps, just like that! 💫
SSH is an excellent platform to build remotely accessible applications on. It offers secure communication without the hassle of HTTPS certificates, it has user identification with SSH keys and it's accessible from anywhere with a terminal. Powerful protocols like Git work over SSH and you can even render TUIs directly over an SSH connection.
Wish is an SSH server with sensible defaults and a collection of middleware that makes building SSH apps easy. Wish is built on gliderlabs/ssh and should be easy to integrate into any existing projects.
What are SSH Apps?
Usually, when we think about SSH, we think about remote shell access into servers,
most commonly through openssh-server
.
That's a perfectly valid and probably the most common use of SSH, but it can do so much more than that. Just like HTTP, SMTP, FTP and others, SSH is a protocol! It is a cryptographic network protocol for operating network services securely over an unsecured network. 1
That means, among other things, that we can write custom SSH servers, without touching openssh-server
,
so we can securely do more things than just providing a shell.
Wish is a library that helps writing these kind of apps using Go.
Middleware
Wish middlewares are analogous to those in several HTTP frameworks. They are essentially SSH handlers that you can use to do specific tasks, and then call the next middleware.
Notice that middlewares are composed from first to last, which means the last one is executed first.
Bubble Tea
The [bubbletea
](bubbletea) middleware makes it easy to serve any
Bubble Tea application over SSH. Each SSH session will get their own
tea.Program
with the SSH pty input and output connected. Client window
dimension and resize messages are also natively handled by the tea.Program
.
You can see a demo of the Wish middleware in action at: ssh git.charm.sh
Git
The [git
](git) middleware adds git
server functionality to any ssh server.
It supports repo creation on initial push and custom public key based auth.
This middleware requires that git
is installed on the server.
Logging
The [logging
](logging) middleware provides basic connection logging. Connects
are logged with the remote address, invoked command, TERM setting, window
dimensions and if the auth was public key based. Disconnect will log the remote
address and connection duration.
Access Control
Not all applications will support general SSH connections. To restrict access
to supported methods, you can use the [activeterm
](activeterm) middleware to
only allow connections with active terminals connected and the
[accesscontrol
](accesscontrol) middleware that lets you specify allowed
commands.
Default Server
Wish includes the ability to easily create an always authenticating default SSH server with automatic server key generation.
Examples
There are examples for a standalone [Bubble Tea application](examples/bubbletea) and [Git server](examples/git) in the [examples](examples) folder.
Apps Built With Wish
Pro Tip
When building various Wish applications locally you can add the following to
your ~/.ssh/config
to avoid having to clear out localhost
entries in your
~/.ssh/known_hosts
file:
Host localhost
UserKnownHostsFile /dev/null
License
Part of Charm.
Charm热爱开源 • Charm loves open source
*Note that all licence references and agreements mentioned in the Wish README section above
are relevant to that project's source code only.