vadoli.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #!/bin/sh
  2. # WTFPL
  3. vadoli_help() {
  4. echo "Usage: vadoli COMMAND [options...]"
  5. echo "Command line client for http://vado.sh"
  6. echo "Commands:"
  7. echo " short, s [url,path] Short a url"
  8. echo " update, edit, u [url,path,token*] Update url"
  9. echo " query, q [url] Query url"
  10. echo " list, ls [no-query*] List and queries all your urls (slow as hell)"
  11. echo
  12. echo "* optional"
  13. }
  14. vadoli_update(){
  15. url=$1
  16. path=$2
  17. token=$3
  18. if [[ "$token" = "" ]]
  19. then
  20. token=$(cat ~/.vadoli | grep "http://$path.vado.li" | rev | cut -d : -f 1 | rev)
  21. echo $token $path
  22. if [[ "$token" = "" ]]
  23. then
  24. echo "Token not found plz provide token"
  25. exit 1
  26. fi
  27. fi
  28. curl -d "path=$path&url=$url&token=$token" --silent -X POST 'http://vado.li/'
  29. }
  30. vadoli_short(){
  31. url=$1
  32. path=$2
  33. token=$(curl -d "path=$path&url=$url&token=$token" --silent -X POST 'http://vado.li/' | grep 'modification url' | rev | cut -d "'" -f 2 | cut -d '/' -f 1 | rev)
  34. if [[ "$token" = "" ]]
  35. then
  36. echo "Something went wrong"
  37. else
  38. echo "http://$path.vado.li:$token" >> ~/.vadoli
  39. echo "http://$path.vado.li created!"
  40. echo "Modification url is https://vado.li/$path/$token"
  41. fi
  42. }
  43. vadoli_query(){
  44. url=$1
  45. echo $url | grep -Eoq '(http|https)://[^"]*.vado.li'
  46. if [[ $? -eq 1 ]]
  47. then
  48. url="http://$1.vado.li"
  49. fi
  50. real_url=$(curl --silent -i "$url" | grep "Location:" | cut -d ' ' -f 2-)
  51. if [[ "$real_url" = "http://vado.li/404" ]]
  52. then
  53. echo "Not found!"
  54. else
  55. echo "$url -> $real_url"
  56. fi
  57. }
  58. vadoli_list(){
  59. while read -r u || [[ -n "$u" ]]
  60. do
  61. url=$(echo $u | rev | cut -d ':' -f 2- | rev)
  62. if [[ "$1" = "no-query" ]]
  63. then
  64. echo "http://$url.vado.li"
  65. else
  66. vadoli_query $url
  67. fi
  68. done < ~/.vadoli
  69. }
  70. case $1 in
  71. short|s)
  72. vadoli_short $2 $3
  73. ;;
  74. update|edit)
  75. vadoli_update $2 $3 $4
  76. ;;
  77. query|q)
  78. vadoli_query $2
  79. ;;
  80. list|ls)
  81. vadoli_list
  82. ;;
  83. *)
  84. vadoli_help
  85. ;;
  86. esac