pixelqr/testssh/main.go

43 lines
801 B
Go

package main
import (
"bytes"
"io"
"log"
"github.com/gliderlabs/ssh"
"github.com/qpliu/qrencode-go/qrencode"
"git.icedream.tech/icedream/pixelqr/internal"
)
func main() {
greeting := "https://git.icedream.tech/icedream/pixelqr"
ssh.Handle(func(s ssh.Session) {
grid, err := qrencode.Encode(greeting, qrencode.ECLevelQ)
if err != nil {
log.Println(err)
return
}
w := new(bytes.Buffer)
err = internal.ConvertGridToUnicode(w, grid)
if err != nil {
log.Println(err)
return
}
qrs := string(w.Bytes())
io.WriteString(s, "Scan this QR code for the link to the library that generated it:\n\n")
io.WriteString(s, qrs)
io.WriteString(s, "\n\nThank you!\n")
for err == nil {
_, err = s.Read([]byte{})
}
})
log.Fatal(ssh.ListenAndServe(":2020", nil))
}