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.
-
darc.proxy.i2p.
fetch_hosts
(link)[source]¶ Fetch
hosts.txt
.- Parameters
link (darc.link.Link) – Link object to fetch for its
hosts.txt
.- Returns
Content of the
hosts.txt
file.
-
darc.proxy.i2p.
get_hosts
(link)[source]¶ Read
hosts.txt
.- Parameters
link (darc.link.Link) – Link object to read
hosts.txt
.- Returns
- Return type
-
darc.proxy.i2p.
have_hosts
(link)[source]¶ Check if
hosts.txt
already exists.- Parameters
link (darc.link.Link) – Link object to check if
hosts.txt
already exists.- Returns
If
hosts.txt
exists, return the path tohosts.txt
, i.e.<root>/<proxy>/<scheme>/<hostname>/hosts.txt
.If not, return
None
.
- Return type
Optional[str]
-
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.
-
darc.proxy.i2p.
read_hosts
(text, check=False)[source]¶ Read
hosts.txt
.- Parameters
- Returns
List of links extracted.
- Return type
List[darc.link.Link]
-
darc.proxy.i2p.
save_hosts
(link, text)[source]¶ Save
hosts.txt
.- Parameters
link (darc.link.Link) – Link object of
hosts.txt
.text (str) – Content of
hosts.txt
.
- Returns
Saved path to
hosts.txt
, i.e.<root>/<proxy>/<scheme>/<hostname>/hosts.txt
.- Return type
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.