react-native-nitro-tor
Version:
Tor Daemon and Onion Routing Client for React Native using pure C++ NitroModules.
74 lines • 1.99 kB
TypeScript
import type { HybridObject } from 'react-native-nitro-modules';
type ByteArray64 = number[];
export interface TorConfig {
socks_port: number;
data_dir: string;
timeout_ms: number;
}
export interface HiddenServiceParams {
port: number;
target_port: number;
key_data?: ByteArray64;
}
export interface StartTorParams {
data_dir: string;
key_data?: ByteArray64;
socks_port: number;
target_port: number;
timeout_ms: number;
}
export interface StartTorResponse {
is_success: boolean;
onion_address: string;
control: string;
error_message: string;
}
export interface HiddenServiceResponse {
is_success: boolean;
onion_address: string;
control: string;
}
export interface HttpGetParams {
url: string;
headers: string;
timeout_ms: number;
}
export interface HttpPostParams {
url: string;
body: string;
headers: string;
timeout_ms: number;
}
export interface HttpPutParams {
url: string;
body: string;
headers: string;
timeout_ms: number;
}
export interface HttpDeleteParams {
url: string;
headers: string;
timeout_ms: number;
}
export interface HttpResponse {
status_code: number;
body: string;
error: string;
}
export interface Tor extends HybridObject<{
ios: 'c++';
android: 'c++';
}> {
initTorService(config: TorConfig): Promise<boolean>;
createHiddenService(params: HiddenServiceParams): Promise<HiddenServiceResponse>;
startTorIfNotRunning(params: StartTorParams): Promise<StartTorResponse>;
getServiceStatus(): Promise<number>;
deleteHiddenService(onionAddress: string): Promise<boolean>;
shutdownService(): Promise<boolean>;
httpGet(params: HttpGetParams): Promise<HttpResponse>;
httpPost(params: HttpPostParams): Promise<HttpResponse>;
httpPut(params: HttpPutParams): Promise<HttpResponse>;
httpDelete(params: HttpDeleteParams): Promise<HttpResponse>;
}
export {};
//# sourceMappingURL=Tor.nitro.d.ts.map