upload.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/bash
  2. # Max file size: 5M
  3. # bash upload.sh <FileName|FolderName> <ThreadNum> |tee -a "log.txt"
  4. # by MoeClub.org
  5. # Config
  6. DebugMode=0
  7. ShowTask=0
  8. ShowFileName=1
  9. # Main
  10. FileName=${1:-}
  11. ThreadNum=${2:-10}
  12. command -v curl >>/dev/null 2>&1
  13. [ $? -eq 0 ] || exit 1
  14. [ -n "$FileName" ] && [ -e "$FileName" ] || exit 1
  15. PIPE=$(mktemp -u)
  16. mkfifo $PIPE
  17. exec 777<>$PIPE
  18. trap "exec 777>&-;exec 777<&-;rm $PIPE;exit 0" 2
  19. for((i=0; i<$ThreadNum; i=i+1)); do echo >&777; done
  20. function Upload() {
  21. Name=`echo "$1" |sed 's/[[:space:]]//g'`;
  22. [ -n "${Name}" ] && [ -f "${Name}" ] || { echo >&777; return; }
  23. [ $ShowTask == 1 ] && echo "Upload Task: ${Name}";
  24. OUTPUT=`curl -sSL \
  25. -H "User-Agent: iAliexpress/6.22.1 (iPhone; iOS 12.1.2; Scale/2.00)" \
  26. -H "Referer: https://photobank.alibaba.com/photobank/uploader_dialog/index.htm" \
  27. -H "origin: https://photobank.alibaba.com" \
  28. -F "scene=aeMessageCenterV2ImageRule" \
  29. -F "name=_.jpg" \
  30. -F "file=@${Name}" \
  31. -X POST "https://kfupload.alibaba.com/mupload"`
  32. [ $DebugMode == 1 ] && echo "$OUTPUT";
  33. URL=`echo "$OUTPUT" |grep -o 'https://[^"]*'`;
  34. if [ -n "${URL}" ]; then
  35. if [ $ShowFileName == 1 ]; then
  36. echo "${Name}; ${URL}";
  37. else
  38. echo "${URL}";
  39. fi
  40. else
  41. echo "${Name}; NULL";
  42. fi
  43. echo >&777;
  44. }
  45. if [ -d "${FileName}" ]; then
  46. for item in `find "${FileName}" -type f ! -name ".*"`; do
  47. read -u777
  48. Upload "${item}" &
  49. done
  50. elif [ -f "${FileName}" ]; then
  51. # ShowFileName=0
  52. Upload "${FileName}" &
  53. else
  54. exit 1
  55. fi
  56. wait
  57. exit 0