You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/tempfork/gliderlabs/ssh
Brad Fitzpatrick 5a44f9f5b5 tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh
While we rearrange/upstream things.

gliderlabs/ssh is forked into tempfork from our prior fork
at be8b7add40

x/crypto/ssh OTOH is forked at
https://github.com/tailscale/golang-x-crypto because it was gnarlier
to vendor with various internal packages, etc.
Its git history shows where it starts (2c7772ba30643b7a2026cbea938420dce7c6384d).

Updates #3802

Change-Id: I546e5cdf831cfc030a6c42557c0ad2c58766c65f
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2 years ago
..
LICENSE tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
README.md tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
agent.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
conn.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
context.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
context_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
doc.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
example_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
options.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
options_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
server.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
server_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
session.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
session_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
ssh.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
ssh_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
tcpip.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
tcpip_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
util.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago
wrap.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2 years ago

README.md

gliderlabs/ssh

GoDoc CircleCI Go Report Card OpenCollective Slack Email Updates

The Glider Labs SSH server package is dope. —@bradfitz, Go team member

This Go package wraps the crypto/ssh package with a higher-level API for building SSH servers. The goal of the API was to make it as simple as using net/http, so the API is very similar:

 package main

 import (
     "tailscale.com/tempfork/gliderlabs/ssh"
     "io"
     "log"
 )

 func main() {
     ssh.Handle(func(s ssh.Session) {
         io.WriteString(s, "Hello world\n")
     })  

     log.Fatal(ssh.ListenAndServe(":2222", nil))
 }

This package was built by @progrium after working on nearly a dozen projects at Glider Labs using SSH and collaborating with @shazow (known for ssh-chat).

Examples

A bunch of great examples are in the _examples directory.

Usage

See GoDoc reference.

Contributing

Pull requests are welcome! However, since this project is very much about API design, please submit API changes as issues to discuss before submitting PRs.

Also, you can join our Slack to discuss as well.

Roadmap

  • Non-session channel handlers
  • Cleanup callback API
  • 1.0 release
  • High-level client?

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

License

BSD