summaryrefslogtreecommitdiff
path: root/uristart
diff options
context:
space:
mode:
authorepoch <epoch@hacking.allowed.org>2019-11-02 05:44:17 -0500
committerepoch <epoch@hacking.allowed.org>2019-11-02 05:44:17 -0500
commit59d1d3ebd78cb17d443877179c5fc9d74383a9d5 (patch)
treea6471c32ed321078092c6ee469fea102848aae6e /uristart
parent8a8602011b11a4f53a96facd4d5dc0c0aed7b6a4 (diff)
downloaduritools-59d1d3ebd78cb17d443877179c5fc9d74383a9d5.tar.gz
uritools-59d1d3ebd78cb17d443877179c5fc9d74383a9d5.zip
commented out weird derp+merp scheme code. added urilaunch which is meant to be done similar to how dmenu_run gets launched. I use alt+u
Diffstat (limited to 'uristart')
-rwxr-xr-xuristart43
1 files changed, 25 insertions, 18 deletions
diff --git a/uristart b/uristart
index fdea944..08eede3 100755
--- a/uristart
+++ b/uristart
@@ -1,24 +1,26 @@
#!/bin/bash
##might have to configure me.
ASKUSER="dmenu -p"
-uri=$1
+uri="${1}"
scheme="$(printf "%s\n" "$uri" | uricut -s)"
-if grep '\+' <<< "$scheme" 2>&1 >/dev/null;then
- echo "dunno wtf yet"
- scheme1="$(printf "%s\n" "$scheme" | cut -d+ -f1)+"
- scheme2="+$(printf "%s\n" "$scheme" | cut -d+ -f2)"
- echo $scheme1
- echo $scheme2
- line1="$(grep "^${scheme1}"$'\t' ~/.config/uristart.conf | cut -d: -f2- | sed 's/^[ \t]//g')"
- line2="$(grep "^${scheme2}"$'\t' ~/.config/uristart.conf | cut -d: -f2- | sed 's/^[ \t]//g')"
- echo $line1
- echo $line2
- pipeline1="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line1")"
- pipeline2="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line2")"
- echo $pipeline1
- echo $pipeline2
- socat "exec:bash -c 'eval \"$pipeline1\"'" "exec:bash -c 'eval \"$pipeline2\"'"
-else
+### experimental crap.. let's comment it out for now.
+#if grep '\+' <<< "$scheme" 2>&1 >/dev/null;then
+# echo "dunno wtf yet"
+# scheme1="$(printf "%s\n" "$scheme" | cut -d+ -f1)+"
+# scheme2="+$(printf "%s\n" "$scheme" | cut -d+ -f2)"
+# echo $scheme1
+# echo $scheme2
+# line1="$(grep "^${scheme1}:"$'\t' ~/.config/uristart.conf | tr -s '\t ' | cut -f2- | sed 's/^[ \t]//g' | sed 's/\\n/\\\\n/g')"
+# line2="$(grep "^${scheme2}:"$'\t' ~/.config/uristart.conf | tr -s '\t ' | cut -f2- | sed 's/^[ \t]//g' | sed 's/\\n/\\\\n/g')"
+# echo $line1
+# echo $line2
+# pipeline1="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line1" )"
+# pipeline2="$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line2" )"
+# echo "$pipeline1"
+# echo "$pipeline2"
+# mknod /tmp/p p
+# cat /tmp/p | bash -xc "$pipeline1" | bash -xc "$pipeline2" > /tmp/p
+#else
line="$(grep "^${scheme}:" ~/.config/uristart.conf | cut -d: -f2- | sed 's/^[ \t]//g')"
if printf "%s\n" "$uri" | urimatch nP >/dev/null;then
proto="$(grep ^"$scheme"'[\t ]' /etc/services | tr -s '\t ' | cut -f2 | cut -d/ -f1 | head -n1)"
@@ -45,5 +47,10 @@ else
fi
printf '%s:\t%s\n' "${scheme}" "${line}" >> ~/.config/uristart.conf
fi
+ ## uri *might* contain pattern matching special characters. :/
+ ## which could break things in weird and exciting ways
+ if ! cut '-d ' -f1 ~/.cache/uristart.log | grep -Fx "$uri" 2>&1 >/dev/null;then #only log URIs that aren't already listed
+ printf "%s\n" "$uri" >> ~/.cache/uristart.log
+ fi
eval "$(printf "%s\n" "$uri" | sed 's/'\''/'\''\\'\'''\''/g' | uriprintf "$line")"
-fi
+#fi