@@ -3,8 +3,6 @@ use std::path::PathBuf;
33use clap:: Parser ;
44use pcap:: { Capture , ConnectionStatus , Device , IfFlags } ;
55
6- use p2p:: identity:: SecretKey ;
7-
86// cargo run --release --bin sniffer -- --interface auto --path target/test.pcap
97
108#[ derive( Parser ) ]
@@ -25,19 +23,9 @@ struct Cli {
2523 #[ arg( long, help = "bpf filter, example: \" udp and not port 443\" " ) ]
2624 filter : Option < String > ,
2725
28- /// Peer secret key
29- #[ arg( long, short = 's' , env = "OPENMINA_P2P_SEC_KEY" ) ]
30- p2p_secret_key : Option < SecretKey > ,
31-
32- // warning, this overrides `OPENMINA_P2P_SEC_KEY`
33- /// Compatibility with OCaml Mina node
34- #[ arg( long) ]
35- libp2p_keypair : Option < String > ,
36-
37- // warning, this overrides `OPENMINA_P2P_SEC_KEY`
38- /// Compatibility with OCaml Mina node
39- #[ arg( env = "MINA_LIBP2P_PASS" ) ]
40- libp2p_password : Option < String > ,
26+ /// rng seed
27+ #[ arg( long, short) ]
28+ rng_seed : String ,
4129}
4230
4331fn init_logger_std ( ) -> Box < dyn log:: Log > {
@@ -56,28 +44,10 @@ fn main() {
5644 interface,
5745 path,
5846 filter,
59- p2p_secret_key,
60- libp2p_keypair,
61- libp2p_password,
47+ rng_seed,
6248 } = Cli :: parse ( ) ;
6349
64- let secret_key = if let Some ( v) = p2p_secret_key {
65- v
66- } else {
67- let ( Some ( libp2p_keypair) , Some ( libp2p_password) ) = ( libp2p_keypair, libp2p_password)
68- else {
69- log:: error!( "no secret key specified" ) ;
70- return ;
71- } ;
72-
73- match SecretKey :: from_encrypted_file ( libp2p_keypair, & libp2p_password) {
74- Ok ( v) => v,
75- Err ( err) => {
76- log:: error!( "cannot read secret key {err}" ) ;
77- return ;
78- }
79- }
80- } ;
50+ let rng_seed = <[ u8 ; 32 ] >:: try_from ( hex:: decode ( rng_seed) . unwrap ( ) . as_slice ( ) ) . unwrap ( ) ;
8151
8252 if let Some ( name) = interface {
8353 sudo:: escalate_if_needed ( ) . unwrap ( ) ;
@@ -115,7 +85,7 @@ fn main() {
11585 . expect ( "Failed to apply filter" ) ;
11686 let savefile = capture. savefile ( & path) ?;
11787
118- webrtc_sniffer:: run ( capture, Some ( savefile) , secret_key )
88+ webrtc_sniffer:: run ( capture, Some ( savefile) , rng_seed )
11989 } ) ;
12090 if let Err ( err) = res {
12191 log:: error!( "{err}" ) ;
@@ -130,7 +100,7 @@ fn main() {
130100 capture
131101 . filter ( & filter. unwrap_or_default ( ) , true )
132102 . expect ( "Failed to apply filter" ) ;
133- webrtc_sniffer:: run ( capture, None , secret_key )
103+ webrtc_sniffer:: run ( capture, None , rng_seed )
134104 } ) ;
135105 if let Err ( err) = res {
136106 log:: error!( "{err}" ) ;
0 commit comments