Tor Proxy¶
The darc.proxy.tor module contains the auxiliary functions
around managing and processing the Tor proxy.
-
darc.proxy.tor._tor_bootstrap()¶ Tor bootstrap.
The bootstrap configuration is defined as
_TOR_CONFIG.If
TOR_PASSnot provided, the function will request for it.
-
darc.proxy.tor.has_tor(link_pool)¶ Check if contain Tor links.
- Parameters
link_pool (Set[str]) – Link pool to check.
- Returns
If the link pool contains Tor links.
- Return type
bool
-
darc.proxy.tor.print_bootstrap_lines(line)¶ Print Tor bootstrap lines.
- Parameters
line (str) – Tor bootstrap line.
-
darc.proxy.tor.renew_tor_session()¶ Renew Tor session.
-
darc.proxy.tor.tor_bootstrap()¶ Bootstrap wrapper for Tor.
The function will bootstrap the Tor proxy. It will retry for
TOR_RETRYtimes in case of failure.Also, it will NOT re-bootstrap the proxy as is guaranteed by
_TOR_BS_FLAG.- Warns
TorBootstrapFailed – If failed to bootstrap Tor proxy.
-
darc.proxy.tor.TOR_REQUESTS_PROXY: Dict[str, Any]¶ Proxy for Tor sessions.
See also
-
darc.proxy.tor.TOR_SELENIUM_PROXY: selenium.webdriver.Proxy¶ Proxy (
selenium.webdriver.Proxy) for Tor web drivers.See also
The following constants are configuration through environment variables:
-
darc.proxy.tor.TOR_PASS: str¶ Tor controller authentication token.
- Default
None- Environ
Note
If not provided, it will be requested at runtime.
-
darc.proxy.tor.TOR_RETRY: int¶ Retry times for Tor bootstrap when failure.
- Default
3- Environ
-
darc.proxy.tor.BS_WAIT: float¶ Time after which the attempt to start Tor is aborted.
- Default
90- Environ
TOR_WAIT
Note
If not provided, there will be NO timeouts.
-
darc.proxy.tor.TOR_CFG: Dict[str, Any]¶ Tor bootstrap configuration for
stem.process.launch_tor_with_config().- Default
{}- Environ
Note
If provided, it will be parsed from a JSON encoded string.
The following constants are defined for internal usage:
-
darc.proxy.tor._TOR_BS_FLAG: bool¶ If the Tor proxy is bootstrapped.
-
darc.proxy.tor._TOR_PROC: subprocess.Popen¶ Tor proxy process running in the background.
-
darc.proxy.tor._TOR_CTRL: stem.control.Controller¶ Tor controller process (
stem.control.Controller) running in the background.
-
darc.proxy.tor._TOR_CONFIG: List[str]¶ Tor bootstrap configuration for
stem.process.launch_tor_with_config().