# `letsencrypt.plugins.manual`

Manual plugin.

class `letsencrypt.plugins.manual.``Authenticator`(*args, **kwargs)

  Bases: `letsencrypt.plugins.common.Plugin`

  Manual Authenticator.

  This plugin requires user’s manual intervention in setting up a HTTP server for solving http-01 challenges and thus does not need to be run as a privileged process. Alternatively shows instructions on how to use Python’s built-in HTTP server.

  Todo

  Support for `TLSSNI01`.

  `CMD_TEMPLATE` = 'mkdir -p {root}/public_html/{achall.URI_ROOT_PATH}\ncd {root}/public_html\nprintf "%s" {validation} > {achall.URI_ROOT_PATH}/{encoded_token}\n# run only once per server:\n$(command -v python2 || command -v python2.7 || command -v python2.6) -c \\\n"import BaseHTTPServer, SimpleHTTPServer; \\\ns = BaseHTTPServer.HTTPServer((\'\', {port}), SimpleHTTPServer.SimpleHTTPRequestHandler); \\\ns.serve_forever()" '

    Command template.