diff options
Diffstat (limited to 'broadd.c')
| -rw-r--r-- | broadd.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -6,6 +6,8 @@ ---------- RATE_LIMIT_S -> rate limit expiry window ---------- CLIENT_TIMEOUT -> how long to wait before evicting a udp client ---------- WILDCARD -> whether or not to enable wildcard. set to 0 or 1. +---------- RELAY_TXT -> read a pre-determined list of relays and connect to them at startup. +-------------- format is one relay per line, `<ip> <port>` ------ difference: ---------- udp mode does not send m_ok or p_ok ---------- send `N\n` to initiate connection in udp mode @@ -590,6 +592,23 @@ int main(int argc, char** argv) { fds[ 1 ].fd = STDIN_FILENO; fds[ 1 ].events = POLLIN; + // parse relays.txt file + const char* rpath = getenv("RELAY_TXT"); + if (rpath) { + FILE* f = fopen(rpath, "r"); + if (f) { + char line[ 256 ]; + while (fgets(line, sizeof(line), f)) { + char ip[ 64 ], port[ 16 ]; + if (sscanf(line, "%63s %15s", ip, port) != 2) continue; + connect_relay(ip, port); + } + fclose(f); + } else { + perror("unable to open RELAY_TXT"); + } + } + while (1) { int run_shutdown = 0; int got_msg = 0; |
