public interface Microdescriptor extends Descriptor
A microdescriptor is a stripped-down version of a relay server
descriptor (RelayServerDescriptor
) generated by the directory
authorities by extracting and/or transforming relay server descriptor
contents following strict rules without adding the authority's opinion
about the relay. Microdescriptors are referenced from microdescriptor
consensuses (RelayNetworkStatusConsensus
) and downloaded by
clients to make path-selection decisions and to build circuits.
Microdescriptors contain only the most relevant parts that clients care
about. Microdescriptors are expected to be relatively static and only
change about once per week.
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getDefaultPolicy()
Return the default policy,
"accept" or "reject" , of
the IPv4 port summary, or null if the descriptor didn't contain an
IPv4 exit-policy summary line which is equivalent to rejecting all
streams to IPv4 targets. |
java.lang.String |
getDigestSha256Base64()
Return the SHA-256 descriptor digest, encoded as 43 base64
characters without padding characters, that is used to reference this
descriptor from a vote or microdescriptor consensus.
|
java.lang.String |
getEd25519Identity()
Return a SHA-256 digest of the server's Ed25519 identity key,
encoded as 43 base64 characters without padding characters, that is
only included to prevent collisions between microdescriptors, or null
if no such digest is included.
|
java.util.List<java.lang.String> |
getFamilyEntries()
Return nicknames, $-prefixed identity fingerprints, or tuples of the
format
$fingerprint=nickname or $fingerprint~nickname
of servers contained in this server's family, or null if the
descriptor does not contain a family line. |
java.lang.String |
getIpv6DefaultPolicy()
Return the default policy,
"accept" or "reject" , of
the IPv6 port summary, or null if the descriptor didn't contain an
IPv6 exit-policy summary line which is equivalent to rejecting all
streams to IPv6 targets. |
java.lang.String |
getIpv6PortList()
Return the port list of the IPv6 exit-policy summary, or null if the
descriptor didn't contain an IPv6 exit-policy summary line which is
equivalent to rejecting all streams to IPv6 targets.
|
java.lang.String |
getNtorOnionKey()
Return the curve25519 public key, encoded as 43 base64 characters
without padding characters, that is used for the ntor circuit
extended handshake, or null if the descriptor didn't contain an
ntor-onion-key line.
|
java.lang.String |
getOnionKey()
Return the RSA-1024 public key in PEM format used to encrypt CREATE
cells for this server, or null if the descriptor doesn't contain an
onion key.
|
java.util.List<java.lang.String> |
getOrAddresses()
Return IP addresses and TCP ports where this server accepts TLS
connections for the main OR protocol, or an empty list if the server
does not support additional addresses or ports; entries are given in
the order as they are listed in the descriptor; IPv4 addresses are
given in dotted-quad format, IPv6 addresses use the colon-separated
hexadecimal format surrounded by square brackets, and TCP ports are
separated from the IP address using a colon.
|
java.lang.String |
getPortList()
Return the port list of the IPv4 exit-policy summary, or null if the
descriptor didn't contain an IPv4 exit-policy summary line which is
equivalent to rejecting all streams to IPv4 targets.
|
java.lang.String |
getRsa1024Identity()
Return a SHA-1 digest of the server's RSA-1024 identity key, encoded
as 27 base64 characters without padding characters, that is only
included to prevent collisions between microdescriptors, or null if
no such digest is included.
|
getAnnotations, getDescriptorFile, getRawDescriptorBytes, getRawDescriptorLength, getUnrecognizedLines
java.lang.String getDigestSha256Base64()
java.lang.String getOnionKey()
java.lang.String getNtorOnionKey()
java.util.List<java.lang.String> getOrAddresses()
java.util.List<java.lang.String> getFamilyEntries()
$fingerprint=nickname
or $fingerprint~nickname
of servers contained in this server's family, or null if the
descriptor does not contain a family line.java.lang.String getDefaultPolicy()
"accept"
or "reject"
, of
the IPv4 port summary, or null if the descriptor didn't contain an
IPv4 exit-policy summary line which is equivalent to rejecting all
streams to IPv4 targets.java.lang.String getPortList()
java.lang.String getIpv6DefaultPolicy()
"accept"
or "reject"
, of
the IPv6 port summary, or null if the descriptor didn't contain an
IPv6 exit-policy summary line which is equivalent to rejecting all
streams to IPv6 targets.java.lang.String getIpv6PortList()
java.lang.String getRsa1024Identity()
java.lang.String getEd25519Identity()