4 releases (2 breaking)
new 0.3.0 | Dec 2, 2024 |
---|---|
0.2.1 | Jul 12, 2024 |
0.2.0 | Jul 8, 2024 |
0.1.1 | Jun 7, 2024 |
#1381 in Command line utilities
142 downloads per month
Used in gday_hole_punch
55KB
816 lines
gday_server
A server that runs the gday_contact_exchange_protocol.
Installation
To run the executable directly:
- Download an executable from releases.
- Extract it (on Linux:
tar xf <file>
). - Run it:
./gday_server
To install with cargo:
$ cargo install gday_server
To install with brew:
$ brew install manforowicz/tap/gday_server
Usage
Usage: gday_server [OPTIONS]
Options:
-k, --key <KEY> PEM file of private TLS server key
-c, --certificate <CERTIFICATE> PEM file of signed TLS server certificate
-u, --unencrypted Use unencrypted TCP instead of TLS
-a, --addresses <ADDRESSES> Socket addresses on which to listen [default: 0.0.0.0:2311 [::]:2311]
-t, --timeout <TIMEOUT> Number of seconds before a new room is deleted [default: 600]
-r, --request-limit <REQUEST_LIMIT> Max number of create room requests and requests with an invalid room code an IP address can send per minute before they're rejected [default: 10]
-v, --verbosity <VERBOSITY> Log verbosity. (trace, debug, info, warn, error) [default: debug]
-h, --help Print help
-V, --version Print version
Deployment
Want to add your own server to the list of default servers? Here's how:
-
Get a virtual private server (VPS) from a hosting service. It must have public IPv4 and IPv6 addresses and not be behind NAT.
-
Buy and configure a domain name to point at your VPS.
-
On the VPS, get a TLS certificate using certbot with your domain name.
-
On the VPS, use a tool such as
wget
to download gday_server from the releases page. -
On the VPS, run the
gday_server
with the correct TLS arguments. -
On a local device, verify you can use
gday
with your--server
domain name passed as an argument. -
On the VPS, follow instructions in gday_server.service to set up a systemd service.
-
Verify
gday_server
auto-starts in the background, even when you reboot the server. -
Submit an issue, asking for your server to be added to the default server list.
Related
- gday - Command line tool for sending files.
Depends on
- gday_contact_exchange_protocol - Library with protocol for two peers to share their socket addresses via a server.
Dependencies
~12–21MB
~394K SLoC