|
|
@ -76,14 +76,14 @@ var ( |
|
|
|
|
|
|
|
|
|
|
|
// cmd arguments
|
|
|
|
// cmd arguments
|
|
|
|
var ( |
|
|
|
var ( |
|
|
|
bootstrapMode = flag.Bool("standalone", false, "boostrap node: don't actively connect to peers, wait for incoming connections") |
|
|
|
bootstrapMode = flag.Bool("standalone", false, "boostrap node: don't initiate connection to peers, just wait for incoming connections") |
|
|
|
forwarderMode = flag.Bool("forwarder", false, "forwarder mode: only forward messages, neither send nor decrypt messages") |
|
|
|
forwarderMode = flag.Bool("forwarder", false, "forwarder mode: only forward messages, neither encrypt nor decrypt messages") |
|
|
|
mailServerMode = flag.Bool("mailserver", false, "mail server mode: delivers expired messages on demand") |
|
|
|
mailServerMode = flag.Bool("mailserver", false, "mail server mode: delivers expired messages on demand") |
|
|
|
requestMail = flag.Bool("mailclient", false, "request expired messages from the bootstrap server") |
|
|
|
requestMail = flag.Bool("mailclient", false, "request expired messages from the bootstrap server") |
|
|
|
asymmetricMode = flag.Bool("asym", false, "use asymmetric encryption") |
|
|
|
asymmetricMode = flag.Bool("asym", false, "use asymmetric encryption") |
|
|
|
generateKey = flag.Bool("generatekey", false, "generate and show the private key") |
|
|
|
generateKey = flag.Bool("generatekey", false, "generate and show the private key") |
|
|
|
fileExMode = flag.Bool("fileexchange", false, "file exchange mode") |
|
|
|
fileExMode = flag.Bool("fileexchange", false, "file exchange mode") |
|
|
|
testMode = flag.Bool("test", false, "use of predefined parameters for diagnostics") |
|
|
|
testMode = flag.Bool("test", false, "use of predefined parameters for diagnostics (password, etc.)") |
|
|
|
echoMode = flag.Bool("echo", false, "echo mode: prints some arguments for diagnostics") |
|
|
|
echoMode = flag.Bool("echo", false, "echo mode: prints some arguments for diagnostics") |
|
|
|
|
|
|
|
|
|
|
|
argVerbosity = flag.Int("verbosity", int(log.LvlError), "log verbosity level") |
|
|
|
argVerbosity = flag.Int("verbosity", int(log.LvlError), "log verbosity level") |
|
|
@ -99,7 +99,7 @@ var ( |
|
|
|
argIDFile = flag.String("idfile", "", "file name with node id (private key)") |
|
|
|
argIDFile = flag.String("idfile", "", "file name with node id (private key)") |
|
|
|
argEnode = flag.String("boot", "", "bootstrap node you want to connect to (e.g. enode://e454......08d50@52.176.211.200:16428)") |
|
|
|
argEnode = flag.String("boot", "", "bootstrap node you want to connect to (e.g. enode://e454......08d50@52.176.211.200:16428)") |
|
|
|
argTopic = flag.String("topic", "", "topic in hexadecimal format (e.g. 70a4beef)") |
|
|
|
argTopic = flag.String("topic", "", "topic in hexadecimal format (e.g. 70a4beef)") |
|
|
|
argSaveDir = flag.String("savedir", "", "directory where incoming messages will be saved as files") |
|
|
|
argSaveDir = flag.String("savedir", "", "directory where all incoming messages will be saved as files") |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
func main() { |
|
|
@ -548,20 +548,18 @@ func messageLoop() { |
|
|
|
for { |
|
|
|
for { |
|
|
|
select { |
|
|
|
select { |
|
|
|
case <-ticker.C: |
|
|
|
case <-ticker.C: |
|
|
|
messages := sf.Retrieve() |
|
|
|
m1 := sf.Retrieve() |
|
|
|
|
|
|
|
m2 := af.Retrieve() |
|
|
|
|
|
|
|
messages := append(m1, m2...) |
|
|
|
for _, msg := range messages { |
|
|
|
for _, msg := range messages { |
|
|
|
if *fileExMode || len(msg.Payload) > 2048 { |
|
|
|
// All messages are saved upon specifying argSaveDir.
|
|
|
|
|
|
|
|
// fileExMode only specifies how messages are displayed on the console after they are saved.
|
|
|
|
|
|
|
|
// if fileExMode == true, only the hashes are displayed, since messages might be too big.
|
|
|
|
|
|
|
|
if len(*argSaveDir) > 0 { |
|
|
|
writeMessageToFile(*argSaveDir, msg) |
|
|
|
writeMessageToFile(*argSaveDir, msg) |
|
|
|
} else { |
|
|
|
|
|
|
|
printMessageInfo(msg) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
messages = af.Retrieve() |
|
|
|
if !*fileExMode && len(msg.Payload) <= 2048 { |
|
|
|
for _, msg := range messages { |
|
|
|
|
|
|
|
if *fileExMode || len(msg.Payload) > 2048 { |
|
|
|
|
|
|
|
writeMessageToFile(*argSaveDir, msg) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
printMessageInfo(msg) |
|
|
|
printMessageInfo(msg) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|