Expand description
P2p / dht communication framework.
§TLS session key logging
To use a tool like wireshark to debug kitsune QUIC communications, enable keylogging via tuning_param:
tuning_params.danger_tls_keylog = "env_keylog".to_string();The tuning param by itself will do nothing, you also must specify
the file target via the environment variable SSLKEYLOGFILE, e.g.:
SSLKEYLOGFILE="$(pwd)/keylog" my-kitsune-executableAs QUIC support within wireshark is in-progress, you’ll need a newer
version. This documentation was tested with version 3.6.2.
Tell wireshark about your keylog file at:
[Edit] -> [Preferences...] -> [Protocols] -> [TLS] -> [(Pre)-Master-Secret log filename]
Your capture should now include QUIC protocol packets, where the
Protected Payload variants will be able to display internals,
such as STREAM([id]) decrypted content.
Also see https://github.com/quiclog/pcap2qlog
Re-exports§
pub use gossip::sharded_gossip::KitsuneDiagnostics;pub use kitsune_p2p_types::dht;pub use kitsune_p2p_types::dht_arc;
Modules§
- actor
- Definitions related to the KitsuneP2p peer-to-peer / dht communications actor.
- agent_
store - Data structures to be stored in the agent/peer database.
- dependencies
- re-exported dependencies
- event
- Definitions for events emited from the KitsuneP2p actor.
- gossip
- Various gossip strategies for Kitsune.
- metrics
- metrics tracked by kitsune_p2p spaces
- wire
- KitsuneP2p Wire Protocol Encoding Decoding
Structs§
- Host
ApiLegacy - A HostApi paired with a ghost_actor sender (legacy)
When all legacy functions have been moved to the API,
this type can be replaced by
HostApi. - Kitsune
Agent - Distinguish multiple agents within the same network module.
- Kitsune
Basis - The basis hash/coordinate when identifying a neighborhood.
- Kitsune
OpData - The op data with its location
- Kitsune
OpHash - Top-level “KitsuneDataHash” items are buckets of related meta-data. These metadata “Operations” each also have unique OpHashes.
- Kitsune
Signature - A cryptographic signature.
- Kitsune
Space - Distinguish multiple categories of communication within the same network module.
- Node
Cert - A 32 byte cert identifying a peer
- Preflight
User Data - Host-defined data used to implement custom connection preflight checks.
Enums§
- Gossip
Module Type - The type of gossip module running this gossip.
- Kitsune
P2pError - KitsuneP2p Error Type.
Constants§
- KITSUNE_
PROTOCOL_ VERSION - This value determines protocol compatibility. Any time there is a protocol breaking change, this number must be incremented. This represents general compatibility between kitsune versions. Instances are compatible if and only if they share the same protocol version.
Traits§
- Kitsune
BinType - Kitsune hashes are expected to be 36 bytes. The first 32 bytes are the proper hash. The final 4 bytes are a hash-of-the-hash that can be treated like a u32 “location”.
- Kitsune
Host - The interface to be implemented by the host, which handles various requests for data
Functions§
- spawn_
kitsune_ p2p - Spawn a new KitsuneP2p actor.
Type Aliases§
- HostApi
- Trait object for the host interface
- KOp
- Convenience type
- Kitsune
Host Result - A boxed future result with dynamic error type
- Kitsune
P2pResult - Result Type