commit d5c18cfc3e1140317e24371aeef73bb6e36ded35
Author: root <root@lucy.lt>
Date: Tue, 27 Jul 2021 14:19:29 +0300
Initial commit
Diffstat:
3 files changed, 59 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1,5 @@
+users/*
+root
+finger
+*.exe
+*.sum
diff --git a/go.mod b/go.mod
@@ -0,0 +1,5 @@
+module finger
+
+go 1.16
+
+require github.com/mitchellh/go-finger v0.0.0-20170709001451-be12f0ff8b97 // indirect
diff --git a/main.go b/main.go
@@ -0,0 +1,49 @@
+package main
+
+import "github.com/mitchellh/go-finger"
+import (
+ "fmt"
+ "bufio"
+ "os"
+ "io/ioutil"
+ "io"
+ "context"
+)
+
+func main() {
+
+
+ go finger.Serve(finger.HandlerFunc(func(ctx context.Context, w io.Writer, q *finger.Query) {
+ text := ""
+ filename := ""
+
+ if q.Username == "" {
+ filename = "root"
+ } else {
+ filename = q.Username
+ }
+
+ file, err := os.Open(filename)
+ if err != nil {
+ text = "ERR: No such user!"
+ }
+ defer func() {
+ if err = file.Close(); err != nil {
+ }
+ }()
+
+
+ if err == nil {
+ b, err := ioutil.ReadAll(file)
+ if err != nil {
+ text = "ERR: No such user!"
+ } else {
+ text = "MSG: " + string(b)
+ }
+ }
+
+ w.Write([]byte(fmt.Sprintln(text)))
+ }))
+ fmt.Print("Press 'Enter' to exit...")
+ bufio.NewReader(os.Stdin).ReadBytes('\n')
+}