tailscale/tempfork/gliderlabs/ssh
Brad Fitzpatrick da8def8e13 all: remove old +build tags
The //go:build syntax was introduced in Go 1.17:

https://go.dev/doc/go1.17#build-lines

gofmt has kept the +build and go:build lines in sync since
then, but enough time has passed. Time to remove them.

Done with:

    perl -i -npe 's,^// \+build.*\n,,' $(git grep -l -F '+build')

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2022-11-04 07:25:42 -07:00
..
agent.go refactor: move from io/ioutil to io and os packages 2022-09-15 21:45:53 -07:00
conn.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
context_test.go all: remove old +build tags 2022-11-04 07:25:42 -07:00
context.go ssh/tailssh: add support for sending multiple banners 2022-10-09 14:59:48 -07:00
doc.go all: gofmt for Go 1.19 2022-08-02 10:08:05 -07:00
example_test.go refactor: move from io/ioutil to io and os packages 2022-09-15 21:45:53 -07:00
LICENSE tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
options_test.go all: remove old +build tags 2022-11-04 07:25:42 -07:00
options.go refactor: move from io/ioutil to io and os packages 2022-09-15 21:45:53 -07:00
README.md tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
server_test.go all: remove old +build tags 2022-11-04 07:25:42 -07:00
server.go ssh/tailssh: add support for sending multiple banners 2022-10-09 14:59:48 -07:00
session_test.go all: remove old +build tags 2022-11-04 07:25:42 -07:00
session.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
ssh_test.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
ssh.go ssh/tailssh: do the full auth flow during ssh auth 2022-10-09 10:27:31 -07:00
tcpip_test.go all: remove old +build tags 2022-11-04 07:25:42 -07:00
tcpip.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
util.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
wrap.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00

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