CheckCORS.sh 1.1 KB

1234567891011121314151617181920212223242526272829
  1. #!/bin/bash
  2. URL="${1:-https://cdn.nlark.com/yuque/0/2020/png/978548/1582464742099-7e2499fd-d2c1-47aa-a848-0c189a74bb77.png}"
  3. SubDomainList=("cdn")
  4. # length: ${#SubDomainList[@]}
  5. # all: ${SubDomainList[@]}
  6. CheckURL(){
  7. FullURL=`echo "$1" |sed 's/.*\([hHfF][tT][tT]*[pP][^:]*:\/\/\(\([^\.]*\)[^/]*\).*\).*/\1/'`
  8. [ -n "$FullURL" ] || return
  9. HostName=`echo "$FullURL" |sed 's/.*\([hHfF][tT][tT]*[pP][^:]*:\/\/\(\([^\.]*\)[^/]*\).*\).*/\2/'`
  10. OUTPUT=`curl -sSL -H "User-Agent: Mozilla/5.0" -I "$FullURL" |grep -i "^access-control-allow-origin" |cut -d":" -f2-`
  11. [ -n "$OUTPUT" ] || OUTPUT="None"
  12. echo "$HostName: $OUTPUT"
  13. }
  14. [ -n "$1" ] && Mode=0 || Mode=1
  15. if [ "$Mode" == "0" ]; then
  16. CheckURL "$URL"
  17. else
  18. for SubDomain in "${SubDomainList[@]}"; do
  19. BaseURL=`echo "$URL" |sed 's/.*\([hHfF][tT][tT]*[pP][^:]*:\/\/\(\([^\.]*\)[^/]*\).*\).*/\1/'`
  20. HostName=`echo "$BaseURL" |sed 's/.*\([hHfF][tT][tT]*[pP][^:]*:\/\/\(\([^\.]*\)[^/]*\).*\).*/\2/'`
  21. NewHostName=`echo "$HostName" |sed "s/\([^\.]*\)/${SubDomain}/"`
  22. NewURL=`echo "$BaseURL" |sed "s/${HostName}/${NewHostName}/"`;
  23. CheckURL "$NewURL"
  24. done
  25. fi