Select Git revision
Forked from
PrivateStorage / PrivateStorageio
Source project has a limited visibility.
-
Jean-Paul Calderone authored
no reason to keep carrying out custom graphviz package or build all this old junk just for the docs
Jean-Paul Calderone authoredno reason to keep carrying out custom graphviz package or build all this old junk just for the docs
run-client.py 1.67 KiB
#!/usr/bin/env python3
#
# Create a PrivateStorage.io-enabled Tahoe-LAFS client node and run it as a
# daemon. Exit with success when we think we've started it.
#
from os import environ
from sys import argv
from shutil import which
from subprocess import check_output
from configparser import ConfigParser
def main():
(nodePath, introducerFURL, issuerURL, publicKey, tokenCount) = argv[1:]
run(["tahoe", "--version"])
run([
"tahoe", "create-client",
"--shares-needed", "1",
"--shares-happy", "1",
"--shares-total", "1",
"--introducer", introducerFURL,
nodePath,
])
# Add necessary ZKAPAuthorizer configuration bits.
config = ConfigParser()
with open("/tmp/client/tahoe.cfg") as cfg:
config.read_file(cfg)
config.set(u"client", u"storage.plugins", u"privatestorageio-zkapauthz-v2")
config.add_section(u"storageclient.plugins.privatestorageio-zkapauthz-v2")
config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v2", u"redeemer", u"ristretto")
config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v2", u"ristretto-issuer-root-url", issuerURL)
config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v2", u"allowed-public-keys", publicKey)
config.set(u"storageclient.plugins.privatestorageio-zkapauthz-v2", u"default-token-count", tokenCount)
with open("/tmp/client/tahoe.cfg", "wt") as cfg:
config.write(cfg)
run([
"daemonize",
"-o", "/tmp/stdout",
"-e", "/tmp/stderr",
which("tahoe"), "run", "/tmp/client",
])
def run(argv):
print("{}: {}".format(argv, check_output(argv)))
if __name__ == '__main__':
main()