You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.6 KiB
Markdown
113 lines
3.6 KiB
Markdown
# Gophor Arguments
|
|
```
|
|
gophor [args]
|
|
-root Server root directory
|
|
-bind-addr IP address to bind to
|
|
-port Port to listen on
|
|
-fwd-port Outward-facing port
|
|
-hostname Server hostname (FQDN)
|
|
|
|
-sys-log System log output location ['stdout', 'null', $filename]
|
|
-acc-log Access log output location ['stdout', 'null', $filename]
|
|
|
|
-cache-monitor-freq File cache freshness monitor frequency
|
|
-cache-size File cache size
|
|
-cache-file-max Max cached file size (megabytes)
|
|
|
|
-restrict-paths Restrict paths as new-line separated list of regex statements
|
|
(see documenation below)
|
|
-remap-requests Remap requests as new-line separated list of remap statements
|
|
(see documenation below)
|
|
|
|
-cgi-dir CGI scripts directory (empty to disable)
|
|
-max-cgi-time Max CGI script execution time
|
|
-safe-path CGI environment safe PATH variable
|
|
-http-compat-cgi Enable HTTP compatibility for CGI scripts by stripping headers
|
|
-http-prefix-buf Buffer size used for stripping HTTP headers
|
|
|
|
-user-dir User subdir for personal server space
|
|
|
|
-read-deadline Connection read deadline (timeout)
|
|
-write-deadline Connection write deadline (timeout)
|
|
|
|
-conn-read-buf Connection read buffer size (bytes)
|
|
-conn-write-buf Connection write buffer size (bytes)
|
|
-conn-read-max Connection read max (bytes)
|
|
|
|
-file-read-buf File read buffer size (bytes)
|
|
|
|
-version Print version string
|
|
|
|
# Gopher Specific Arguments
|
|
-page-width Gopher page width
|
|
|
|
-footer-text Footer text (empty to disable)
|
|
|
|
-subgopher-size-max Subgophermap size max (megabytes)
|
|
|
|
-admin Generated policy file admin email
|
|
-description Generated policy file server description
|
|
-geolocation Generated policy file server geolocation
|
|
```
|
|
|
|
# Path Restrictions Regex
|
|
|
|
Path restrictions are parsed as a new-line separated list of regex statements:
|
|
|
|
`/some/regex/statement.*`
|
|
|
|
Internally the regex statements are parsed as (show as Python code):
|
|
|
|
`/match_statement`
|
|
|
|
```Python
|
|
regex = "(?m)" + "/match_statement".removeprefix("/") + "$"
|
|
```
|
|
|
|
Entries are parsed, compiled, and so matched-against in order. They are matched against
|
|
relative paths so please bear this in mind if you have user directories enabled.
|
|
|
|
# Request Remapping Regex
|
|
|
|
Request remapping is parsed as a new-line separated list of remap statements of form:
|
|
|
|
`/regex/matched/against -> /regex/template`
|
|
|
|
Internally, the request remapping statements are parsed as (shown as Python code):
|
|
|
|
`/match_statement -> /template_statement`
|
|
|
|
```Python
|
|
# Where the match statement is compiled using
|
|
regex = "(?m)" + "/match_statement".removeprefix("/") + "$"
|
|
|
|
# And the template is stored as
|
|
template = "/template_statement".removeprefix("/")
|
|
```
|
|
|
|
e.g. scripts within cgi-bin to the root directory:
|
|
|
|
`/(?P<uri>[^/]+) -> /cgi-bin/$uri`
|
|
|
|
Entries are parsed, compiled, and so matched-against in order. They are matched against
|
|
relative paths so please bear this in mind if you have user directories enabled.
|
|
|
|
# User server spaces
|
|
|
|
When user server spaces are enabled, they are accessed via the following gopher URL:
|
|
|
|
`gopher://server.host:70/1/~user`
|
|
|
|
Where the username supplied will then look for a user folder under:
|
|
|
|
`/home/$user/$user_folder`
|
|
|
|
For example:
|
|
|
|
User directory = `public_gopher`
|
|
|
|
`gopher://server.host:70/1/~grufwub`
|
|
|
|
Will fetch from the filesystem:
|
|
|
|
`/home/grufwub/public_gopher` |