mirror of
https://github.com/schollz/croc.git
synced 2025-10-11 05:11:06 +02:00
Rewrite
This commit is contained in:
parent
d1eb0de12d
commit
df622467dd
7 changed files with 26 additions and 421 deletions
66
main.go
66
main.go
|
@ -3,22 +3,28 @@ package main
|
|||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
const BUFFERSIZE = 1024
|
||||
const numberConnections = 8
|
||||
const numberConnections = 4
|
||||
|
||||
// Build flags
|
||||
var server, file string
|
||||
|
||||
// Global varaibles
|
||||
var serverAddress, fileName string
|
||||
var serverAddress, fileName, codePhraseFlag, connectionTypeFlag string
|
||||
var runAsRelay, debugFlag bool
|
||||
|
||||
func main() {
|
||||
flag.BoolVar(&runAsRelay, "relay", false, "run as relay")
|
||||
flag.BoolVar(&debugFlag, "debug", false, "debug mode")
|
||||
flag.StringVar(&serverAddress, "server", "", "(run as client) server address to connect to")
|
||||
flag.StringVar(&fileName, "file", "", "(run as server) file to serve")
|
||||
flag.StringVar(&codePhraseFlag, "code", "", "(run as server) file to serve")
|
||||
flag.StringVar(&connectionTypeFlag, "type", "", "(run as server) file to serve")
|
||||
flag.Parse()
|
||||
// Check build flags too, which take precedent
|
||||
if server != "" {
|
||||
|
@ -27,47 +33,27 @@ func main() {
|
|||
if file != "" {
|
||||
fileName = file
|
||||
}
|
||||
fmt.Println(`
|
||||
* ,MMM8&&&. *
|
||||
MMMM88&&&&& .
|
||||
MMMM88&&&&&&&
|
||||
* MMM88&&&&&&&&
|
||||
MMM88&&&&&&&&
|
||||
'MMM88&&&&&&'
|
||||
'MMM8&&&' *
|
||||
|\___/|
|
||||
) ( . '
|
||||
=\ /=
|
||||
)===( *
|
||||
/ \
|
||||
| |
|
||||
/ \
|
||||
\ /
|
||||
_/\_/\_/\__ _/_/\_/\_/\_/\_/\_/\_/\_/\_/\_
|
||||
| | | |( ( | | | | | | | | | |
|
||||
| | | | ) ) | | | | | | | | | |
|
||||
| | | |(_( | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | |
|
||||
`)
|
||||
if len(fileName) != 0 {
|
||||
|
||||
if len(fileName) > 0 {
|
||||
_, err := os.Open(fileName)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
log.SetFormatter(&log.TextFormatter{})
|
||||
if debugFlag {
|
||||
log.SetLevel(log.DebugLevel)
|
||||
} else {
|
||||
log.SetLevel(log.WarnLevel)
|
||||
}
|
||||
|
||||
if runAsRelay {
|
||||
runServer()
|
||||
} else if len(serverAddress) != 0 {
|
||||
runClient()
|
||||
runClient(connectionTypeFlag, codePhraseFlag)
|
||||
} else {
|
||||
fmt.Println("You must specify either -file (for running as a server) or -server (for running as a client)")
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
// Log as JSON instead of the default ASCII formatter.
|
||||
// log.SetFormatter(&log.JSONFormatter{})
|
||||
log.SetFormatter(&log.TextFormatter{})
|
||||
|
||||
// Output to stdout instead of the default stderr
|
||||
// Can be any io.Writer, see below for File example
|
||||
// log.SetOutput(os.Stdout)
|
||||
|
||||
// Only log the warning severity or above.
|
||||
log.SetLevel(log.DebugLevel)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue