summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/tor/IPtProxyInterface.java
blob: 0203e08231210acb311ae88b691c504b631b545c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package se.leap.bitmaskclient.tor;

public interface IPtProxyInterface {

    /**
     * StateLocation - Override TOR_PT_STATE_LOCATION, which defaults to "$TMPDIR/pt_state".
     */
    void setStateLocation(String v);

    /**
     * StateLocation - Override TOR_PT_STATE_LOCATION, which defaults to "$TMPDIR/pt_state".
     */
    String getStateLocation();

    /**
     * SnowflakePort - Port where Snowflake will provide its service.
     Only use this property after calling StartSnowflake! It might have changed after that!
     */
    long snowflakePort();

    /**
     * StartSnowflake - Start the Snowflake client.

     @param ice Comma-separated list of ICE servers.

     @param url URL of signaling broker.

     @param front Front domain.

     @param logFile Name of log file. OPTIONAL

     @param logToStateDir Resolve the log file relative to Tor's PT state dir.

     @param keepLocalAddresses Keep local LAN address ICE candidates.

     @param unsafeLogging Prevent logs from being scrubbed.

     @param maxPeers Capacity for number of multiplexed WebRTC peers. DEFAULTs to 1 if less than that.

     @return Port number where Snowflake will listen on, if no error happens during start up.
     */
    long startSnowflake(String ice, String url, String front, String logFile, boolean logToStateDir, boolean keepLocalAddresses, boolean unsafeLogging, long maxPeers);

    /**
     * StartSnowflakeProxy - Start the Snowflake proxy.

     @param capacity Maximum concurrent clients. OPTIONAL. Defaults to 10, if 0.

     @param broker Broker URL. OPTIONAL. Defaults to https://snowflake-broker.bamsoftware.com/, if empty.

     @param relay WebSocket relay URL. OPTIONAL. Defaults to wss://snowflake.bamsoftware.com/, if empty.

     @param stun STUN URL. OPTIONAL. Defaults to stun:stun.stunprotocol.org:3478, if empty.

     @param logFile Name of log file. OPTIONAL

     @param keepLocalAddresses Keep local LAN address ICE candidates.

     @param unsafeLogging Prevent logs from being scrubbed.
     */
    void startSnowflakeProxy(long capacity, String broker, String relay, String stun, String logFile, boolean keepLocalAddresses, boolean unsafeLogging);

    /**
     * StopSnowflake - Stop the Snowflake client.
     */
    void stopSnowflake();

    /**
     * StopSnowflakeProxy - Stop the Snowflake proxy.
     */
    void stopSnowflakeProxy();
}