e92880d53c70a5ee78542aeb8b5d9860b9d73d9b
3 'require tools.widgets as widgets';
9 m
= new form
.Map('ttyd');
11 s
= m
.section(form
.TypedSection
, 'ttyd', _('ttyd Instance'));
14 s
.addbtntitle
= _('Add instance');
16 o
= s
.option(form
.Flag
, 'enable', _('Enable'));
19 o
= s
.option(form
.Value
, 'port', _('Port'), _('Port to listen (default: 7681, use `0` for random port)'));
23 o
= s
.option(widgets
.DeviceSelect
, 'interface', _('Interface'), _('Network interface to bind (eg: eth0), or UNIX domain socket path (eg: /var/run/ttyd.sock)'));
27 o
= s
.option(form
.Value
, 'credential', _('Credential'), _('Credential for Basic Authentication'));
28 o
.placeholder
= 'username:password';
30 o
= s
.option(form
.Value
, 'uid', _('User ID'), _('User id to run with'));
31 o
.datatype
= 'uinteger';
33 o
= s
.option(form
.Value
, 'gid', _('Group ID'), _('Group id to run with'));
34 o
.datatype
= 'uinteger';
36 o
= s
.option(form
.Value
, 'signal', _('Signal'), _('Signal to send to the command when exit it (default: 1, SIGHUP)'));
37 o
.datatype
= 'uinteger';
39 s
.option(form
.Flag
, 'url_arg', _('Allow URL args'), _('Allow client to send command line arguments in URL (eg: http://localhost:7681?arg=foo&arg=bar)'));
41 s
.option(form
.Flag
, 'readonly', _('Read-only'), _('Do not allow clients to write to the TTY'));
43 o
= s
.option(form
.DynamicList
, 'client_option', _('Client option'), _('Send option to client'));
44 o
.placeholder
= 'key=value';
46 o
= s
.option(form
.Value
, 'terminal_type', _('Terminal type'), _('Terminal type to report (default: xterm-256color)'));
47 o
.placeholder
= 'xterm-256color';
49 s
.option(form
.Flag
, 'check_origin', _('Check origin'), _('Do not allow websocket connection from different origin'));
51 o
= s
.option(form
.Value
, 'max_clients', _('Max clients'), _('Maximum clients to support (default: 0, no limit)'));
52 o
.datatype
= 'uinteger';
55 s
.option(form
.Flag
, 'once', _('Once'), _('Accept only one client and exit on disconnection'));
57 o
= s
.option(form
.Value
, 'index', _('Index'), _('Custom index.html path'));
59 s
.option(form
.Flag
, 'ipv6', _('IPv6'), _('Enable IPv6 support'));
61 s
.option(form
.Flag
, 'ssl', _('SSL'), _('Enable SSL'));
63 o
= s
.option(form
.Value
, 'ssl_cert', _('SSL cert'), _('SSL certificate file path'));
64 o
.depends('ssl', '1');
66 o
= s
.option(form
.Value
, 'ssl_key', _('SSL key'), _('SSL key file path'));
67 o
.depends('ssl', '1');
69 o
= s
.option(form
.Value
, 'ssl_ca', _('SSL ca'), _('SSL CA file path for client certificate verification'));
70 o
.depends('ssl', '1');
72 o
= s
.option(form
.Value
, 'debug', _('Debug'), _('Set log level (default: 7)'));
75 s
.option(form
.Value
, 'command', _('Command'));