egy kis kedvcsináló, amíg elkészül a proxy átirata.
#!/bin/bash
export DISPLAY=:0.0
export GPU_MAX_ALLOC_PERCENT=100
export GPU_USE_SYNC_OBJECTS=1
PHOOLUSER="dodo" #IDE A SAJAT NEVED KELL BEIRNI!
while [ 1 ]
do
#a gepen levo, es a szerveren levo loop_start.sh md5 osszegeinek osszehasonlitasabol donti el, kell e frissiteni
LOOPHASH=`md5sum -b ./minerstart.sh | awk -F' ' '{print $1}'`;
HASHCHK=`wget -qO- http://phool.wtdc.hu/ajax.php\?ajax\=shellcmd\&shellcmd\=loophash\&os\=linux`;
if [ "$LOOPHASH" != "$HASHCHK" ]; then
wget -q -Ominerstart.sh http://phool.wtdc.hu/ajax.php\?ajax\=shellcmd\&shellcmd\=getfile\&os\=linux\&file\=loop\.sh
chmod +x minerstart.sh
fi
KERNEL=`wget -qO- http://phool.wtdc.hu/ajax.php\?ajax\=shellcmd\&shellcmd\=kernel\&os=linux\&user\=${PHOOLUSER}`;
echo "kernel : ${KERNEL}"
FAILOVER=true
if [ ! -e "$KERNEL" ]; then
MINER=`wget -qO- http://phool.wtdc.hu/ajax.php\?ajax\=shellcmd\&shellcmd\=filechk\&os\=linux\&file\=${KERNEL}`
echo "miner : ${MINER}"
if [ ! -d "/usr/local/$MINER" ]; then
wget -qO- http://phool.wtdc.hu/ajax.php\?ajax\=shellcmd\&shellcmd\=getfile\&os\=linux\&file\=${MINER} | tar -jx -C /usr/local
FAILOVER=false
else
FAILOVER=false
fi
fi
if [ $FAILOVER = true ]; then
#
# Ide kell beirni mit inditson, ha nem tudja letolteni a hianyzo minert
# vagy asic-al banyaszik es nem tudja kovetni a kernelvaltast
# ./failover.sh
/usr/local/sgminer/bin/miner -c /root/.miner/failover.conf --default-config /root/.miner/failover.conf
else
./minerstart.sh $PHOOLUSER
fi
sleep 2
done
ill. ez frissül a szerverről automatikusan:
#!/bin/bash
export DISPLAY=:0.0
export GPU_MAX_ALLOC_PERCENT=100
export GPU_USE_SYNC_OBJECTS=1
PHOOLUSER=$1
#KERNEL=`printf "{\"get\":\"kernel\"}" | nc 94.199.178.108 3334`;
KERNEL=`wget -qO- http://phool.wtdc.hu/ajax.php\?ajax\=shellcmd\&shellcmd\=kernel\&os=linux\&user\=${PHOOLUSER}`;
PATH="/usr/local/${KERNEL}/bin:${PATH}";
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/${KERNEL}/lib";
#
# kilep, ha az aktualis kernelhez nincs beallitva miner, a mainloop megprobalja frissiteni, ill. letolteni ami kell
# ha nem sikerul, akkor -> failover
#
while [ 1 ]
do
# KERNEL=`printf "{\"get\":\"kernel\"}" | nc 94.199.178.108 3334`;
KERNEL=`wget -qO- http://phool.wtdc.hu/ajax.php\?ajax\=shellcmd\&shellcmd\=kernel\&os=linux\&user\=${PHOOLUSER}`;
case "$KERNEL" in
scrypt )
/usr/local/sgminer/bin/miner -c /root/.miner/miner.scrypt.conf --default-config /root/.miner/miner.scrypt.conf
;;
sha256 )
/usr/local/cgminer_keccak/bin/miner -c /root/.miner/miner.sha256.conf --default-config /root/.miner/miner.sha256.conf
;;
darkcoin )
/usr/local/sph_sgminer/bin/sgminer -c /root/.miner/miner.darkcoin.conf --default-config /root/.miner/miner.darkcoin.conf
;;
Scrypt-jane )
/usr/local/yacminer/bin/yacminer -c /root/.miner/miner.scrypt-jane.conf --default-config /root/.miner/miner.scrypt-jane.conf
;;
* )
exit
# echo "**** not configured : ${KERNEL}"
# ha nem a mainloopba, akkor ide is lehet irni failover inditast
;;
esac
done
mivel nekem is több gépem van (és hihetetlenül lusta vagyok), kitaláltam hogy tudom az indító scriptet szinkronizálni a gépek között (minerstart.sh nevet nyerte el), ill. (ha az adott gépen nincs meg a szükséges program) le is tölti azt a minert (a phool szerverről), ami az adott coin bányászásához kell. Így már csak a konfigot kell megcsinálni hozzá.
Értelemszerüen a minerstart.sh -t a saját gépeim miatt frissítem ha szükséges. Az adott progikhoz tartozó konfigoknak meghatározott neve kell legyen (miner.{kernel}.conf, pl: miner.scrypt.conf, miner.darkcoin.conf, etc.) és egy helyen is kell lenniük, hogy megtalálja.
Másrészt Elbandival folytatott eszmecsere örömére, egy plusz opció az oldalon a felhasználó adatai között.
Be lehet állítani, hogy tudja/akarja e követni a kernel váltást automatikusan, vagy ki lehet jelölni, hogy mik azok a kernelek, amikre váltani tud/akar. Ez utóbbi esetben (ha olyan kernel kell, amit nem engedélyezett), kliens oldalon egyfajta failover beállításra van lehetőség (elindítja amit oda beír, jelenleg abból nem lép ki, még akkor sem, ha a phool visszavált engedélyezett kernelre, szóval erre még vmit ki kell találni).
Egen, még valami. Netcat-ról át lett írva wget-re (ablakOS-re valamit ígyis-úgyis ki kell találni, linuxon meg van mindkettő, így ez ott nem oszt-nem szoroz ), és az adatok szolgáltatása átkerült a webszerverhez.
Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem