fqbn207 142f761930 kekl
2024-12-17 01:26:25 +01:00

46 lines
882 B
C

#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "../slstatus.h"
#include "../util.h"
#define MULLVAD_STAT_CMD "mullvad status"
static const char *get_relay() {
FILE *fp;
char buff[0x80];
static char relay[0x80];
fp = popen("mullvad status", "r");
if (fp == NULL) {
perror("popen");
return NULL;
}
while (fgets(buff, sizeof(buff), fp) != NULL) {
if (strstr(buff, "Relay")) {
if (sscanf(buff, "Relay: %s", relay) == 1) {
fclose(fp);
return relay;
}
}
}
pclose(fp);
return NULL;
}
const char *mullvad_relay(const char *stat) {
static char rtrelay[0x80];
const char *relay = get_relay();
if (relay != NULL) {
snprintf(rtrelay, sizeof(rtrelay), "%s", relay);
} else {
snprintf(rtrelay, sizeof(rtrelay), "No Relay");
}
return rtrelay;
}