好吧,写了个多帐号访问随机UID,有问题微信提醒。
@zdszf 新开的多帐号的帖子写的有点乱,所以还是用的这边的格式。
参照了一下@dalaoa 的https://www.hostloc.com/thread-546267-1-1.html,可微信提醒。
可以 bash hostloc.sh username password 来使用,也可以 bash hostloc.sh accountfile 调用帐密文件。
文件的格式为“帐号(空格)密码”,一个帐号一行,如:- usr1 pwd1
- usr2 pwd2
- usr3 pwd3
- .
- .
- .
- usrn pwdn
复制代码
不敢新开帖子,就在这里回复。
- #!/usr/bin/env bash
- #原作者:zdszf
- ##原 https://raw.githubusercontent.com/mixool/script/debian-9/hostloc.sh
- #
- #Auth:逸笙
- #用法1:bash hostloc.sh username password
- #用法2:bash hostloc.sh accountfile
- #微信开发者服务wxpusher,不用就留空
- we_no_id=""
- declare -A userpsw
- declare -A getcredit
- # get user info
- if [ $# -eq 2 ]; then
- userpsw["$1"]="$2"
- fi
- if [ $# -eq 1 ]; then
- if [ -s "$1" ]; then
- usrarry=(`cat $1 | awk '{print $1}'`)
- pswarry=(`cat $1 | awk '{print $2}'`)
- for((u=0;u<${#usrarry[*]};u++))
- do
- userpsw["${usrarry[$u]}"]="${pswarry[$u]}"
- done
- else
- echo 文件 $1 不存在
- exit 1
- fi
- fi
- # workdir
- workdir="/tmp"
- [[ ! -d "${workdir}" ]] && mkdir ${workdir}
- UA="Mozilla/5.0+(Windows+NT+6.2;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/74.0.3729.131+Safari/537.36"
- delaytime=25
- function login() {
- echo -n $(date "+%Y-%m-%d %H:%M:%S %A") ${username} 登陆...
- data="mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1&fastloginfield=username&username=$username&cookietime=$(shuf -i 1234567-7654321 -n 1)&password=$password&quickforward=yes&handlekey=ls"
- curl -s -H "$UA" -c ${workdir}/${cookiefile} --data "$data" "https://www.hostloc.com/member.php" | grep -o "www.hostloc.com" && echo -n $(date "+%Y-%m-%d %H:%M:%S %A") 成功 || status="1"
- [[ $status -eq 1 ]] && echo 失败 && continue
- youruid=(`curl -s -H "$UA" -b ${workdir}/${cookiefile} "https://www.hostloc.com/home.php?mod=spacecp&ac=credit" | grep -oE "uid=\w*" | awk -F '[=]' '{print $2}'`)
- echo "(UID为:${youruid})"
- }
- function randuid() {
- newuserspace=`curl -s https://www.hostloc.com/forum.php | grep -oE "欢迎新会员: <em><a href=".*" " | awk -F'"' '{print $2}'`
- maxuid=`curl -s https://www.hostloc.com/${newuserspace} | grep "空间首页" | awk -F'uid=' '{print $2}' | awk -F '&' '{print $1}'`
- tmpuid=$((maxuid-200))
-
- startuid=0
- enduid=${maxuid}
- while [ $youruid -gt $startuid -a $youruid -lt $enduid ]
- do
- #随机数
- r=`head -200 /dev/urandom | cksum | cut -f1 -d" "`
- startuid=$((r%tmpuid+100))
- enduid=$((startuid+100))
- done
- #随机间隔时间
- delaytime=$((r%50+10))
- #delaytime=3
- }
- function credit() {
- creditall=$(curl -s -H "$UA" -b ${workdir}/${cookiefile} "https://www.hostloc.com/home.php?mod=spacecp&ac=credit&op=base" | grep -oE "积分: </em>\w*" | awk -F'[>]' '{print $2}')
- echo $(date "+%Y-%m-%d %H:%M:%S %A") 目前积分为:${creditall}
- }
- function view() {
- a=0
- echo -n $(date "+%Y-%m-%d %H:%M:%S %A") 访问空间:
- echo 从$startuid开始,间隔${delaytime}s...
- for((i = $startuid; i <= $enduid; i++))
- do
- p=0
- sleep ${delaytime}
- echo -n $(date "+%Y-%m-%d %H:%M:%S %A") ${i}
- curl -s -H "$UA" -b ${workdir}/${cookiefile} "https://www.hostloc.com/space-uid-$i.html" | grep -o "最近访客" >/dev/null && p=1 || echo " banlist"
- if [ $p -eq 1 ]; then
- ((a++))
- echo -e " ok,\t$a"
- fi
- [[ $a -eq 10 ]] && break
- done
- echo $(date "+%Y-%m-%d %H:%M:%S %A") 完成
- }
- function notice() {
- if [ $2 -lt 20 ]; then
- data1='{"userIds":["'${we_no_id}
- data1=${data1}'"],"template_id":"lpO9UoVZYGENPpuND3FIofNueSMJZs0DMiU7Bl1eg2c","data":{"first":{"value":"'
- data1=${data1}'HostLoc访问空间'
- data1=${data1}'","color":"#ff0000"},"keyword1":{"value":"'
- data1=${data1}$2
- data1=${data1}'","color":"#ff0000"},"keyword2":{"value":"'
- data1=${data1}$1
- data1=${data1}'","color":"#ff0000"},"keyword3":{"value":"'
- data1=${data1}$(date "+%F %T %A")
- data1=${data1}'","color":"#009900"},"remark":{"value":"'
- remark1="不到20分。"
- [ $2 -eq 0 ] && remark1="居然0分,请检查帐号状态。"
- data1=${data1}${remark1}
- data1=${data1}'","color":"#000099"}}}'
- curl -X POST "http://wxmsg.dingliqc.com/send" -d "$data1" -H "Content-Type:application/json"
- echo
- fi
- }
- function main() {
- echo '~START~'
- for user1 in ${!userpsw[*]}
- do
- username=${user1}
- password=${userpsw[$user1]}
- cookiefile=${username}.cookie
- creditall=0
-
- login
- randuid
- credit
- precredit=${creditall}
- view
- credit
- aftcredit=${creditall}
- getcredit["$username"]=$((aftcredit-precredit))
- [ -n "${we_no_id}" ] && notice ${username} ${getcredit[$user1]}
-
- # clean
- rm -rf ${workdir}/${cookiefile}
- # exit
- echo $(date "+%Y-%m-%d %H:%M:%S %A") ${username} Accomplished.
- echo
- sleep ${delaytime}
- done
-
- echo
- for user1 in ${!getcredit[*]}
- do
- echo ${user1} 获得 ${getcredit[$user1]}
- done
- echo '~END~'
- }
- main
复制代码
|