Eerst maar even een korte uitleg waarom ik deze HOW-TO maak:
Toen ik begon met het RC5-72 project zat ik een subteam van DPC. Ik ging echt mijn comp zo weinig mogelijk gebruiken om een maar zo hoog mogelijke output te krijgen
Zodoende kwam ik redelijk hoog in de stats bij dat team. Vervolgens had ik een aantal mensen uit mijn omgeving ook enthousiast gemaakt voor dit project en deden we allemaal gezellig mee met dat team. Toen wij dagelijks op 1 stonden ging de lol er voor ons een beetje af. We wilden weer wat wat spanning. Conclusie: Een eigen Team: Team Elst. Maar bij een eigen team maken komt meer bij kijken dan je van te voren denkt. Een eigen perproxy, een eigen TeamElst client maken, eigen statsite maken en ga maar door. Op deze punten heb ik erg veel hulp gehad van mijn mede tweakers met goeie en bruikbare informatie
Eindelijk loopt bij Team Elst alles op rolletjes en dat mede door GoT. Omdat wij zo geholpen zijn wil ik mijn steentje bijdragen aan GoT door een How-To te maken voor het opzetten van een Perproxy en Statistieken binnen RC5-72. Dit omdat een beginnend team daar veel baat bij kan hebben:
Aantal bruikbare sites:
Distributed.net
Topic geopend door mij in Team Elst begin periode
Aantal problemen met onze stats
De Search ;)
GNUPlot voor Windows
PPStats Download
[url=http://http://www.distributed.net/download/proxies.php/]PerProxy Download[/url]
Active Perl
Apache Webserver
DNS
Windows Scheduler
Striplog
Perproxy opzetten
Als eerst download je de proxy van de bovenstaande site. Vervolgens pak je hem uit. Er staan nu 5 bestanden in je map (kies een logische map, dus niet met 20 karakters ofzo). Open nu je ini bestand. Vervolgens zie je dit staan:
Uitleg bij Connectivity
normal - de proxy flusht volgens de instellingen van hoeveelheid blokjes
offline - de proxy legt nooit zelf een verbinding
lurk - Verbind als een dial-up verbinding wordt gevonden óf als het nodig is
lurkonly - Verbind uitsluitend als er een dial-up verbinding gevonden wordt,
zelfs als er geen werk meer op de proxy is.
Het gedeelte [ports] is standaard al goed ingevuld. Alleen als mensen in een netwerk flushen moet je het volgende aanpassen:
Nu kom je bij het console gedeelte. Het is belangrijk dat je deze goed configureerd, dat scheelt je een hoop tijd bij de stats op te zetten
Uitleg bij Consoleverbosity
Welke meldingen in de console weergegeven moeten worden en welke dus in de logfile terug te vinden zijn:
all : Alles (default)
none : niets
general : Algemeen (Status e.d.)
stats : Periodieke statistische informatie
keyblock : Block nummers
server : communicatie met de server
client : communicatie met clients
buffers : statistische informatie over beschikbare/verwerkte blokken in voorraad
Timestamp : UTC tijdinformatie op elke regel (alleen op scherm)
attention : bijzonderheden
errwarn : ongeldige instructies
errlow : ongeldige instellingen
errsevere : Ernstige fouten
Als je de perproxy wilt opzetten voor RC5-72 ga dan door naar:
Je bent nu bijna klaar met je Peproxy, je hoeft alleen nog wat te veranderen:
Nog 1 ding te doen en je ben klaar. Verander bij de ini van je koe (bv dnetc.ini) het volgende:
En klaar is de perproxy
. Het flushen kan beginnen. Maar ja, flushen is leuk maar je wilt natuurlijk wel zien hoeveel jij tov van de andere hebt geflusht. Met andere woorden, je wilt stats
Opzetten van Statistieken Site
Als eerst installeer je Active Perl. Dit programma leest de logfiles uit en genereert daarvan html pagina's. Als tweede download je even de ppstats file. Deze pak je uit in (weer opletten! neem een logische) map. Vervolgens zie je ppstats-rc5.ini staat. Ik ga ervan uit dat je met Windows werkt. Als je met Windows werkt moet je deze ini weggooien, en ppstats-rc5.ini.win32 hernoemen naar ppstats-rc5.ini. Als laatst moet je nog even GNUplot installeren.
Dus:
LogDir = Hier moet je het pad opgeven waar je perproxy staat (bv F:/perproxy/)
LogPre = Dit is de file die ppstats moet uitlezen om de ontvangen packets weer te geven. Zoals wij de perproxy hebben geconfigureerd staat het standaard in de ini goed.
ProxyIni = Hier moet je het pad naar je perproxy ini neerzetten. Let goed op de "/" ipv de "\"
HtmlDir = Hier moet je het pad neerzetten die verwijst naar je wwwroot. Als je apache draait is het slim om gelijk daar je webroot neer te zetten, want dan staan de stats gelijk op het internet.
GNUPlot = Hier moet je dus het pad neer zetten die verwijst naar Gnuplot. Gnuplot is een programmatje dat graphics voor op de site genereert. Let hierbij goed op dat je het gehele pad neerzet en op de "\" ipv de "/"
This will do
. Je kan nu de logfiles uitlezen en deze genereren naar een website! (gewoon ppstats-rc5-7.2.perl runnen)
Tip1.. Als je het geheel wilt testen doe dit dan in CMD (opdracht prompt) met het volgende command:
.
Tip2.. Zorg dat je map icons mee kopiëerd naar de webroot, anders krijg je geen icoontjes en dat is niet zo leuk
(zorg dan wel dat in je ini de verwijzing naar de icons goed is)
Tip3.. Als je hoofdletters wil, moet je dit even in de ini aanpassen.
Tip4.. Ik praat de hele tijd over ini, dit is ppstats-rc5.ini
Tip5.. En als laatst, in de ini staan nog veel meer opties, en ook goed uitgelegd.
Hoe krijg ik de stats online ?
Zoals al eerder is aangegeven kan je dit door middel van apache webserver doen:
[list] • Download Apache Webserver• Installeer Apache Webserver• Gooi poort 80 open. Als je een Firewall hebt moet je instellen dat poort 80 open staat, als je geen firewall draait hoef je verder niks te doen • Laat een vriend van buiten af jouwn website proberen te bereiken (http://JOUWNIP) • Verander in de map /conf de file: httpd.conf het volgende:
DocumentRoot Zet hier het pad neer waar je de stats hebt staan
Iets naar onder staat het volgende:
• Sla de config op en je stats staan op het internet!
Ik wil niet constant mijn ip typen, kan ik geen DNS aan ip binden?
Dat kan wel degelijk. Bezoek deze pagina DNS Vervolgens moet je je even • registreren. Als je dat hebt gedaan moet je een • "static dns" aanmaken en kun je je ip laten linken naar een hostname zoals .mine.nu
Hoe run ik mijn stats om de $minuut?
Dat is heel simpel. Niks met de hand gewoon even een programma installeren
. Ik zelf gebruik Windows Scheduler (Freeware) Windows Scheduler. • Even het programma installeren,• een event aanmaken, • de ppstats-rc5-7.2.perl opzoeken, • aanvinken, • instellen om de hoeveel minuten hij moet updaten en klaar is $username 
Hoe zet ik variabele IP's gelijk goed in de stats?
Ook dat is heel simpel op te lossen. • Je download een programmatje Striplog. • Dan even de comments in dat bestand lezen en dan zou het wel duidelijk moeten zijn. • Striplog moet je dan tevens schedulen en telkens net voor de gewone statsrun laten lopen.
Ten slotte,
Ik hoop dat ik mijn steentje heb bijgedragen aan DPC en GoT. En dat we nu maar de Polen mogen verslaan
m000 0n!
Toen ik begon met het RC5-72 project zat ik een subteam van DPC. Ik ging echt mijn comp zo weinig mogelijk gebruiken om een maar zo hoog mogelijke output te krijgen
Aantal bruikbare sites:
Distributed.net
Topic geopend door mij in Team Elst begin periode
Aantal problemen met onze stats
De Search ;)
GNUPlot voor Windows
PPStats Download
[url=http://http://www.distributed.net/download/proxies.php/]PerProxy Download[/url]
Active Perl
Apache Webserver
DNS
Windows Scheduler
Striplog
Perproxy opzetten
Als eerst download je de proxy van de bovenstaande site. Vervolgens pak je hem uit. Er staan nu 5 bestanden in je map (kies een logische map, dus niet met 20 karakters ofzo). Open nu je ini bestand. Vervolgens zie je dit staan:
code:
1
2
3
4
5
6
7
8
| [KeyServer] ipaddress=Hier moet het adres komen waarnaar de proxy moet flushen. Wij hebben dutchman.keyserver.org port=2064 // Dit is de poort waarmee de perproxy verbinding maakt. Gewoon op 2064 laten staan connectperiod=600 // Minimum wachttijd tussen het maken van verbinding door de proxy connectivity=normal ; normal,offline,lurk,lurkonly |
Uitleg bij Connectivity
normal - de proxy flusht volgens de instellingen van hoeveelheid blokjes
offline - de proxy legt nooit zelf een verbinding
lurk - Verbind als een dial-up verbinding wordt gevonden óf als het nodig is
lurkonly - Verbind uitsluitend als er een dial-up verbinding gevonden wordt,
zelfs als er geen werk meer op de proxy is.
Het gedeelte [ports] is standaard al goed ingevuld. Alleen als mensen in een netwerk flushen moet je het volgende aanpassen:
code:
1
2
3
| [ports] ;listenaddress= Als er meerdere netwerkverbindingen op een PC aanwezig zijn, dan kan gekozen worden op welk IP clients ontvangen mogen worden. Zoals 192.168.0.1 |
Nu kom je bij het console gedeelte. Het is belangrijk dat je deze goed configureerd, dat scheelt je een hoop tijd bij de stats op te zetten
code:
1
2
3
4
5
6
7
| [console] logfileconsole=Vul hier de naam van de logfile in logfileconsolerotation=daily. Met welke interval een nieuwe logfile wordt aangemaakt: none, hourly, daily, monthly, yearly, or startup consoleverbosity="general stats keyblock server client buffers timestamp attention errlow errsevere" timestampflags=130 ; 130=new UTC 4-digit year format |
Uitleg bij Consoleverbosity
Welke meldingen in de console weergegeven moeten worden en welke dus in de logfile terug te vinden zijn:
all : Alles (default)
none : niets
general : Algemeen (Status e.d.)
stats : Periodieke statistische informatie
keyblock : Block nummers
server : communicatie met de server
client : communicatie met clients
buffers : statistische informatie over beschikbare/verwerkte blokken in voorraad
Timestamp : UTC tijdinformatie op elke regel (alleen op scherm)
attention : bijzonderheden
errwarn : ongeldige instructies
errlow : ongeldige instellingen
errsevere : Ernstige fouten
Als je de perproxy wilt opzetten voor RC5-72 ga dan door naar:
code:
1
2
3
4
5
6
7
| [rc5-72] logfilekeyblock=pproxyrc572 // Verander deze naam niet, anders moet je bij ppstats ook een aantal dingen gaan veranderen. logfilekeyblockrotation=daily minkeysready=10 maxkeysready=20 maxkeysdone=3 |
Je bent nu bijna klaar met je Peproxy, je hoeft alleen nog wat te veranderen:
code:
1
2
3
4
5
6
7
| [misc] proxymessage="Vul hier wat in" Deze tekst krijgen clients te zien als ze verbinding maken met de proxy. Een goeie is: LETS KICK SOME POLISH COWS :P pidfile=rc5desproxy.pid statusperiod=30 periodicperiod=120 ;logfilecompressor=logcompressor.sh |
Nog 1 ding te doen en je ben klaar. Verander bij de ini van je koe (bv dnetc.ini) het volgende:
code:
1
2
3
4
5
6
| [parameters] id=subteam@dutchpowercows.org // Hier het e-mailadres invullen waarmee geregistreerd is bij Distributed.net Dit ID moet voor iedereen binnen het subteam gelijk zijn. [networking] keyserver=Vul hier het ip van de computer waarop de perproxy staat. |
En klaar is de perproxy
Opzetten van Statistieken Site
Als eerst installeer je Active Perl. Dit programma leest de logfiles uit en genereert daarvan html pagina's. Als tweede download je even de ppstats file. Deze pak je uit in (weer opletten! neem een logische) map. Vervolgens zie je ppstats-rc5.ini staat. Ik ga ervan uit dat je met Windows werkt. Als je met Windows werkt moet je deze ini weggooien, en ppstats-rc5.ini.win32 hernoemen naar ppstats-rc5.ini. Als laatst moet je nog even GNUplot installeren.
Dus:
- Active Perl installeren
- ppstats downloaden
- map uitpakken
- ppstats-rc5.ini weggooien
- ppstats-rc5.ini.win32 hernoemen naar ppstats-rc5.ini
- GNUPlot installeren
code:
1
2
3
4
5
6
7
8
9
| #--- Input Options ----------------------------------------------------------- # Logfile name format information. This script does not correctly support # formats other than YYYYMMDD. The logs in this example are kept in a # subdirector called "logrc5", which can be configured in the proxy's ini. # This script does require that daily logfile rotation is enabled. Other # rotation time periods are not yet supported. LogDir should end in a "/". LogDir = "/home/rc5/proxy/logrc5/" LogPre = "pproxyrc5" # For rc5pkeyYYYYMMDD LogSuf = "log" # For rc5pkeyYYYYMMDD.log |
LogDir = Hier moet je het pad opgeven waar je perproxy staat (bv F:/perproxy/)
LogPre = Dit is de file die ppstats moet uitlezen om de ontvangen packets weer te geven. Zoals wij de perproxy hebben geconfigureerd staat het standaard in de ini goed.
code:
1
2
| # ppstats will try to read options out of it. ProxyIni = "F:/proxy/proxyper.ini" |
ProxyIni = Hier moet je het pad naar je perproxy ini neerzetten. Let goed op de "/" ipv de "\"
code:
1
2
3
4
5
6
| #--- Output Options ---------------------------------------------------------- # Full path to output file location. This should end in a "/". HtmlDir = "C:/Program Files/Apache Group/Apache/htdocs/" # Full URL of output web file location. This should end in a "/". HtmlRoot = "/" |
HtmlDir = Hier moet je het pad neerzetten die verwijst naar je wwwroot. Als je apache draait is het slim om gelijk daar je webroot neer te zetten, want dan staan de stats gelijk op het internet.
code:
1
| GNUPlot = "C:\GNUPlot\gp373w32\wgnupl32.exe" |
GNUPlot = Hier moet je dus het pad neer zetten die verwijst naar Gnuplot. Gnuplot is een programmatje dat graphics voor op de site genereert. Let hierbij goed op dat je het gehele pad neerzet en op de "\" ipv de "/"
This will do
Tip1.. Als je het geheel wilt testen doe dit dan in CMD (opdracht prompt) met het volgende command:
Als er iets fout gaat kun je gelijk zien wat er fout gaat, en hoef je niet zoals mij in mijn noobish tijd de hele tijd een screenshot te makenperl -w pstats-rc5-7.2.pl(Of hoe je ppstats file heet) -debug
Tip2.. Zorg dat je map icons mee kopiëerd naar de webroot, anders krijg je geen icoontjes en dat is niet zo leuk
Tip3.. Als je hoofdletters wil, moet je dit even in de ini aanpassen.
Tip4.. Ik praat de hele tijd over ini, dit is ppstats-rc5.ini
Tip5.. En als laatst, in de ini staan nog veel meer opties, en ook goed uitgelegd.
Hoe krijg ik de stats online ?
Zoals al eerder is aangegeven kan je dit door middel van apache webserver doen:
[list] • Download Apache Webserver• Installeer Apache Webserver• Gooi poort 80 open. Als je een Firewall hebt moet je instellen dat poort 80 open staat, als je geen firewall draait hoef je verder niks te doen • Laat een vriend van buiten af jouwn website proberen te bereiken (http://JOUWNIP) • Verander in de map /conf de file: httpd.conf het volgende:
DocumentRoot Zet hier het pad neer waar je de stats hebt staan
Iets naar onder staat het volgende:
Directory Zet hier het pad neer waar je de stats hebt staanThis should be changed to whatever you set DocumentRoot to.
#
<Directory "C:/Program Files/Apache Group/Apache/htdocs/">
• Sla de config op en je stats staan op het internet!
Ik wil niet constant mijn ip typen, kan ik geen DNS aan ip binden?
Dat kan wel degelijk. Bezoek deze pagina DNS Vervolgens moet je je even • registreren. Als je dat hebt gedaan moet je een • "static dns" aanmaken en kun je je ip laten linken naar een hostname zoals .mine.nu
Hoe run ik mijn stats om de $minuut?
Dat is heel simpel. Niks met de hand gewoon even een programma installeren
Hoe zet ik variabele IP's gelijk goed in de stats?
Ook dat is heel simpel op te lossen. • Je download een programmatje Striplog. • Dan even de comments in dat bestand lezen en dan zou het wel duidelijk moeten zijn. • Striplog moet je dan tevens schedulen en telkens net voor de gewone statsrun laten lopen.
Ten slotte,
Ik hoop dat ik mijn steentje heb bijgedragen aan DPC en GoT. En dat we nu maar de Polen mogen verslaan
[ Voor 22% gewijzigd door UTM op 07-03-2004 20:44 ]