summaryrefslogtreecommitdiff
path: root/sakisafecli/funcs.c
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2024-01-13 01:10:07 -0800
committerTyler Hoang <tyler@tylerhoang.xyz>2024-01-13 01:10:07 -0800
commitc39de958ace0d6dc0abdf5667bb50a43d9930927 (patch)
treef756c50e9ed36a79b76eef911969cd76285093ea /sakisafecli/funcs.c
initial
Diffstat (limited to 'sakisafecli/funcs.c')
-rw-r--r--sakisafecli/funcs.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/sakisafecli/funcs.c b/sakisafecli/funcs.c
new file mode 100644
index 0000000..d7782ff
--- /dev/null
+++ b/sakisafecli/funcs.c
@@ -0,0 +1,56 @@
+#include <curl/system.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <libconfig.h>
+#include <curl/curl.h>
+#include <stdbool.h>
+#include "sakisafecli.h"
+
+size_t
+write_data(void *buffer, size_t size, size_t nmemb, void *userp)
+{
+ memcpy(userp, buffer, nmemb * size);
+ return 0;
+}
+
+void
+print_usage()
+{
+ printf("USAGE: sakisafecli [-p socks proxy|-P http proxy] [-x] [-s] "
+ "[-6|-4] [--server] FILE\n");
+ return;
+}
+
+void
+print_help()
+{
+ printf("-s|--server: specifies the sakisafe "
+ "server\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s",
+ "-t|--token: Authentication token (https://u.kalli.st)",
+ "-P|--http-proxy: http proxy to use e.g. http://127.0.0.1:4444",
+ "-p|--socks-proxy: SOCK proxy to use e.g. 127.0.0.1:9050",
+ "-6|--ipv6: uses IPv6 only",
+ "-4|--ipv6: uses IPv4 only",
+ "-S|--silent: doesn't print progress",
+ "-x|--paste: read file from stdin",
+ "-C: print current settings",
+ "-h|--help: print this message.\n");
+ return;
+}
+
+size_t
+progress(
+ void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
+{
+ /* I don't know why the fuck I have to do this */
+ if(ultotal == 0) {
+ ultotal++;
+ }
+ printf("\r%li uploaded of %li (\033[32;1m%li%%\033[30;0m)",
+ ulnow,
+ ultotal,
+ ulnow * 100 / ultotal);
+ fflush(stdout);
+ return 0;
+}