gday_server

Crates.iogday_server
lib.rsgday_server
version0.3.0
sourcesrc
created_at2024-06-07 22:27:51.308666
updated_at2024-12-02 02:31:36.34772
descriptionServer that lets 2 peers exchange their socket addresses.
homepagehttps://github.com/manforowicz/gday/tree/main/gday_server
repositoryhttps://github.com/manforowicz/gday/
max_upload_size
id1265253
size68,456
Marcin Anforowicz (manforowicz)

documentation

README

gday_server

Crates.io Version docs.rs

A server that runs the gday_contact_exchange_protocol.

Installation

To run the executable directly:

  1. Download an executable from releases.
  2. Extract it (on Linux: tar xf <file>).
  3. 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:

  1. Get a virtual private server (VPS) from a hosting service. It must have public IPv4 and IPv6 addresses and not be behind NAT.

  2. Buy and configure a domain name to point at your VPS.

  3. On the VPS, get a TLS certificate using certbot with your domain name.

  4. On the VPS, use a tool such as wget to download gday_server from the releases page.

  5. On the VPS, run the gday_server with the correct TLS arguments.

  6. On a local device, verify you can use gday with your --server domain name passed as an argument.

  7. On the VPS, follow instructions in gday_server.service to set up a systemd service.

  8. Verify gday_server auto-starts in the background, even when you reboot the server.

  9. 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

Commit count: 91

cargo fmt