.\" .\" Copyright (c) 2025 Murilo Ijanc .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd March 25, 2025 .Dt TPD 1 .Os .Sh NAME .Nm tpd .Nd tesseras-paste daemon .Sh SYNOPSIS .Nm .Op Fl g .Op Fl n .Op Fl p Ar port .Op Fl d Ar dir .Op Fl s Ar sock .Op Fl w Ar http_port .Op Fl b Ar host:port .Op Fl v .Sh DESCRIPTION .Nm is the tesseras-paste daemon. It participates in the tesseras-dht distributed hash table network to store and serve encrypted pastes. It listens on a Unix domain socket for commands from .Xr tp 1 and optionally serves an HTTP interface. .Pp The options are as follows: .Bl -tag -width Ds .It Fl b Ar host:port Bootstrap peer address. This option can be specified multiple times to connect to several peers at startup. When specified, automatic SRV discovery is skipped. .It Fl d Ar dir Data directory for paste storage and identity key. The default is .Pa /var/tesseras-paste . .It Fl g Enable global NAT mode for public servers. .It Fl n Disable automatic bootstrap via DNS SRV discovery. By default, when no .Fl b peers are given, .Nm queries the SRV record at .Em _tesseras._udp.tesseras.net to discover bootstrap peers. This flag disables that behavior, useful for running an isolated node. .It Fl p Ar port UDP port for the DHT protocol. A value of 0 selects a random port. The default is 0. .It Fl s Ar sock Path to the Unix domain socket. The default is .Pa daemon.sock inside the data directory. .It Fl v Enable verbose logging. Sets the log level to debug, producing detailed output about peer activity, routing table changes, and network events. .It Fl w Ar http_port Enable the HTTP server on the specified port. .El .Sh BOOTSTRAP DISCOVERY When no .Fl b peers are specified and .Fl n is not set, .Nm automatically discovers bootstrap peers by querying the DNS SRV record .Em _tesseras._udp.tesseras.net . .Sh FILES .Bl -tag -width "/var/tesseras-paste/identity.key" -compact .It Pa /var/tesseras-paste/ Default data directory. .It Pa /var/tesseras-paste/daemon.sock Default Unix domain socket. .It Pa /var/tesseras-paste/identity.key Persistent Ed25519 identity key. Generated automatically on first run. .El .Sh EXIT STATUS .Ex -std .Sh EXAMPLES Start the daemon with default settings: .Pp .Dl # tpd .Pp Start with a bootstrap peer and HTTP interface: .Pp .Dl # tpd -b 198.51.100.1:6881 -w 8080 .Pp Start as a public server on port 6881: .Pp .Dl # tpd -g -p 6881 .Pp Start an isolated node without automatic bootstrap: .Pp .Dl # tpd -n .Sh SEE ALSO .Xr tp 1 .Sh AUTHORS .An Murilo Ijanc Aq Mt murilo@ijanc.org