I2P Proxy¶
The darc.proxy.i2p
module contains the auxiliary functions
around managing and processing the I2P proxy.
- darc.proxy.i2p._i2p_bootstrap()[source]¶
I2P bootstrap.
The bootstrap arguments are defined as
_I2P_ARGS
.- Raises:
subprocess.CalledProcessError – If the return code of
_I2P_PROC
is non-zero.- Return type:
- darc.proxy.i2p.get_hosts(link)[source]¶
Read
hosts.txt
.- Parameters:
link (darc_link.Link) – Link object to read
hosts.txt
.- Return type:
Optional[File]
- Returns:
- darc.proxy.i2p.i2p_bootstrap()[source]¶
Bootstrap wrapper for I2P.
The function will bootstrap the I2P proxy. It will retry for
I2P_RETRY
times in case of failure.Also, it will NOT re-bootstrap the proxy as is guaranteed by
_I2P_BS_FLAG
.- Warns:
I2PBootstrapFailed – If failed to bootstrap I2P proxy.
- Raises:
UnsupportedPlatform – If the system is not supported, i.e. not macOS or Linux.
- Return type:
- darc.proxy.i2p.launch_i2p()[source]¶
Launch I2P process. :rtype: Popen[bytes]
See also
This function mocks the behaviour of
stem.process.launch_tor()
.- Return type:
Popen[bytes]
- darc.proxy.i2p.save_hosts(link, text)[source]¶
Save
hosts.txt
.- Parameters:
link (darc_link.Link) – Link object of
hosts.txt
.text (
str
) – Content ofhosts.txt
.
- Return type:
- Returns:
Saved path to
hosts.txt
, i.e.<root>/<proxy>/<scheme>/<hostname>/hosts.txt
.
See also
- darc.proxy.i2p.I2P_SELENIUM_PROXY: selenium.webdriver.common.proxy.Proxy¶
Proxy
for I2P web drivers.See also
The following constants are configuration through environment variables:
- darc.proxy.i2p.BS_WAIT: float¶
Time after which the attempt to start I2P is aborted.
- Default:
90
- Environ:
I2P_WAIT
Note
If not provided, there will be NO timeouts.
- darc.proxy.i2p.I2P_ARGS: List[str]¶
I2P bootstrap arguments for
i2prouter start
.If provided, it should be parsed as command line arguments (c.f.
shlex.split()
).- Default:
''
- Environ:
Note
The command will be run as
DARC_USER
, if current user (c.f.getpass.getuser()
) is root.
The following constants are defined for internal usage:
- darc.proxy.i2p._I2P_PROC: subprocess.Popen¶
I2P proxy process running in the background.