itAdd JSON to Peer struct. - tordam - A library for peer discovery inside the Tor network Err parazyd.org 70 hgit clone https://git.parazyd.org/tordam URL:https://git.parazyd.org/tordam parazyd.org 70 1Log /git/tordam/log.gph parazyd.org 70 1Files /git/tordam/files.gph parazyd.org 70 1Refs /git/tordam/refs.gph parazyd.org 70 1README /git/tordam/file/README.md.gph parazyd.org 70 1LICENSE /git/tordam/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 3e58d2fb3e30da2e28c8fbc94731f64ecd645ef9 /git/tordam/commit/3e58d2fb3e30da2e28c8fbc94731f64ecd645ef9.gph parazyd.org 70 1parent 8596a0e87151c540e7f189a25434aa800dbc1f02 /git/tordam/commit/8596a0e87151c540e7f189a25434aa800dbc1f02.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Mon, 8 Mar 2021 00:20:16 +0100 Err parazyd.org 70 i Err parazyd.org 70 iAdd JSON to Peer struct. Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M cmd/tor-dam/tor-dam.go | 11 +++++++++-- Err parazyd.org 70 i M peer.go | 14 +++++++------- Err parazyd.org 70 i Err parazyd.org 70 i2 files changed, 16 insertions(+), 9 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/cmd/tor-dam/tor-dam.go b/cmd/tor-dam/tor-dam.go /git/tordam/file/cmd/tor-dam/tor-dam.go.gph parazyd.org 70 it@@ -21,6 +21,7 @@ import ( Err parazyd.org 70 i "crypto/ed25519" Err parazyd.org 70 i "crypto/rand" Err parazyd.org 70 i "encoding/base64" Err parazyd.org 70 i+ "encoding/json" Err parazyd.org 70 i "flag" Err parazyd.org 70 i "fmt" Err parazyd.org 70 i "io/ioutil" Err parazyd.org 70 it@@ -41,7 +42,7 @@ var ( Err parazyd.org 70 i generate = flag.Bool("g", false, "(Re)generate keys and exit") Err parazyd.org 70 i portmap = flag.String("m", "13010:13010,13011:13011", "Map of ports forwarded to/from Tor") Err parazyd.org 70 i listen = flag.String("l", "127.0.0.1:49371", "Local listen address") Err parazyd.org 70 i- datadir = flag.String("datadir", os.Getenv("HOME")+"/.dam", "Data directory") Err parazyd.org 70 i+ datadir = flag.String("d", os.Getenv("HOME")+"/.dam", "Data directory") Err parazyd.org 70 i seeds = flag.String("s", Err parazyd.org 70 i "p7qaewjgnvnaeihhyybmoofd5avh665kr3awoxlh5rt6ox743kjdr6qd.onion:49371", Err parazyd.org 70 i "List of initial peers (comma-separated)") Err parazyd.org 70 it@@ -181,8 +182,14 @@ func main() { Err parazyd.org 70 i wg.Wait() Err parazyd.org 70 i Err parazyd.org 70 i if succ < 1 { Err parazyd.org 70 i- log.Fatal("No successful announces.") Err parazyd.org 70 i+ log.Println("No successful announces.") Err parazyd.org 70 i } else { Err parazyd.org 70 i log.Printf("Successfully announced to %d peers.", succ) Err parazyd.org 70 i } Err parazyd.org 70 i+ Err parazyd.org 70 i+ j, err := json.Marshal(tordam.Peers) Err parazyd.org 70 i+ if err != nil { Err parazyd.org 70 i+ log.Fatal(err) Err parazyd.org 70 i+ } Err parazyd.org 70 i+ log.Println(string(j)) Err parazyd.org 70 i } Err parazyd.org 70 1diff --git a/peer.go b/peer.go /git/tordam/file/peer.go.gph parazyd.org 70 it@@ -23,11 +23,11 @@ import ( Err parazyd.org 70 i Err parazyd.org 70 i // Peer is the base struct for any peer in the network. Err parazyd.org 70 i type Peer struct { Err parazyd.org 70 i- Pubkey ed25519.PublicKey // Peer's ed25519 public key Err parazyd.org 70 i- Portmap []string // Peer's port map in Tor Err parazyd.org 70 i- Nonce string // The nonce to be signed after announce init Err parazyd.org 70 i- SelfRevoke string // Our revoke key we use to update our data Err parazyd.org 70 i- PeerRevoke string // Peer's revoke key if they wish to update their data Err parazyd.org 70 i- LastSeen int64 // Timestamp of last announce Err parazyd.org 70 i- Trusted int // Trusted is int because of possible levels of trust Err parazyd.org 70 i+ Pubkey ed25519.PublicKey `json:"pubkey"` // Peer's ed25519 public key Err parazyd.org 70 i+ Portmap []string `json:"portmap"` // Peer's port map in Tor Err parazyd.org 70 i+ Nonce string `json:"nonce"` // The nonce to be signed after announce init Err parazyd.org 70 i+ SelfRevoke string `json:"selfrevoke"` // Our revoke key we use to update our data Err parazyd.org 70 i+ PeerRevoke string `json:"peerrevoke"` // Peer's revoke key if they wish to update their data Err parazyd.org 70 i+ LastSeen int64 `json:"lastseen"` // Timestamp of last announce Err parazyd.org 70 i+ Trusted int `json:"trusted"` // Trusted is int because of possible levels of trust Err parazyd.org 70 i } Err parazyd.org 70 .