Interface TorWrapper


  • @NotNullByDefault
    public interface TorWrapper
    • Field Detail

      • LOG

        static final java.util.logging.Logger LOG
    • Method Detail

      • start

        void start()
            throws java.io.IOException,
                   java.lang.InterruptedException
        Starts the Tor process.

        This method must only be called once. To restart the Tor process, stop this wrapper instance and then create a new instance.

        Throws:
        java.io.IOException
        java.lang.InterruptedException
      • stop

        void stop()
           throws java.io.IOException
        Tell the Tor process to stop and returns without waiting for the process to exit.
        Throws:
        java.io.IOException
      • setObserver

        void setObserver​(@Nullable
                         TorWrapper.Observer observer)
        Sets an observer for observing the state of the wrapper, replacing any existing observer, or removes any existing observer if the argument is null.
      • isTorRunning

        boolean isTorRunning()
        Returns true if the wrapper has been started and not yet stop() stopped.
      • publishHiddenService

        TorWrapper.HiddenServiceProperties publishHiddenService​(int localPort,
                                                                int remotePort,
                                                                @Nullable
                                                                java.lang.String privateKey)
                                                         throws java.io.IOException
        Publishes an ephemeral hidden service.
        Parameters:
        localPort - The local port on which the service is listening.
        remotePort - The port number that clients of the service will see.
        privateKey - The private key of the hidden service, in the form returned by a previous call to this method, or null if a new service should be created.
        Throws:
        java.io.IOException
      • removeHiddenService

        void removeHiddenService​(java.lang.String onion)
                          throws java.io.IOException
        Removes (unpublishes) an ephemeral hidden service that was created by calling publishHiddenService(int, int, String).
        Throws:
        java.io.IOException
      • enableNetwork

        void enableNetwork​(boolean enable)
                    throws java.io.IOException
        Enables or disables the Tor process's network connection. The network connection is disabled by default.
        Throws:
        java.io.IOException
      • enableBridges

        void enableBridges​(java.util.List<java.lang.String> bridges)
                    throws java.io.IOException
        Configures Tor to use the given list of bridges for connecting to the Tor network. Bridges are not used by default.

        Each item in the list should be a bridge line in the same format that would be used in a torrc file (including the Bridge keyword).

        Throws:
        java.io.IOException
      • disableBridges

        void disableBridges()
                     throws java.io.IOException
        Configures Tor not to use bridges for connecting to the Tor network. Bridges are not used by default.
        Throws:
        java.io.IOException
      • enableConnectionPadding

        void enableConnectionPadding​(boolean enable)
                              throws java.io.IOException
        Enables or disables connection padding. Padding is disabled by default.
        Throws:
        java.io.IOException
      • enableIpv6

        void enableIpv6​(boolean ipv6Only)
                 throws java.io.IOException
        Configures Tor to use IPv6 or IPv4 for connecting to the Tor network. IPv4 is used by default.
        Throws:
        java.io.IOException