Packages that use ClientID.Profile
Package
Description
I2P version of the Snark BitTorrent client, enhanced for I2P: peers are I2P destinations, torrents can be served anonymously as hidden services, and metadata carries I2P-specific comment fields.
Uses of ClientID.Profile in org.klomp.snark
Fields in org.klomp.snark declared as ClientID.ProfileModifier and TypeFieldDescriptionprivate ClientID.ProfileI2PSnarkUtil._sharedClientIdThe profile for the shared destination, when multi-dest is off.static final ClientID.ProfileClientID.BIGLYBTBiglyBT 4.1.0.0: no OS/Java suffix in either the tracker UA or handshake, matching the upstream config default.static final ClientID.ProfileClientID.DELUGEDeluge 2.2.0 paired with libtorrent 2.0.13, announced in both strings.static final ClientID.ProfileClientID.KTORRENTKTorrent 26.04.3: Gear-era identity, both strings unverified against a capture.static final ClientID.ProfileClientID.LIBTORRENTLibtorrent 1.2.19: the last fully-authentic 1.2.x identity.static final ClientID.ProfileClientID.QBITTORRENTQBittorrent 5.2.3: mixed-case "-qB5230-" prefix, no OS/Java suffix.static final ClientID.ProfileClientID.TIXATITixati 3.44: dash-free "TIX34" peer ID; both strings unverified.static final ClientID.ProfileClientID.TRANSMISSIONTransmission 4.1.3: slash-separated UA, space-separated handshake string.static final ClientID.ProfileClientID.VUZEVuze 5.7.7.0: Azureus-branded peer ID and tracker UA, plain "Vuze" handshake.Fields in org.klomp.snark with type parameters of type ClientID.ProfileModifier and TypeFieldDescriptionprivate List<ClientID.Profile> I2PSnarkUtil._clientIdCandidatesRestricted candidate set for random selection, empty for all.private final ConcurrentHashMap<String, ClientID.Profile> I2PSnarkUtil._dedicatedClientIdsProfiles by info hash for dedicated destinations in multi-dest mode.private final ConcurrentHashMap<Integer, ClientID.Profile> I2PSnarkUtil._poolClientIdsProfiles by pool index, so all torrents in a pool share one identity.private static final List<ClientID.Profile> ClientID.PROFILESThe known identity profiles, current one first.Methods in org.klomp.snark that return ClientID.ProfileModifier and TypeMethodDescriptionstatic ClientID.ProfileLook up a profile by name, case-insensitively.I2PSnarkUtil.getClientID(byte[] ih) The spoofed client identity for the torrent's destination, or null when identifying as I2PSnark.static ClientID.ProfileClientID.getRandomProfile(Random random, List<ClientID.Profile> candidates) A random profile, optionally restricted to a candidate subset.private ClientID.ProfileI2PSnarkUtil.getSharedClientId()The lazily-resolved profile for the shared destination; synchronized so concurrent first uses cannot pick different profiles.private ClientID.ProfileI2PSnarkUtil.pickClientId()Resolve the configured setting to a profile: unset or "random" picks randomly from the candidate set, "i2psnark" explicitly keeps the classic identity, and a client name selects that profile.Methods in org.klomp.snark that return types with arguments of type ClientID.ProfileModifier and TypeMethodDescriptionstatic List<ClientID.Profile> ClientID.parseCandidateList(String raw) Parse a comma-separated i2psnark.clientIds value into profiles, dropping whitespace, duplicates, and names that match no known client.static List<ClientID.Profile> ClientID.profiles()All spoofable client profiles, unmodifiable.Method parameters in org.klomp.snark with type arguments of type ClientID.ProfileModifier and TypeMethodDescriptionstatic ClientID.ProfileClientID.getRandomProfile(Random random, List<ClientID.Profile> candidates) A random profile, optionally restricted to a candidate subset.voidI2PSnarkUtil.setClientIdCandidates(List<ClientID.Profile> candidates) Restrict the candidate set for random client selection.