Bitcoin Forum
May 14, 2024, 06:11:50 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 »
  Print  
Author Topic: Banana Node- Unterstütze das Netzwerk!  (Read 65154 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
Lincoln6Echo (OP)
Legendary
*
Offline Offline

Activity: 2459
Merit: 1057


Don't use bitcoin.de if you care about privacy!


View Profile
June 30, 2016, 09:27:45 AM
 #201

Da hier schon ne ganze Weile ein RasPi2 Staub fing hab ich den jetz auch mal als Full Node eingerichtet.

Erst wollte ich dazu einfach ein RokOS-Image laden, aber da die Seite momentan nur ein "New Core Release coming up." zeigt,
hab ich einfach mal das Bananen-Tutorial hier verwendet und was soll ich sagen... hat alles völlig problemlos geklappt und läuft.

datadir liegt auf ner 250GB hdd,
da ich noch ne komplette Blockchain vorrätig hatte, musste sich der Kleine auch nich mit tagelangem sync quälen.

Nach ein paar Stunden hat er zZ 18 connections und ne Speicherauslastung von ~480MB,
bin gespannt, wie sich das in nächster Zeit entwickelt und wie stabil das Ganze läuft.

Jetzt fehlt eigentlich nurnoch ne hübsche Stats-Page,
mal sehen, ob sich dafür auchnoch n Tutorial findet.


Das freut mich zu hören. Komme auf eine ähnliche Speicher und Connectionszahl. Smiley
Für die Stats Seite könnte man Shorena fragen aber solange der Node keine feste IP hat macht das nicht sooo optimal.

Habe mal dem Tutorial noch eine bessere Anleitung zum Einhängen der Festplatte hinzugefügt.
"Governments are good at cutting off the heads of a centrally controlled networks like Napster, but pure P2P networks like Gnutella and Tor seem to be holding their own." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715667110
Hero Member
*
Offline Offline

Posts: 1715667110

View Profile Personal Message (Offline)

Ignore
1715667110
Reply with quote  #2

1715667110
Report to moderator
Real-Duke
Legendary
*
Offline Offline

Activity: 3374
Merit: 2149


Top Crypto Casino


View Profile
June 30, 2016, 09:44:16 AM
 #202

Cool dann sind wir jetzt schon zu fünft?  Cool
Die neue Anleitung zum einhängen der HDD gefällt mir gut und für optische Erweiterungen wäre ich auch noch zu haben.
Evtl ginge für alle 24h Zwangsgetrennten ja etwas über dyndns.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
June 30, 2016, 09:57:18 AM
 #203

Für die Stats Seite könnte man Shorena fragen aber solange der Node keine feste IP hat macht das nicht sooo optimal.
Die feste IP is kein Problem,
für sowas nutze ich schon seit .... immer Cheesy (also, bestimmt schon 10 Jahre, eher mehr) den DynDNS Service von afraid.org.
Wobei sich meine IP sowieso eher selten ändert, wenns hoch kommt alle 2 Monate mal.

Die Seite von shorena is in der Tat recht hübsch.
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 05, 2016, 04:38:36 PM
 #204

Die letzten 5 Tage lief er eigentlich ohne zu mucken ganz brav durch,
heute musste ich aber mal rebooten, weil ich Trottel nen Kurzen im USB-Hub verursacht hab und dadurch kurzfristig die HDD ausgefallen is.
Aber,... nix passiert.   Grin

Meine Stats laufen jetz auch einigermaßen, werd da aber sicher noch n bisschen dran rumspielen.
http://lassdas.mooo.com/

Was habt Ihr'n so fürn Traffic?
Ich komm jetzt schon auf ~10GB pro Tag, was ich doch recht erstaunlich fand.

Eingestellt hab ich vorerst mal 40 maxconnections, die er bislang (also, in den 5 Tagen) aber nochnicht erreicht hat.

Real-Duke
Legendary
*
Offline Offline

Activity: 3374
Merit: 2149


Top Crypto Casino


View Profile
July 05, 2016, 07:13:10 PM
 #205

@lassdas
Ohhh...auch so eine hübsche Stats Seite wollen  Smiley
Ich habe meistens so um die 100GB upload im Monat, das Meiste davon dürfte der Node sein.
Hatte ich bereits erwähnt, das Deine Stats Seite voll toll ist?  Grin

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 05, 2016, 08:01:07 PM
 #206

lol
Jetz übertreib mal nich.  Cheesy

So ganz zufrieden bin ich damit nochnich, das muss noch n bissl hübscher werden,
da geht noch was, aber ich hab ja Zeit.

Und 100GB/Monat klingt da schon eher wenig,
heute wars eher ruhig, hab aber schon 6.6GB und der Tag is nochnich rum,
damit käm ich im Monat schon auf 200GB und wie gesagt, die letzten Tage warns eher 9+GB.
Und mit ein paar mehr Connections (ich plane schon mit 50, oder gar 60 als max) kommt da bestimmt noch mehr zusammen.

Naja, mich solls nich stören, für irgendwas müssen die 40MBit upload ja gut sein.  Wink
Lincoln6Echo (OP)
Legendary
*
Offline Offline

Activity: 2459
Merit: 1057


Don't use bitcoin.de if you care about privacy!


View Profile
July 05, 2016, 08:04:16 PM
 #207

@lassdas: könntest du uns vielleicht eine DAU Anleitung für das erstellen der stats Seite und der statischen IP zukommen lassen. Wie das mit dyndns geht weiss ich in der Theorie aber nicht wie man das am besten beim BPI konfiguriert.
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 05, 2016, 08:30:23 PM
 #208

Also,
für dyndns nutze ich wie bereits erwähnt https://freedns.afraid.org/ .
Bei der Einrichtung hat man diverse Auswahlmöglichkeiten,
das geht bei mir zB direkt über ne Einstellung im Router (DD-WRT bietet afraid.org schon ab Werk im Drop-Down-Menü zur Auswahl an),
es gibt aber auch diverse Clients, oder Scripte, die das übernehmen,
oder ganz simpel, durch aufrufen von http://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP] (zB per cronjob).

Ganz Pauschal lässt sich das also schwer sagen, kommt auf Deine Gegebenheiten und Vorlieben an.


An der DAU Anleitung für Stats muss ich noch n bissl arbeiten, kommt aber.  Wink 
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 06, 2016, 03:59:35 AM
Last edit: July 06, 2016, 05:04:44 AM by lassdas
 #209

Einen wunderschönen guten Morgen meine Damen und Herren,
Sie sehen heute aus der beliebten Reihe "Von DAU für DAU" die Folge:
Wie bastel ich mir Stats für meinen Full Node?

Annahme:
bitcoind ist installiert und läuft,
der Pfad zur HDD lautet /hdd,
wir sind angemeldet als user "pi"

Bevor's los geht bringen wir mal unsere Paketlisten auf den neuesten Stand
Code:
sudo apt-get update

Da wir die Stats im Browser bewundern wollen, brauchen wir erstmal einen Webserver.
Wir nehmen nginx und damit wir auch dynamischen Content und nichtnur statische Seiten anzeigen können, gleich mit PHP.
Code:
sudo apt-get install nginx php5-fpm

Der Server braucht Verzeichnisse, also legen wir erstmal welche an (da wir schon eine haben, natürlich auf der HDD).
Das root-Verzeichnis des Servers (hier kommen später Webseiten, Bilder, etc rein) und eins für die Server Logs
Code:
mkdir /hdd/www/html
mkdir /hdd/www/log

Dann editieren wir die Server-Konfigurationsdatei
Code:
sudo nano /etc/nginx/nginx.conf
hier kann man einiges einstellen, uns gehts aber vor allem um die Pfade zu den Logs und die Virtual Host Configs (dazu gleich mehr),
die sollten aussehen, wie folgt
Code:
    ##
    # Logging Settings
    ##
    access_log /hdd/www/log/access.log;
    error_log /hdd/www/log/error.log;
    
    ##
    # Virtual Host Configs
    ##
    include /etc/nginx/conf.d/*.conf;
Wir speichern mit Str-O + Enter und beenden mit Str-X.

Da wir dem Server jetzt gesagt haben, er soll alle *.conf-Dateien in /etc/nginx/conf.d/ lesen,
legen wir dort nun unsere Default Server Konfiguration an
Code:
sudo nano /etc/nginx/conf.d/pinode.conf
hier sagen wir dem Server (u.a.), auf welchem Port er lauschen soll (80), wo sich sein root-Verzeichnis befindet (/hdd/www/html) und wie er heißt (da dies unser Default Server ist, heißt er einfach nur "_").
Code:
    #Default Server Configuration
    server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /hdd/www/html;
        index index.php index.html index.htm;

        server_name _;

        location / {
            try_files $uri $uri/ =404;
            autoindex on;
        }
        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include /etc/nginx/fastcgi_params;
        }
    #Deny access to .htaccess files
        location ~ /\.ht {
            deny all;
        }
    }
Wir speichern mit Str-O + Enter, beenden mit Str-X und starten nginx neu.
Code:
sudo service nginx restart

Damit sollte der Webserver auchschon einsatzbereit sein.

Weiter geht's nach einer kurzen Werbeunterbrechung, oder ner Tasse Tee, ganz nach Belieben.
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 06, 2016, 05:03:07 AM
 #210

Der Webserver läuft, also machen wir mit der Installation von vnstat weiter
Code:
sudo apt-get install vnstat vnstati php5-gd
erstellen ein Verzeichnis für die Grafiken im root des Webservers
Code:
mkdir /hdd/www/html/images
und ein Script, das die Grafiken erzeugt
Code:
nano ~/vnstati.sh
welches wir mit Inhalt füllen
Code:
#!/bin/bash
# vnstati.sh - network stats creation script

vnstati -vs -ne -nh -i eth0 -o /hdd/www/html/images/summary.png -ru 0
vnstati -d -ne -nh -i eth0 -o /hdd/www/html/images/daily.png -ru 0
vnstati -m -ne -nh -i eth0 -o /hdd/www/html/images/monthly.png -ru 0
vnstati -t -ne -nh -i eth0 -o /hdd/www/html/images/top10.png -ru 0
mit Str-O + Enter speichern und mit Str-X  beenden.

Welche Grafik -vs, -d, -m und -t jeweils erstellen, sieht man schön an der Datei-Endung,
-ne (noedge) erstellt die Grafik ohne Umrandung, -nh (noheader)  ohne Kopfzeile und mit -ru (0,1) kann man zwischen bits und bytes wählen,
Weitere Optionen und Infos gibts unter "vnstati --help", oder "man vnstati".

Das gerade erstellte Script müssen wir nun noch ausführbar machen
Code:
chmod +x ~/vnstati.sh
und einen Cronjob erstellen, der es automatisch aufruft. Dazu unter
Code:
crontab -e
ganz unten einfach
Code:
# updating every 5 minutes
*/5 * * * * nice /home/pi/vnstati.sh >/dev/null 2>&1
einfügen, mit Str-O + Enter speichern und mit Str-X beenden.

Nach spätestens 5 Minuten sollten die Grafiken unter http://<Node-IP>/images/ zur Abholung bereitliegen.


Weiter geht's mit der Installation vom rrdtool
Code:
sudo apt-get install rrdtool
und anlegen eines Verzeichnisses für die entsprechenden Datenbanken
Code:
mkdir /hdd/rrd

Jetzt der komplizierteste Teil (zumindest für mich, außer copy&paste müsst Ihr eigentlich nix machen, wenn Ihr nich wollt),
die Erstellung der Datenbanken, das Updaten selbiger und kreieren der entsprechenden Graphen.
Dazu verwenden wir jeweils ein Script für Connections/Traffic/CPU-Load...,
die alle nach folgendem Schema aufgebaut sind:
Im oberen Teil geben wir u.a. den Pfad an, in dem die Datenbank gespeichert werden soll,
es folgt ein Check, ob die Datenbank schon existiert, wenn nicht, wird sie angelegt.
Danach ein Update der Datenbank mit den aktuellen Werten und zum Schluss das Erstellen der Grafik.

Da wir durch vnstat ja schon Netzwerk-Statistiken haben, fangen wir mal mit dem Connections-Script an,
wir erstellen es mit
Code:
nano ~/connections.sh
füllen es mit Inhalt
Code:
#!/bin/bash
# connections.sh - Bitcoin connection stats

rrdtool=/usr/bin/rrdtool
db=/hdd/rrd/connections.rrd
img=/hdd/www/html/images

if [ ! -e $db ]
then
$rrdtool create $db \
--step 300 \
DS:connections:GAUGE:600:0:U \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:3:672 \
RRA:AVERAGE:0.5:12:744 \
RRA:AVERAGE:0.5:72:1480
fi

n=`/usr/local/bin/bitcoin-cli getconnectioncount`
$rrdtool update $db -t connections N:"$n"

for period in day week month year
do
$rrdtool graph $img/connections-$period.png -s -1$period \
-t "Connections last $period" -z \
-c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \
-c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \
-c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \
        -h 134 -w 543 -l 0 -a PNG -v "#" \
DEF:connections=$db:connections:AVERAGE \
VDEF:max=connections,MAXIMUM \
VDEF:avg=connections,AVERAGE \
VDEF:lst=connections,LAST \
"COMMENT:         \l" \
"COMMENT:            " \
"COMMENT:             " \
"COMMENT:Last        " \
"COMMENT:Average    " \
"COMMENT:Maximum    " \
"COMMENT:           \l" \
"COMMENT:   " \
"AREA:connections#92CF00:Connections          " \
"LINE1:connections#3F5A00" \
"GPRINT:lst:%2.0lf           " \
"GPRINT:avg:%2.0lf         " \
"GPRINT:max:%2.0lf          \l" > /dev/null
done
speichern mit Str-O + Enter und beenden mit Str-X,
ausführbar machen
Code:
chmod +x ~/connections.sh
neuen CronJob erstellen, indem wir wieder unter
Code:
crontab -e
am Ende
Code:
# updating every 5 minutes
*/5 * * * * nice /home/pi/connections.sh >/dev/null 2>&1
einfügen, mit Str-O + Enter speichern, mit Str-X beenden.

Auch hier sollten nach 5 Minuten die Grafiken unter http://<Node-IP>/images/ zur Abholung bereitliegen,
jeweils eine für Daily, Weekly, Monthly und Yearly Stats.

Weitere Scripte (RAM/CPU/Traffic) folgen.
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 06, 2016, 07:02:03 AM
 #211

RAM
Code:
nano ~/memory.sh
Code:
#!/bin/bash
# memory.sh - Memory usage stats

rrdtool=/usr/bin/rrdtool
db=/hdd/rrd/memory.rrd
img=/hdd/www/html/images

if [ ! -e $db ]
then
$rrdtool create $db \
--step 300 \
DS:usage:GAUGE:600:0:U \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:3:672 \
RRA:AVERAGE:0.5:12:744 \
RRA:AVERAGE:0.5:72:1480
fi

$rrdtool update $db -t usage N:`free -b |grep cache:|cut -d":" -f2|awk '{print $1}'`

for period in day week month year
do
$rrdtool graph $img/memory-$period.png -s -1$period \
-t "Memory usage last $period" -z \
-c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \
-c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \
-c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \
        -h 134 -w 543 -l 0 -a PNG -v "RAM" \
DEF:usage=$db:usage:AVERAGE \
VDEF:min=usage,MINIMUM \
VDEF:max=usage,MAXIMUM \
VDEF:avg=usage,AVERAGE \
VDEF:lst=usage,LAST \
"COMMENT:      \l" \
"COMMENT:        " \
"COMMENT:         " \
"COMMENT:Minimum    " \
"COMMENT:Maximum    " \
"COMMENT:Average    " \
"COMMENT:Current    \l" \
"COMMENT:   " \
"AREA:usage#92CF00:Usage      " \
"LINE1:usage#3F5A00" \
"GPRINT:min:%5.1lf %sB   " \
"GPRINT:max:%5.1lf %sB   " \
"GPRINT:avg:%5.1lf %sB   " \
"GPRINT:lst:%5.1lf %sB   \l" > /dev/null
done
Code:
chmod +x ~/memory.sh



Network Traffic
Code:
nano ~/network.sh
Code:
#!/bin/bash
# network.sh - Network usage stats

rrdtool=/usr/bin/rrdtool
db=/hdd/rrd/network.rrd
img=/hdd/www/html/images
if=eth0

if [ ! -e $db ]
then
$rrdtool create $db \
--step 300 \
DS:in:DERIVE:600:0:12500000 \
DS:out:DERIVE:600:0:12500000 \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:3:672 \
RRA:AVERAGE:0.5:12:744 \
RRA:AVERAGE:0.5:72:1480
fi

$rrdtool update $db -t in:out N:`/sbin/ifconfig $if |grep bytes|cut -d":" -f2|cut -d" " -f1`:`/sbin/ifconfig $if |grep bytes|cut -d":" -f3|cut -d" " -f1`

for period in day week month year
do
$rrdtool graph $img/network-$period.png -s -1$period \
-t "eth0 traffic last $period" -z \
-c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \
-c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \
-c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \
        -h 134 -w 543 -l 0 -a PNG -v "B/s" \
DEF:in=$db:in:AVERAGE \
DEF:out=$db:out:AVERAGE \
VDEF:minin=in,MINIMUM \
VDEF:minout=out,MINIMUM \
VDEF:maxin=in,MAXIMUM \
VDEF:maxout=out,MAXIMUM \
VDEF:avgin=in,AVERAGE \
VDEF:avgout=out,AVERAGE \
VDEF:lstin=in,LAST \
VDEF:lstout=out,LAST \
VDEF:totin=in,TOTAL \
VDEF:totout=out,TOTAL \
"COMMENT: \l" \
"COMMENT:               " \
"COMMENT:Minimum      " \
"COMMENT:Maximum      " \
"COMMENT:Average      " \
"COMMENT:Current      " \
"COMMENT:Total        \l" \
"COMMENT:   " \
"AREA:out#92CF00:Out  " \
"LINE1:out#3F5A00" \
"GPRINT:minout:%5.1lf %sB/s   " \
"GPRINT:maxout:%5.1lf %sB/s   " \
"GPRINT:avgout:%5.1lf %sB/s   " \
"GPRINT:lstout:%5.1lf %sB/s   " \
"GPRINT:totout:%5.1lf %sB   \l" \
"COMMENT:   " \
"AREA:in#8AD3F1:In   " \
"LINE1:in#49BEEF" \
"GPRINT:minin:%5.1lf %sB/s   " \
"GPRINT:maxin:%5.1lf %sB/s   " \
"GPRINT:avgin:%5.1lf %sB/s   " \
"GPRINT:lstin:%5.1lf %sB/s   " \
"GPRINT:totin:%5.1lf %sB   \l" > /dev/null
done
Code:
chmod +x ~/network.sh



CPU Load
Code:
nano ~/cpuload.sh
Code:
#!/bin/bash
# cpuload.sh - CPU Load stats

rrdtool=/usr/bin/rrdtool
db=/hdd/rrd/cpuload.rrd
img=/hdd/www/html/images

if [ ! -e $db ]
then
$rrdtool create $db \
--step 300 \
DS:load1:GAUGE:600:0:U \
DS:load5:GAUGE:600:0:U \
DS:load15:GAUGE:600:0:U \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:3:672 \
RRA:AVERAGE:0.5:12:744 \
RRA:AVERAGE:0.5:72:1480
fi

uptime=`uptime`
base="${uptime##*:}"

input="$(echo -e "${base}" | tr -d '[[:space:]]')"
load1=$(echo $input | cut -d',' -f1-2 | tr ',' '.')
load5=$(echo $input | cut -d',' -f3-4 | tr ',' '.')
load15=$(echo $input | cut -d',' -f5-6 | tr ',' '.')

$rrdtool update $db -t load1:load5:load15 N:$load1:$load5:$load15

for period in day week month year
do
$rrdtool graph $img/cpuload-$period.png -s -1$period \
-t "CPU Load last $period" -z \
-c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \
-c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \
-c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \
        -h 134 -w 543 -l 0 -a PNG -v "CPU" \
DEF:load1=$db:load1:AVERAGE \
DEF:load5=$db:load5:AVERAGE \
DEF:load15=$db:load15:AVERAGE \
VDEF:lst1=load1,LAST \
VDEF:lst5=load5,LAST \
VDEF:lst15=load15,LAST \
VDEF:avg1=load1,AVERAGE \
VDEF:avg5=load5,AVERAGE \
VDEF:avg15=load15,AVERAGE \
VDEF:max1=load1,MAXIMUM \
VDEF:max5=load5,MAXIMUM \
VDEF:max15=load15,MAXIMUM \
"COMMENT:        " \
"COMMENT:         " \
"COMMENT:         " \
"COMMENT:Last   " \
"COMMENT:Average   " \
"COMMENT:Maximum   \l" \
"COMMENT:        " \
"COMMENT:        " \
"AREA:load1#92CF00:1m     " \
"GPRINT:lst1: %1.2lf    " \
"GPRINT:avg1: %1.2lf     " \
"GPRINT:max1: %1.2lf   \l" \
"COMMENT:        " \
"COMMENT:        " \
"LINE3:load5#49BEEF88:5m     " \
"GPRINT:lst5: %1.2lf    " \
"GPRINT:avg5: %1.2lf     " \
"GPRINT:max5: %1.2lf   \l" \
"COMMENT:        " \
"COMMENT:        " \
"LINE2:load15#C3E9FA:15m    " \
"GPRINT:lst15: %1.2lf    " \
"GPRINT:avg15: %1.2lf     " \
"GPRINT:max15: %1.2lf   \l" > /dev/null
done
Code:
chmod +x ~/cpuload.sh



ConJobs
Code:
crontab -e
Code:
*/5 * * * * nice /home/pi/memory.sh >/dev/null 2>&1
*/5 * * * * nice /home/pi/network.sh >/dev/null 2>&1
*/5 * * * * nice /home/pi/cpuload.sh >/dev/null 2>&1


Damit hätten wir jetzt eigentlich alles zusammen,
was noch fehlt, ist eine Webseite (/hdd/www/html/index.html, oder /hdd/www/html/index.php ), auf der wir die Grafiken anzeigen, aber das sollte jeder selbst hinbekommen (sollen ja auch nich alle gleich aussehen, unsere Stats).  Wink
Falls nicht, bin ich auch da gerne behilflich.

Man könnte das Ganze natürlich noch etwas aufräumen, die Anzahl der Scripte reduzieren, indem man sie
zusammenfügt,
z.B. ein Script, das alle Datenbanken updatet und eines, das die Grafiken erstellt,
aber das ist dann eher Schönheitschirurgie.
So kann man sich erstmal an jedem Script einzeln austoben und macht bei nem Fehler nich gleich alles wieder kaputt.  Grin

Ich wünsche viel Erfolg beim rumprobieren.
Real-Duke
Legendary
*
Offline Offline

Activity: 3374
Merit: 2149


Top Crypto Casino


View Profile
July 06, 2016, 07:56:16 AM
 #212

Sehr Cool, danke dafür!  Cool
Ich sehe am WE Arbeit auf mich zukommen....melde mich falls es klemmt oder ich ne Frage hab  Smiley

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
Lincoln6Echo (OP)
Legendary
*
Offline Offline

Activity: 2459
Merit: 1057


Don't use bitcoin.de if you care about privacy!


View Profile
July 06, 2016, 01:06:13 PM
 #213

uuh wow, danke lassdas. Daraus könntest du eigentlich einen eigenen Thread machen!
Hoffe ich habe am Sonntag ein bisschen Zeit mich daran zu versuchen.
Real-Duke
Legendary
*
Offline Offline

Activity: 3374
Merit: 2149


Top Crypto Casino


View Profile
July 06, 2016, 08:45:03 PM
 #214

Ich konnte natürlich nicht bis zum Wochenende abwarten und musste neben der EM ein bischen spielen  Wink
Es scheint so, als hätte ich alles richtig gemacht. Die Images werden abgelegt unter /hdd/www/html/images



Da wir als "root" auf der Banane unterwegs sind, musste ich kleine Änderungen in der /etc/crontab vornehmen:



Also die Anleitung klappt auf jeden Fall!  Cool

Nun zu meinem eigentlichen Problem hihi


was noch fehlt, ist eine Webseite (/hdd/www/html/index.html, oder /hdd/www/html/index.php ), auf der wir die Grafiken anzeigen, aber das sollte jeder selbst hinbekommen

Fast jeder...bestimmt, aber ich hab das noch NIE gemacht  Cheesy

Falls nicht, bin ich auch da gerne behilflich.

Das wäre das I-Tüpfelchen aus meiner Sicht  Smiley
Danke auf jeden Fall bis hierher!

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 06, 2016, 10:11:23 PM
 #215

Fast jeder...bestimmt, aber ich hab das noch NIE gemacht  Cheesy
Na, dann wirds ja Zeit.  Smiley

Weil ich in meinem Fall (und diesem Beisiel) vor dem Aufruf der Webseite noch mal kurz mit Bitcoin RPC spreche,
bedarf es noch ein klitzekleinwenig Vorarbeit.

Erstelle ein Verzeichnis
Code:
mkdir /hdd/www/includes
und pack da die Bitcoin.php von shalk rein
Code:
nano /hdd/www/includes/Bitcoin.php
Code:
<?php
/* 
The MIT License
Copyright (c) 2011 Schalk Bower <schalk@hotmail.co.nz>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Donations: 14bBEcMwwnDVXAYR8n2iTk9PTF5wqYLGR2
*/
class Bitcoin {
// @var string
private $username;
// @var string
private $password;
// @var string
private $url;
// @var integer
private $id;

/**
 * Contructor
 *
 * @param string $url
 * @param string $username
 * @param string $password
 * @param boolean $debug
 */
public function __construct($url$username$password) {
//connection details
$this->url $url;
$this->username $username;
$this->password $password;
//request id
$this->id 1;
}

/**
 * Perform jsonRCP request and return results as array
 *
 * @param string $method
 * @param array $params
 * @return array
 */
public function __call($method,$params) {
// make params indexed array of values
$params array_values($params);

// prepares the request
$request json_encode(array(
'method' => strtolower($method),
'params' => $params,
'id' => $this->id
));

// performs the HTTP POST using curl
$curl curl_init();     
curl_setopt($curlCURLOPT_RETURNTRANSFER1);  
curl_setopt($curlCURLOPT_HTTPHEADER, Array("Content-type: application/json"));
curl_setopt($curlCURLOPT_URL$this->url);  
curl_setopt($curlCURLOPT_USERPWD$this->username.":".$this->password);  
curl_setopt($curlCURLOPT_POSTTRUE);
curl_setopt($curlCURLOPT_POSTFIELDS$request);
$response curl_exec($curl);  
curl_close($curl); 

// process response
if (!$response) {
throw new Exception('Unable to connect to '.$this->url0);
}
$response json_decode($response,true);

// check response id
if ($response['id'] != $this->id) {
throw new Exception('Incorrect response id (request id: '.$this->id.', response id: '.$response['id'].')',1);
}
if (!is_null($response['error'])) {
throw new Exception('Request error: '.print_r($response['error'],1),2);
}
$this->id++;

// return
return $response['result'];
}
}
?>

Die soll nur dazu dienen, in PHP per cURL Kontakt zum Bitcoin RPC aufzunehmen.
Das wars schon mit der Vorarbeit.


Jetzt nurnoch schnell ne Webseite zusammengefrickelt
Code:
nano /hdd/www/html/index.php
Code:
<?php
include_once("/hdd/www/includes/Bitcoin.php");

# Daten zum Bitcoin Server
$rpcUser "DEINBITCOINRPCUSER";
$rpcPass "DEINBITCOINRPCPASS";
$url "http://127.0.0.1:8332";

# Kontaktaufnahme
$bitcoin = new Bitcoin($url$rpcUser$rpcPass);

# antwortet Bitcoin?
try {
$info $bitcoin->getinfo();
} catch (
Exception $e) {
die($e->getMessage());
}

# dann sammeln wir Daten und bereiten sie etwas auf
$info $bitcoin->getinfo();
$version $info["version"]; 
$blocks $info["blocks"]; 
$difficulty floor($info["difficulty"]); 
$connections $info["connections"]; 

$version = (string)$version;
if(
$version[2] == "0")
   { 
$version[2] = ""; }
$version "0.".$version[0].$version[1].".".$version[2].$version[3];

# und wenn wir alles zusammenhaben, bauen wir die Webseite zusammen
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="icon" href="images/favicon.ico" type="image/x-icon" />
<title>Bitcoin Full Node Statistics</title>
</head>
<body>
<center>
<h2>Bitcoin Full Node Statistics</h2></br>
<font size="4">Version </font> <?php echo $version?> &nbsp;&nbsp;
<font size="4">Blocks </font> <?php echo $blocks?> &nbsp;&nbsp;
<font size="4">Difficulty </font> <?php echo $difficulty?> &nbsp;&nbsp;
<font size="4">Connections </font> <?php echo $connections?> &nbsp;&nbsp;
<p align="center">&nbsp;</p>
<font size="4">Summary</font></br>
<img src="images/summary.png" alt="summary"/></br>
<font size="4">Daily Traffic</font></br>
<img src="images/daily.png" alt="daily traffic"/></br>
<font size="4">Monthly Traffic</font></br>
<img src="images/monthly.png" alt="monthly traffic"/></br>
<font size="4">Top 10</font></br>
<img src="images/top10.png" alt="top 10 traffic days"/></br>
</br>
<img src="images/network-day.png" alt="network day"/></br>
<img src="images/cpuload-day.png" alt="cpu load day"/></br>
<img src="images/connections-day.png" alt="connections 24h"/></br>
<img src="images/memory-day.png" alt="memory day"/></br>
</body>
</html>
und feddich.  Cheesy

Edit: hab die Webseite aus Versehen im falschen Vz angelegt, jetz sollt's passen.
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 06, 2016, 10:20:29 PM
 #216

Btw.
warum seid Ihr eigentlich root?
Ob das sone gute Idee is?  Roll Eyes
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 07, 2016, 05:23:30 AM
Last edit: July 07, 2016, 07:01:22 AM by lassdas
 #217

Tach,
hab letzte Nacht noch schnell n Script fürn Mempool geklöppelt.

Da getrawmempool ein komlettes json-array ausliefert und man die Anzahl der Tx erst selbst zusammenzählen muss, brauchen wir dafür noch n Tool, welches uns die Arbeit erleichtert.
Code:
sudo apt-get install jq

Dann erstellen wir wie gehabt unser neues Script
Code:
nano ~/mempool.sh
Code:
#!/bin/bash
# mempool.sh - Bitcoin mempool stats

rrdtool=/usr/bin/rrdtool
db=/hdd/rrd/mempool.rrd
img=/hdd/www/html/images

if [ ! -e $db ]
then
$rrdtool create $db \
--step 300 \
DS:mempool:GAUGE:600:0:U \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:3:672 \
RRA:AVERAGE:0.5:12:744 \
RRA:AVERAGE:0.5:72:1480
fi

#n=`/usr/local/bin/bitcoin-cli getrawmempool | jq length`
n=`/usr/local/bin/bitcoin-cli getmempoolinfo | jq '.size'`
$rrdtool update $db -t mempool N:"$n"

for period in day week month year
do
$rrdtool graph $img/mempool-$period.png -s -1$period \
-t "Mempool Tx last $period" -z \
-c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \
-c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \
-c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \
        -h 134 -w 543 -l 0 -a PNG -v "TX" \
DEF:mempool=$db:mempool:AVERAGE \
VDEF:max=mempool,MAXIMUM \
VDEF:avg=mempool,AVERAGE \
VDEF:lst=mempool,LAST \
"COMMENT:         \l" \
"COMMENT:            " \
"COMMENT:             " \
"COMMENT:Last       " \
"COMMENT:Average    " \
"COMMENT:Maximum    " \
"COMMENT:           \l" \
"COMMENT:   " \
"AREA:mempool#92CF00:Mempool Tx          " \
"LINE1:mempool#3F5A00" \
"GPRINT:lst:%2.0lf         " \
"GPRINT:avg:%2.0lf       " \
"GPRINT:max:%2.0lf          \l" > /dev/null
done
Str-O, Str-X
Code:
chmod +x ~/mempool.sh
CronJob für mempool.sh, feddich.


Edit:
kleine Optimierung nachdem ich das getmempoolinfo-command entdeckt hab.
vorher    /usr/local/bin/bitcoin-cli getrawmempool | jq length
nachher  /usr/local/bin/bitcoin-cli getmempoolinfo | jq '.size'

Damit kann man auch gleich die RAM-Auslastung durch den Mempool auslesen
/usr/local/bin/bitcoin-cli getmempoolinfo | jq '.usage'
entweder in nem eigenen Script (quasi ner Kopie von diesem), oder gleich integriert in dieses, da bin ich mir nochnich einig.  Cheesy

Real-Duke
Legendary
*
Offline Offline

Activity: 3374
Merit: 2149


Top Crypto Casino


View Profile
July 07, 2016, 08:27:21 AM
 #218


Moin lassdas,

schon wieder ne Nachtschicht eingelegt?  Cheesy
Werde das wenn möglich heute abend vor dem Spiel angehen. Account bei https://freedns.afraid.org/ habe ich gestern bereits registiert.
So wie es aussah, läßt sich dieser auch mit einer Fritzbox aktualisieren.
Bin schon sehr gespannt  Cool


Btw.
warum seid Ihr eigentlich root?
Ob das sone gute Idee is?  Roll Eyes

Gilt wenigstens für mich, bei Lincoln bin ich nicht sicher! Bin auf meinem Windows auch immer als root unterwegs  Wink

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
lassdas
Legendary
*
Offline Offline

Activity: 3649
Merit: 1412


View Profile
July 07, 2016, 08:39:48 AM
 #219

Moin lassdas,

schon wieder ne Nachtschicht eingelegt?  Cheesy
Ich werd immer erst nachts wirklich aktiv,
da iss schön ruhig und mir geht keiner auffn Sack.  Grin

Btw.
warum seid Ihr eigentlich root?
Ob das sone gute Idee is?  Roll Eyes

Gilt wenigstens für mich, bei Lincoln bin ich nicht sicher! Bin auf meinem Windows auch immer als root unterwegs  Wink
Naja, auf Windows bin ich auch immer Admin, aber da weiß ich auch, was ich tue,
das kann ich von Linux nich wirklich behaupten, da würd ich mich nich trauen, alles als root zu machen,
würd mit an Sicherheit grenzender Wahrscheinlichkeit schiefgehn.
Real-Duke
Legendary
*
Offline Offline

Activity: 3374
Merit: 2149


Top Crypto Casino


View Profile
July 07, 2016, 08:11:36 PM
 #220

So...beim Aufruf des Nodes über
http://192.168.2.62/hdd/www/html/index.php
bekomme ich einen 404

Die Images zeigt er mir im Browser beim Aufruf von http://192.168.2.62/images/
 Huh
RPC-User und RPC Pass hatte ich abgeändert.
Morgen mehr...

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!