From 07f78f990a68eda368d3e195edf34d42a196583e Mon Sep 17 00:00:00 2001 From: epoch Date: Mon, 16 Nov 2020 00:53:44 +0000 Subject: added a shorten program that I use in except for making shortened links on epo.k.vu --- .gitignore | 1 + Makefile | 8 +++++++- shorten.c | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 shorten.c diff --git a/.gitignore b/.gitignore index 6dc11bf..e76a1a0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ uriescape urimatch uriunescape urijoin +shorten diff --git a/Makefile b/Makefile index 7809a59..3910625 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,10 @@ CFLAGS:=-std=c11 -pedantic -Wall PREFIX:=/usr/local CC:=gcc -all: urimatch uricut urijoin uricmp uriunescape uriescape +all: urimatch uricut urijoin uricmp uriunescape uriescape shorten + +shorten: LDFLAGS=-lcrypto +shorten: shorten.c urimatch: urimatch.c uri.h @@ -37,3 +40,6 @@ install: all install -t $(PREFIX)/bin copy_start_nevermind.sh install -t $(PREFIX)/bin choose install -t $(PREFIX)/bin query_param + install -t $(PREFIX)/bin shorten + chgrp shorten $(PREFIX)/bin/shorten + chmod g+s $(PREFIX)/bin/shorten diff --git a/shorten.c b/shorten.c new file mode 100644 index 0000000..ac76d84 --- /dev/null +++ b/shorten.c @@ -0,0 +1,37 @@ +#define _POSIX_C_SOURCE 200908 +#include +#include +#include +#include +//#include +#include + +#define BYTES_IN_SHORT 2 +#define CACHE_DIR "/var/cache/shorten" + +int main(int argc,char *argv[]) { + int i; + if(argc < 2) return 1; + unsigned char *p=MD5((unsigned char *)argv[1],strlen(argv[1]),NULL); + char filepath[4096];//too long, oh well + char out[256]; + char tmp[3]; + strcpy(out,""); + for(i=0;i