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:

None

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:

None

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_PORT: int

Port for Freenet proxy connection.

Default:

8888

Environ:

FREENET_PORT

darc.proxy.freenet.FREENET_RETRY: int

Retry times for Freenet bootstrap when failure.

Default:

3

Environ:

FREENET_RETRY

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:

FREENET_PATH

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:

FREENET_ARGS

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:

True

Environ:

DARC_FREENET

darc.proxy.freenet._FREENET_BS_FLAG: bool

If the Freenet proxy is bootstrapped.

darc.proxy.freenet._FREENET_PROC: subprocess.Popen

Freenet proxy process running in the background.

darc.proxy.freenet._FREENET_ARGS: List[str]

Freenet proxy bootstrap arguments.