AnonControlClient
The AnonControlClient
class provides a way to interact with the Anon Control Port, allowing you to authenticate, send commands, and manage circuits.
Constructor
constructor(host: string = '127.0.0.1', port: number = 9051)
Creates a new instance of the AnonControlClient class.
host
:string
- The host of the Anon Control Port. Default:'127.0.0.1'
port
:number
- The port number of the Anon Control Port. Default:9051
Methods
authenticate(password: string = 'password'): Promise<void>
authenticate(password: string = 'password'): Promise<void>
Authenticates the client with the Anon Control Port.
password
:string
- The password for authentication. Default:'password'
Returns: A promise that resolves when authentication is successful.
sendCommand(command: string): Promise<string>
sendCommand(command: string): Promise<string>
Sends a command to the Anon Control Port.
command
:string
- The command to send Returns: A promise that resolves with the response from the Anon Control Port.
circuitStatus(): Promise<CircuitStatus[]>
circuitStatus(): Promise<CircuitStatus[]>
Retrieves the current circuit status. Returns: A promise that resolves with an array of CircuitStatus objects.
extendCircuit(options: ExtendCircuitOptions = {}): Promise<number>
extendCircuit(options: ExtendCircuitOptions = {}): Promise<number>
Extends an existing circuit or creates a new one.
options
:ExtendCircuitOptions
- Options for extending the circuit Returns: A promise that resolves with the circuit ID.
closeCircuit(circuitId: number): Promise<void>
closeCircuit(circuitId: number): Promise<void>
Closes a specified circuit.
circuitId
:number
- The ID of the circuit to close Returns: A promise that resolves when the circuit is closed.
getRelayInfo(fingerprint: string): Promise<RelayInfo>
getRelayInfo(fingerprint: string): Promise<RelayInfo>
Retrieves information about a relay.
fingerprint
:string
- The fingerprint of the relay Returns: A promise that resolves with a RelayInfo object.
end(): void
end(): void
Closes the connection to the Anon Control Port.
Interfaces
CircuitStatus
circuitId
:number
state
:string
relays
:Relay[]
buildFlags
:string[]
purpose
:string
timeCreated
:Date
Relay
fingerprint
:string
nickname
:string
ExtendCircuitOptions
circuitId?
:number
serverSpecs?
:string[]
purpose?
:'general' | 'controller'
RelayInfo
fingerprint
:string
nickname
:string
ip
:string
orPort
:number
flags
:string[]
bandwidth
:number
Usage Example
Last updated