Freenet Proxy¶
The darc.proxy.freenet
module contains the auxiliary functions
around managing and processing the Freenet proxy.
- darc.proxy.freenet._freenet_bootstrap()[source]¶
Freenet bootstrap.
The bootstrap arguments are defined as
_FREENET_ARGS
.- Raises:
subprocess.CalledProcessError – If the return code of
_FREENET_PROC
is non-zero.- Return type:
- darc.proxy.freenet.freenet_bootstrap()[source]¶
Bootstrap wrapper for Freenet.
The function will bootstrap the Freenet proxy. It will retry for
FREENET_RETRY
times in case of failure.Also, it will NOT re-bootstrap the proxy as is guaranteed by
_FREENET_BS_FLAG
.- Warns:
FreenetBootstrapFailed – If failed to bootstrap Freenet proxy.
- Raises:
UnsupportedPlatform – If the system is not supported, i.e. not macOS or Linux.
- Return type:
- darc.proxy.freenet.launch_freenet()[source]¶
Launch Freenet process. :rtype: Popen[bytes]
See also
This function mocks the behaviour of
stem.process.launch_tor()
.- Return type:
Popen[bytes]
The following constants are configuration through environment variables:
- darc.proxy.freenet.FREENET_RETRY: int¶
Retry times for Freenet bootstrap when failure.
- Default:
3
- Environ:
- darc.proxy.freenet.BS_WAIT: float¶
Time after which the attempt to start Freenet is aborted.
- Default:
90
- Environ:
FREENET_WAIT
Note
If not provided, there will be NO timeouts.
- darc.proxy.freenet.FREENET_PATH: str¶
Path to the Freenet project.
- Default:
/usr/local/src/freenet
- Environ:
- darc.proxy.freenet.FREENET_ARGS: List[str]¶
Freenet bootstrap arguments for
run.sh 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.freenet._MNG_FREENET: bool¶
If manage Freenet proxy through
darc
.- Default:
- Environ:
DARC_FREENET
- darc.proxy.freenet._FREENET_PROC: subprocess.Popen¶
Freenet proxy process running in the background.