lainsafe/sakisafecli/funcs.c

66 lines
1.3 KiB
C
Raw Normal View History

2021-03-27 15:48:38 +00:00
#include <stdio.h>
#include <string.h>
#include <errno.h>
2022-05-06 12:03:05 +00:00
#include <libconfig.h>
2022-05-05 18:04:29 +00:00
#include "sakisafecli.h"
2021-03-27 15:48:38 +00:00
size_t
write_data(void *buffer, size_t size, size_t nmemb,
void *userp)
{
memcpy(userp, buffer, nmemb*size);
return 0;
}
void
print_usage()
{
2022-05-05 18:04:29 +00:00
printf("USAGE: sakisafecli [--socks-proxy=socks_address|--http_proxy=proxy_address] [-6|-4] [--server] file\n");
2021-03-27 15:48:38 +00:00
return;
}
int
store_link(const char *path, const char *buf)
{
FILE *fp = fopen(path,"a+");
if(fp == NULL) {
fprintf(stderr,"Error opening file %i: %s\n",errno,
strerror(errno));
return -1;
}
fwrite(buf,strlen(buf),1,fp);
fputc('\n',fp);
2022-02-09 14:23:52 +00:00
fclose(fp);
2021-03-27 15:48:38 +00:00
return 0;
}
void
print_help()
{
2022-05-05 18:04:29 +00:00
printf("--server <server>: specifies the sakisafe server\n%s\n%s\n%s\n%s\n%s\n%s\n%s",
2021-04-04 12:50:24 +00:00
"-t|--token: Authentication token (https://u.kalli.st)",
2021-03-27 15:48:38 +00:00
"--tor: uses tor.",
"--i2p: uses i2p.",
"-6|--ipv6: uses IPv6 only.",
"-4|--ipv6: uses IPv4 only.",
"--silent: doesn't print progress.",
"--help: print this message.\n");
return;
}
void
progress(void *clientp,
double dltotal,
double dlnow,
double ultotal,
double ulnow)
{
/* So I don't get a warning */
dltotal += 1;
dlnow += 1;
2021-04-04 12:50:24 +00:00
printf("\r%0.f uploaded of %0.f (\E[32;1m%0.f%%\E[30;0m)",ulnow,ultotal,
2021-03-27 15:48:38 +00:00
ulnow*100/ultotal);
fflush(stdout);
2021-04-04 12:50:24 +00:00
2021-03-27 15:48:38 +00:00
}