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.
-
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.
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.