Simple image host.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/bin/bash
  2. TMP_IN=$(mktemp /tmp/mpass.XXXXXXXXXX)
  3. TMP_OUT=$(mktemp /tmp/mpass.XXXXXXXXXX)
  4. function cleanup
  5. {
  6. rm "$TMP_IN" 2>&1 > /dev/null
  7. rm "$TMP_OUT" 2>&1 > /dev/null
  8. }
  9. function getpass
  10. {
  11. echo -n $(cat ~/.mpassword)
  12. }
  13. function tryerr
  14. {
  15. if [ "$?" != "0" ]; then
  16. merror "An error occurred."
  17. cleanup
  18. exit 1
  19. fi
  20. if [ "$1" != "" ]; then
  21. if [ "$1" != "0" ]; then
  22. merror "An error occurred." "$1"
  23. cleanup
  24. exit 1
  25. fi
  26. fi
  27. }
  28. # Create password: mpass create <name> [chars]
  29. if [ "$1" = "create" ]; then
  30. if [ "$2" = "" ]; then
  31. echo "Usage: mpass create <name> [chars]"
  32. cleanup
  33. exit 1
  34. fi
  35. if [ "$3" = "" ]; then
  36. nchars="32"
  37. else
  38. nchars="$3"
  39. fi
  40. chars=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c "$nchars")
  41. echo "$chars" > "$TMP_IN"
  42. echo "$chars" | mclip
  43. getpass | openssl enc -aes-256-cbc -a -in "$TMP_IN" -out "$TMP_OUT" -pass stdin
  44. tryerr
  45. enc=$(cat "$TMP_OUT")
  46. passsum=$(getpass | shasum -a 512 | cut -d ' ' -f 1)
  47. code=$(curl -s -X POST -d "$enc" "http://pass.mort.coffee/put/$2/$passsum")
  48. tryerr "$code"
  49. echo "$chars"
  50. mnotify "Password created" "$2"
  51. # Get password: mpass get <name>
  52. elif [ "$1" = "get" ]; then
  53. if [ "$2" = "" ]; then
  54. echo "Usage: mpass get <name>"
  55. cleanup
  56. exit 1
  57. fi
  58. curl -s "http://pass.mort.coffee/get/$2" > "$TMP_IN"
  59. tryerr
  60. if [ ! -s "$TMP_IN" ]; then
  61. tryerr "Pasword doesn't exist."
  62. fi
  63. echo "" >> "$TMP_IN"
  64. getpass | openssl enc -aes-256-cbc -a -d -in "$TMP_IN" -out "$TMP_OUT" -pass stdin
  65. tryerr
  66. chars=$(cat "$TMP_OUT")
  67. echo -n "$chars" | mclip
  68. echo "$chars"
  69. mnotify "Password received" "$2"
  70. fi
  71. cleanup