I2PSnarkXL

Blog

***

Work in process ... see you soon.
*
20. feb 2009

- adding PyBit to known clients
- adding some Robert (Forks) to known clients
- add a controling routine for superseed pieces that makes sure only the client to who we
announce a piece will get the piece (avoid from cheating clients)

thinking about a methode to allow changing/faking our announced BT-id (xl) because i noticed some
clients that blocking xl-clients by default. I don't like this idea but if that still grows and
would hurting the network i might include it easily. What do you think about that?!
*
10. feb 2009

some words to the new issues

superseeding needs the peercordinator of the app.
so first you can get access when a torrent is started once.
after that you have access even when the torrent is stopped.

a easy way to get this is to press once "start all" after you've starting i2p and
when the classic page is back just press "stop all". nothing bad might happen when you
do this. now you could "switch on" all torrents you want to. a stopped torrent wouldn't be
automatic restarted, so you have to use the "start" option on classic page.

a superseed switched ON torrent have a empty uploadlist at startup.

if you are a leecher you could let it empty. all new pieces you get would automatic added
to the uploadlist. nice is when you after you have your first contacts to press "reset AV" then all pieces
of you that the other haven't would be added to the list.

if you are a seeder you have to press "refresh" to fill the list or after first contacts
"refresh AV" (see above)

the counter shows the current pieces that are in list but not announced yet.
if you are a seeder and this list is empty than that means just there isn't anymore a piece
for announcing but you have still to wait for the client to which you announced that piece
that it could be uploaded. pieces that are announced and not requested after 15 minutes would
be added back to the list and the client that ignored the announcement have to wait 5 minutes
before it get the next piece announcement. every client got just one announcement for a piece.

problems are when two superseeders meet the same torrent. about nobody knows the state of the other
they could proberly come in the situation to wait 5 minutes for every new announcement but again
for a piece that is still downloaded and in the own list.

two xl leecher would allways announce new pieces to each other but no old ones.
after a reconnect this knowledge is lost because the peer is closed and a reconnection allways
starts with a new peer. Just the new client.class "remembers" old stuff. unforgetable.

the stop button for superseeding stops just the announcements. current uploading goes on how long
anybody out there which got a announcment of your client and request it.

something else:

the uploadlist of superseeding could seems to be growing again or it does not match with the percent of
available piece. Don't worry about that. Pieces that are announced AND on upload are added again to the list
if the upload not happens in a specific time interval (slow downloader). when the piece is uploaded successful
in time than this piece wouldn't be announced again and when it's in range for a new announcement it will
be ignored and removed from the list. Only in the "endgame" of a torrent it might happens that pieces could be
uploaded twice or more but this is not bad and avoid from stucking of last pieces by bad clients.
*
10. feb 2009

last version (20090209a) seems very stable.
cpu usage decreases again and i could double the files i have in share.
superseed modus runs very well. I didn't found any new bugs yet and the logfiles didn't popup
with new errors. So enjoy this version as the current stable version.

greetz fwd
*
09. feb 2009

Annoncement:

i wanna just announce that i'm NOT "f" at zzz.i2p (http://zzz.i2p/users/62)
*
09. feb 2009

update

i2psnarkxl-20090209a.zip

md5: 2b6a6e2955ddc2f278e5fe0f75b1da9a
*
09. feb 2009

Superseed Modus:

- adding a upload stop function while superseeding is ON.
now you could stay visible as first seeder. this has only a function if you are a seeder!
for all others that wouldn't work.

- adding a counter for pieces that show the pieces to left till all is uploaded once.
except for the last piece! you still need to "switch OFF" superseed modus to finish the file!

- fixing some Nullpointers (image/png access)

- on classic page - change the place for the "Delete" Button. so it's not more below the "Start" Button.
(lossing some files about that in the past month)


*
08. feb 2009

- zwei schwere bugs behoben im superseed ... so übel, das ich dafür nicht über Los gehen darf.
Es ist erstaunlich dass die version trotzdem schnurrt wie ein Kätzchen.
Hab selbst einige Files im share die anstandslos laufen. Rein theroretisch geht das gar nicht.

- fixed two bad bugs in superseed.

*
08. feb 2009

- including visibility of uploading pieces

every pixel/line in the image represending 8 pieces.
deeper blue means more pieces available.
the red colored part is the current uploading piece or the last uploaded piece.
the first 8 pixel in the image are used twice to show which piece of the possible 8 is active of the red colored
they are green colored.

it's possible that you see just a red colored for the first 8 pieces because red and green perfect matches.
that happens when piece 1 part 1, piece 9 part 2, 17/3, 25/4, 33/5, 41/6, 49/7 or piece 57 part 8
is on upload.


*
06. feb 2009

update

i2psnarkxl-20090206a.zip

md5: 20ee76291e9a7675eb066c99418da8c2
*
06. feb 2009

- fixing some error in templates (thanks kimi_07)
- including categories for torrents: all, seeding, leeching, stopped, none, active.
- superseeding enhanced - bugfixings - performence
- decrease cpu usage
- extented infos enhanced
- updating theme seedler

guess this becomes the next stable version if Murphy does allow it.
this version running sweet, soft and peacefully. (sounds like a description of myself) ;)

have fun!
*
05. feb 2009

The testing shows that the superseed stucking sometimes.
analysing the problem, found the reason and fixed it.
*
03. feb 2009

- switching (on/off) of state superseed forces a automatic stop and restart of the torrent (like Azureus)
this is to keep the Bt-Specifactions. this needs about 5 seconds.

- for the last pieces to upload of the torrent you have to switch "off" the superseed modus. This
depending on the piecesize. Azureus does that automatic, right now we are not ...

have fun ;)

*
03. feb 2009

- update

i2psnarkxl-20090203a.zip

md5: cbe97d3f34245421e4b47a5d19baaf0c



*
03. feb 2009

- Verbessertes Superseeding
- in den Templates die Links zu den neuen Templates eingefügt
- Einhaltung der BT-Spezifkationen

- Superseeding enhanced. is more effective now.
- update the links in the templates
- Source rebuild to the BT-Specifications.
*
03. feb 2009

Das Superseeding funktioniert so wie ich mir das vorgestellt habe, ein paar Macken hier und da,
aber das lässt sich alles fixen. Nur leider hab ich mir die BT-Spezifikationen (Protokoll) mal
etwas genauer angeschaut und vieles was ich gemacht habe ist absolut gegen das Protokoll. Tja,
wieder was gelernt! Also hab ich mich dran gesetzt und das ganze umgeschrieben um mehr den
BT-Spezifikationen gerecht zu werden. Es bleibt im Grunde alles beim alten, nur den Regel
entsprechend.

Wer die version "20090202a" zur Zeit benutzt, sollte möglichst auf die nächste umsteigen, dort sind
auch gleich ein paar Fehler weniger drin.

Das "i2psnarkxl-20090202a.zip md5: a60d6cc546d8352c3d461b601cfb2416" sollte also nicht umbedingt auf
euren Webseiten im Store auftauchen und weiter in Umlauf gebracht werden. Wenn da jemand einen "Fork"
von macht, zieht das einen Rattenschwanz an Problemen nach sich! Viel Spass dabei. ;)

--------------

The Superseeding working well but i did the mistake and watching deeper in the BitTorrent Specifications
and saw that my doings are complete against it. so i changed the stuff to be more compatible with the
rules. You should switch to the next version and the

i2psnarkxl-20090202a.zip
md5: a60d6cc546d8352c3d461b601cfb2416

removing from your webspace - if you have any.

The next source is still Beta and needs some more testings but it does working like expected.

greetz fwd
*
02. feb 2009

- update

i2psnarkxl-20090202a.zip

md5: a60d6cc546d8352c3d461b601cfb2416


*
02. feb 2009

About Superseed (theme "seedler"):

if "Superseed" is "on" than all pieces we got would be shared only once.

the image "blocked" shows which pieces are not in share
the image "visible" shows which pieces are current in share. if this is empty, than we share nothing!
common versions get a user defined timelimit when a uploaded piece get back to share but current you need
to do this by the refresh functions by yourself!

the button "switch on/off" toggle the status of superseed.
the button "reset" empties the superseed memory. all pieces are in share again
the button "reset" AV compares the available pieces with our pieces and put all not available pieces
of our bitfield in share.

the Superseed modus also works if we are leeching! Handle this with care!
in leeching mode a bad ratio of us have the result of ignoring the superseed modus!


*
01. feb 2009

- including a superseed function
*
29. jan 2009

some words to the new theme "seedler" ..

- click on the client name opens the infopage for this client
- click on the client name on the infopage open/close the extended infos (toogle)

- click on the torrent name opens the infopage for this torrent
- click on the torrent name on the infopage open/close the extended infos (toogle)

in the infopage the sortorder working for the current shown client/torrent
(instead to theme expert that switch to all clients when using a sortorder)
*
29. jan 2009

(see previous message)

ok, there is another problem than i ment.
the problem was that i created a torrent with just one file in a folder.
it seems that the source of the snark-version i used for XL couldn't handle a single file
in a folder. creating a torrent with 2 or more files in a folder or creating a single file
without a folder is working fine. i need to take a look at the current source of 0.7 of
I2PSnark. it seems that this bug is currently fixed.
so if there are no other problems that rise up than you could use this version and i have
still a few days more before the next version come out.

the bug above had nothing to do with this version. it's a problem of all older versions.
destiny just wants that i trap in this after announcing this beta release.
*
29. jan 2009

- update

i2psnarkxl-20090128a.zip

md5: 97bc80dc1b637a28fcd0cc248e3ed1fe

edit:
------------------------------------------------
WoW! Murphy strikes back ..

About a timeout setting that i included to prevent you from possibles errors made by the the new
image classes, i forgot the longtime routines by creating a torrent. so my timeout strikes
before the creation of the torrent file has finished!

fixing this right now!

if you haven't any problem with that you could still use the i2psnarkxl20090128a.zip for
testing the new classes. but you can not create a torrent file with it
*
28. jan 2009

OK, the new elements and objects around the new progressBar images are
full beta stuff!
i including a lot of new keywords but i didn't descripted them in the faq
because all is beta and under construction. All might change in the next version!

the progressBar images values are taken from the client.class. so if you delete
the clients on the clients infopage this affecting the images too.

also the values for available pieces by peers on the torrentpage (Peers) depending on that.
it's speeds up the whole refresh by browser but it could vary from the shown peers values for a
short time because the peer values are still taken by the old methodes (like theme expert)
and the available pieces from the new (faster) classes. So it could happen that you see more
available pieces by peers than the current shown peers have. That is just because they are a bit
late and sleepy (by different threads) and matches on the next browser refresh.

the new elements are only included in the new theme "seedler"

Please report bugs!

ok, now i go and preparing the version 20090128a.zip ..
*
28. jan 2009

- including new class BitfieldImage.class to handle the images

*
24. jan 2009

The including of images on the fly wasn't a kind of easy like i first thought.
Naturalization of images on the fly for XL is against the natur of the built-in servlet for jetty.

The servlet isn't threadsafed like a normal server-socket connection. it do handle only one request after another.
This works fine howlong you are just deliver a single htmlpage for jetty and the included pictures are delivered by
a static access from a folder ("i2p/docs/themes/...") by jetty itself. But the new pictures have to come from
the XL-Application itself because they are a lot and they change often. It makes no sence to save them into the
static folder while the webpage is generated.
So i have to change the complete source for the servlet. I including the new child ClientProcess.class for it to
handle the threads for the browser requested images. Also i had to change some stuff in the Client.class for a
better compare of requested clients by browser. Now i need a few days for testing the new stuff to check the
compatibility and behavior of this changes.
*
23. jan 2009

I did it and start touching the textbased procressbar!
- including images for the procressBar
see: the screenshots.

I including a methode that delivers the procressBar pictures (png) on the fly.
The picture takes it bitmap direct from the bitfields of the clients pieces.
That speeds up the whole thing because we do not need anymore to transform the bitfield
in a string array.The picture doesn't show anymore a part of the pieces it shows the
complete snapshot of pieces of clients. scaling to shorter or longer size happens by the
browser itself in the images tag width (<img width="xxx" .../>).

the display of torrents with much pieces profits of that. Who ever open a torrent with
11.000 or 22.000 pieces knows about what i'm talking. the time to show a torrent decreases
to 25% ... ring ring, knock, knock ... more later ... private life calls ... bye
*
21. jan 2009

general cleaning up

- fixing a spelling error of userkeys in "iterator_torrents_template.html" tooltips (theme expert)
( "{user_key_tooltip_torrents_pBar=}" -> "{user_key_tooltip_torrents_pBar}" )

- avoiding of reconnections (activeseeding)
since we have the client.class we can use it to avoid us better of seeder/seeder connections
before we etablish a connection. (save some new tunnel requests)

- fixing some previous/older changes by misunderstanding the source at that time.

...
*
20. jan 2009

In the last version i made it more easily for you to make your own themes.
I moved all neccessaries of theme "expert" to the user config files.
The only thing that you have to do is to ...

1) copy the template folder of theme expert in "i2p/templates/i2psnarkxl" and rename
the copied folder.

after copy and renaming

2) open the user config files "user_lang_en.config" and "user_lang_de.config" in the new folder.
search for key "user_key_theme_name=expert" and rename "expert" to the same name
you had renamed your copied folder. save the files.

3) copy and rename the expert folder in "i2p/docs/themes/i2psnarkxl" to the same name
you choose before.

all dependencies are done when you have changed the user key "user_key_theme_name=" in the user configs.
I prepared the theme expert in that way that all dependencies are renamed automatically to that userkey.

try it out and change some colors in the stylesheets of "template_html.html" in the new folder

" .totab" is the torrent table on the mainpage and
" .petab" is the table for the peers (when you toggle)

change the "background: #xxxxxx" values for them and save it. watch the effect after browser refresh.

any problems? ask me!
*
19. jan 2009

- updating the Keyword-List in faq
- updating the examples expert;
Note! guru, minimalist, jama are not overflow fixed yet!

- preparing the zip-archiv

i2psnarkxl-20090120a.zip

md5: d854a2c40475dd9f0b5305cdaea4a44a

*
19. jan 2009

- removing dead trackers from "classic" page (like requested by Amiga4000)
using the current setting from source of I2PSnark via "I2P-Track
*
19. jan 2009

The ban function on the clients page you could use for donating the network.
As example, when you are a leecher with a bad line or some unknown reasons why your
client didn't share like you excpected than go on the info page and find the (first) seeder for
the torrent and ban the client. so you will just took parts of other leecher that still are
available and you are not the "sucking-pig" that slows down a torrent in the hot period.
thanks if you care about things like that!

In a common version i'll include a automatic function for that.
Than you could decide whether or not you wanna load from seeders by default.
The setting would be ignored if no other leecher is connected with us or a time limit has reached[1]
since last received piece or no one get a piece that we want.

[1] maybe the other leecher(s) are sucking-pig's too.
*
19. jan 2009

The current source looks like a kinda very "stable release".
so i forced my self to a break of enhancing the issues and to cleanup some mess.
if i doing not any mistakes again by the cleaning up this would be under normal
circumstances a version number with the next higher scaled zero range if i had to
used version numbers like "v. I2PSnarkXL 0.2.9" but i don't use them yet.
Howlong i didn't start with a GUI i'll stay by the date formated version string.

The included templates are -just to remember you- only examples.
For that the themes i offer might looks a little bit overcrowded with informations
but i use the templates as examples for every new Keyword that i've included to make
it easier for you to customize your own templates that suits better with your enviroment.

Remember I2PSnarkXL is not a website far away in the internet. For bugs or misspellings
in the templates you have not to contact a unreachable admin for a fast fix. You are that admin!
The files are stored and located on your computer. if there are any mistakes insides
(made by me) you can fix them easily. if you report a problem and/or maybe you have a better
solution for some stuff, so tell me that! if it make sence i'll fixing and including it in time!

After this version my next focus on templates and new Keywords is to enhance the
issues for seeders and power users. For that i need -for the first time- to add new values to
the config files and to add some more files like you know them from eg. eMule, iMule, Azureus.

To avoid the root directory of I2P of more messy stuff i've to change the path for the
config files and common neccessary info files that are used by the built-in application "I2PSnarkXL".

but that will not affect this version (announcing it today or tomorrow).


incomplete ... more will follow
*
19. jan 2009

- adding some new screenshots to mainpage
- removing older screenshots
*
18. jan 2009

took a deep breath and a look in the mistery book of css.
after a painful 14 hour session i was able to switch a few things to get a better css compatibility.
currently i can not test it with konqueror. so i don't know if the changes will work on other
Systems. current i only touch the theme expert. I depend on some reports of you if it does working well.
the performence of browser frame build increases enormously at my side. I hope for you too.

- changing the theme expert templates to be more css compatible.
*
18. jan 2009

- including sort order by torrent (clientpage)
- including clients percent of torrent (clientpage)

stylesheets needs again a cleanup aaaaarrrrrgh@zt%zzs*beep*
misspelling the last </tr> before </table> in "iterator_clients_template.html" and "template_clients.html"
of theme expert.

wrote <td></td><tr> instead <td></td></tr> ... if it hit you fix it self howlong i not commit a cleaned up version
search for "<td ></td><tr>"
*
17. jan 2009

- fixed the wrong display outprint of "up T" and "down T" while "C" and "P" are false.
- including a delete function and button to remove clients from the info list.
- including a delete function and button to remove all clients from the info list.
- including a delete function and button to remove all inactive[1] clients from the info list.

REM: if you remove clients from the info list than they are only removed from the info output of the
clientspage. if they got a peer connections with us than this will not affect the connections.
on next peer request (new- or re- connection) they will popup again but all infos till that are lost.
it's like we seen them for the first time!

Be aware to remove clients that are connected with us. on a stabil connection it might need hours
before the client popsup again on the info page!

[1] clients without peer (peer = false)
*
15. jan 2009

Ok, saw a display problem right now.
when a client is disconnected you have to subtract the "up S" from "up T" to get the right "up T".
same formula for the "down T" and "down S".

about the remember function of up and down and the service to see what were the last session values.
i forget to handle this.
it happens only while "C" and "P" are false.

when the client goes online again than the values correcting them self.

next version get a fix for it.
*
14. jan 2009

- updating the Keyword-List in faq
- updating the examples expert; drakensang
Note! guru, minimalist, jama are not overflow fixed yet!

- preparing the zip-archiv

i2psnarkxl-20090114a.zip

md5: 717dbd230110f5fdd83d21bf4de24436

*
14. jan 2009

- including some sort orders for the clients page
- including descending sort orders for each ↓ and ↑ see example pic

example picture
*
14. jan 2009

briefing new clientspage

B - Banned: whether or not "we banned us" from this client

RC - Re Connections: the count of new re-connections with this client

C - Connected: whether or not we are connected

P - Peer: whether or not we have a peer with this client

FS - First Seen: time left since we know about this client

LS - Last Seen: time left since last successful contact

LCT - Last Connection Try: time left since we try a connection to this client

CS - Connected Since: time left since we are etablished last successful
connection with this client (current session)

CT - Connected Time: time we were truly connected with this client
since FS

up T - up Total: the amount we upload to this client since FS

down T - down Total: the amount we download from this client since FS

up S - up Session: the amount we upload to this client since CS

down S - down Session: the amount we download from this client since CS

UFO - Upload From Others: the amount the client downloaded from other
clients since FS

... incomplete
*
14. jan 2009

- fixing the dummy string for seeders
XL sends allways a fixed dummy string for seeders. it might be to short for your display.
the size of the dummy-string depending of the user settings in default.config now

- fixing in "classic" page the overflow values for width and heigth

see same link like last message ("just as info")
*
14. jan 2009

just as info:

it seems that browsers handle the overflow tag different.
some browser ignoring the settings for the parent.element width and height.
if you suffer under elements that running out of your window size then the width and height values
have to be set in the element where the overflow tag/stylesheet is located too. (most are <div>'s)


but this made the rows and columns as strong static elements now.
to get a nice looking "table view" at least there have to be one <td > without size limits.
from now i use "a extra/the last" one <td ></td></tr> for that.
i don't like that but howlong i found no other solution i use it

bad news: i have to touch every single template file to fix that. :(

special thanks @eche|on for help and tests
*
14. jan 2009

- extending the faq with the new keywords for the new clientspage

in "template_html_clients.html":
{clients_template} - Placeholder for the content of "template_clients.html"

in template_clients.html
{iterator_clients_template} - Placeholder for the content of "iterator_clients_template.html"

in iterator_clients_template.html
{template_client_info} - Placeholder for the content of "template_client_info.html"
{client_isbanned} - style: boolean
{client_name} - style: String
{client_id} - style: String
{client_dest} - style: String
{client_hasbadratio} - style: boolean
{client_soft} - style: String
{client_isconnected} - style: boolean
{client_choking} - style: boolean
{client_haspeer} - style: boolean
{client_reconnections} - style: int
{client_first_seen} - style: timeFormatedString
{client_last_seen} - style: timeFormatedString
{client_last_try} - style: timeFormatedString
{client_connected_since} - style: timeFormatedString
{client_connection_time} - style: timeFormatedString
{client_torrent_name} - style: String
{client_dlrate} - style: intValue + 'Bps' or 'Kps' or 'Mps' or 'Gps'
{client_ulrate} - style: intValue + 'Bps' or 'Kps' or 'Mps' or 'Gps'
{client_ultotal} - style: intValue + 'B' or 'KB' or 'MB' or 'GB'
{client_dltotal} - style: intValue + 'B' or 'KB' or 'MB' or 'GB'
{client_ultotal_session} - style: intValue + 'B' or 'KB' or 'MB' or 'GB'
{client_dltotal_session} - style: intValue + 'B' or 'KB' or 'MB' or 'GB'
{client_ultotal_from_others} - style: intValue + 'B' or 'KB' or 'MB' or 'GB'

in template_client_info.html
{client_id} - style: String
{client_dest} - style: String

*
11. jan 2009

- extending the infos for clients on a extra page
- making clients clickable for direct infos
- adding new class Client.class for more infos and a better performence
- adding a lot of new keywords (explaning them later ...

example picture 1
*
08. jan 2009

- adding a rss feed on my page
Giving a try to rss feeds
*
08. jan 2009

The changing of the source for known clients seems to work well.

[see: message 3.jan 2009] -> most regular known clients added ( just in case they visit us..)

Today a client popsup with a signature of a not usually seen client at i2p.


*
7. jan 2009

- including a version string (on request of "back|up")
- adding new keyword {versionXL}
- fixing the display of interesting pieces of a peer (that we want)
(was incorrect about a own made bug)

- making a new example template for a theme "drakensang"
(since i didn't saw any new themes made by YOU, i made a new one by my own)
Remember ... i'm not a artist of webdesign ... so it become beautiful ugly - hübsch hässlich.

The colors of the example pic are darker than they are in the browser because i decrease the color-depth
to get a smaller sized png (>1mb -> 174kb). about that the letters may look to dark for you in the example pic.
in reality they are better readable and more shiny.

- including some more tooltips inside the themes.
*
6. jan 2009

First report/impressions about the new ratio routines.

It's working great!
First i was afraid that this might slow down the downloads howlong there are not enough other clients
that care about the ratio but it seems to be the opposite of my thoughts.

the whole thing is speeding up my downloads because it forced even the non caring clients to deliver
something for a fair share on both sides. I'm allways at the top of the tracker lists and !!! without
a bad ratio.

It's something to be proud on! ;)

see:
example picture 1 *
example picture 2 *

* - The client has 14 torrents in share. 7 as seeder and 7 as leecher.
client uptime 17:32 hours

current running 5 clients with 30 active and different torrents on my side. (just for tests!)
*
6. jan 2009

@devs of I2PSnark (hopefully someone with mtn access read this)

In PeerCheckerTask.class is a little bug/performence problem.

In the methode run() you need to check if the peer isn't a seeder, the only one seeder
and/or/else not the only one uploader (leecher) before setting a peer to choke.

see: all routines that contains "peer.setChoking(true);"

special that one with "download == 0" and those with the "worstdownload" and "worstDownloader".
( a seeder is allways the worst downloader because he is only uploading! so he is allways the first
that would be removed. )

reason:

when we choking a snark-seeder than the seeder stop uploading to us about the download == 0 stuff
older torrents with only one seeder or just a second leecher suffering about that.
special cases are leechers of a rare OS with a small line to the web or a low system.

if the "overUpBWLimit" is reached they loss their only one connection and rather they are
trying on next "PeerCoordinator.CHECK_PERIOD" to reconnecting or unchoking.
that means they are allways stay just for a small connection time and the most time they
use for reconnections till next "PeerCoordinator.CHECK_PERIOD" or choke/unchoking
when they again calling "peer.setChoking(true/false);".

In one of the common versions of I2PSnarkXL i need this to cleanup again too.
In the current version (i2psnarkxl-20090105a) i did just a badly workaround and need to correcting
this again because i mixed up "coordinator.isCompleted()" <-> "peer.isCompleted()" in the
"download == 0" line. But it's not a important fix for XL because it fixed itself with the
the new called routines for the ratio. but it's a toDo!

greetings fwd

Zusatz

Ich wäre dafür die ganze Geschichte mit "worstDownloader" zu streichen [1].
Der Nutzen ist äusserst gering aber der Schaden extrem hoch.
Gerade die alten Torrents mit nur einem Downloader sind betroffen, in doppelter Hinsicht.
Er ist automatisch immer der "worstDownloader" aus Sicht des Seeders und meisst auch noch der
mit der schlechtesten Verbindung. Genau so umgekehrt streicht diese Routine auch noch den
einzigen Seeder aus der Sicht des Leechers selbst, da diese Leecher meistens am längsten und als
einzige in den nicht mehr aktuellen torrents stehen oder als Nachzügler reinspringen und somit
in vielen der alten torrents als dauer Leecher auftauchen und scheinbar nie fertig werden.

Diese Routine erzeugt nahezu einen Ping Pong Effekt von verbinden und trennen (choke/unChoke) zwischen
den beiden. Will der eine, lehnt der andere gerade ab und umgekehrt.

Im "normalen" Internet würde dies vermutlich nicht mal auffallen (ausser dem Betroffenen selbst) und
in der Masse untergehen, in I2P ist es die Regel (durch die kleine Community und die Beständigkeit
der Betroffenen).

Den Betroffenen kann ich z.Z nur empfehlen nur ein einziges torrent im seed/leech zu starten bis dies
in Snark behoben ist.

if you affected by this than you should only start a single torrent for seeding/leeching howlong this
isn't fixed in Snark.

[1] besser wäre eine Art von zeitlicher Rotation, so kommt jeder mal dran.



*
5. jan 2009

- updating the Keyword-List in faq
- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20090105a.zip

md5: 233638b2d4d307015f13d1eb1cd5b286
*
05. jan 2009

- adding new keyword {peer_hasbadratio}

Ratio 0.5 and minimum upload > 2 pieces before the ratio limiter is active: example picture
The ratio will be ignored if the other peer has no pieces we want from it.


*
05. jan 2009

I figured out a problem that could happens if we strict handle a ratio.
If we are a Leecher normaly all seems fine and we have a upload/download ratio that is in balance.
We receive 20mb and deliver 20mb+ for a torrent but when we connected with "bad" Leechers
(like most are at the moment) and we got a good connection to a nice Seeder than we are
looking like a bad Leecher too. we are not because we delivery everybody else more than they gave
but that that we got from the Seeder makes us looking as a bad Leecher on the tracker list.
We get 20mb's from other Leecher and 20mb's from the Seeder = 40mb's overall but even with a ratio
of 0.5 we deliver just a maximum of 30mb's to the other Leechers. That's not our fault but about that
it's possible that we are the one who seems to be the one who's stucking a torrent in the hot period.
if in common more clients out there that also care about the ratio this will not be a problem but
at the moment ...
Any suggestions how to handle this?


*
05. jan 2009

... and this way it looks when you (make a mistake and) have a (to) strong ratio (0.9) and you didn't
seed anything.
huh, not a nice idea when just clients out there that didn't care about any ratio.
not nicely but proberly a fair share. :(


*
04. jan 2009

experimenting a bit with the download and upload limits and including a strong ratio handling
and WOW ... first time i get rates like i expecting it from a BT-Client on i2p.
The complete outbound Bandwidth is used constant for the first time since i'm on i2p.
Hope this is a stabil effect and not a random thread.



*
03. jan 2009

- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20090103a.zip

md5: 59a4d09f2c28ea7c4930eb3df9948007
*
03. jan 2009

- fixing on "classic" page some infos about the config-file
- changing the complete source for known clients
- adding new class org.i2p.i2psnarkxl.peermanager.utils.BTPeerIDByteDecoder (for client idents)

Reason:
after Robert 0.0.3 comes out i noticed that my previous added Robert id was wrong.
(The Robert id is a none static id and change with the version numbers)
so i took the time to switch the whole source. Clients are displayed Azureus-like now.
most regular known clients added ( just in case they visit us..)


*
30. dec 2008

- preparing the zip-archiv
- update

i2psnarkxl-20081230a.zip

md5: cd6002062c51fcea979a8ea0b9c4ed94
*
30. dec 2008

- changing the limits for torrents
size from 10gb to 100gb; pieceslength from 1mb to 8mb; files in a torrent from 128 to unlimited
this needs a lot of tests now!
- adding Robert-id to known clients

Reason: torrents that are generated with Robert
see info (by Sponge):
Robert:
http://forum.i2p/viewtopic.php?t=2934

I2PSnark Limitations & Other Clients:
http://forum.i2p/viewtopic.php?t=2068

if you like a preversion of this I2PSnarkXL for testing too than leave me a message at
http://i2psnarkxl.i2p/miniserver/

since last message (30. aug 2008) i did some changes for myself and a better performence
yet i didn't descript it here ... like active seeding instead passiv waiting for leechers
and some other interesting stuff. when i got more time i might descript it but not yet.
*
6. sep 2008

- adding our own pieces to the stats of available pieces if our torrent is incomplete
- changing disconnect while inactive time is over 8 minuts to 20 minuts (11 minuts lifetime of a bad tunnel)
to wait 20 minuts does not hurt us but disconnecting a peer while we got a bad tunnel and waiting 1 hour
for next trackerrequest does hurt!
*
30. aug 2008

- updating the faq
- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20080830a.zip

md5: 51d03f6549afd1dc1b16dd471974400d
*
30. aug 2008

- adding new Keyword {torrent_pieces_string}
- adding new Keyword for default.config key_torrent_ProgressBar_MaxPieces

this are the torrent aquivalent-settings to the peer stuff

- fixing the problem of a needed first call of the app to readout the user given name and to start torrents by
"autostart-function"

see: message-service topicident: wkazUVVH53yeLRJyHylyN-XzX7sYQCk1dBNfXyQ
thanks to "neo2k"

- setting the StartupDelayMinutes back to 3 minutes (like it was in I2PSnark)

toDo: thought here is a user setting random value a good thing to increase anonymity
(what do you think about that?)
*
21. aug 2008

- i2psnark fixed: snark.coordinator.getDownloadRate() shows last rate after we have stopped the torrent
- i2psnark fixed: snark.coordinator.getUploadRate() shows last rate after we have stopped the torrent

- adding new keywords {torrent_InfoHash}; {torrent_InfoHash_urlencoded}
- integrating a methode that allows to show peers of a single torrent insteed all torrents by using the new
keyword {torrent_InfoHash}

- updating the faq
- updating the examples

... working a bit on my personal message-service.
*
13. aug 2008

- i2psnark: Fix OOM vulnerability by checking incoming message length
(Rev. a7524035a59d80854d131f6c9f8ead9022e4a106)

- investing some time to write a small webservlet for static eepsites to include a message-service.
*
12. aug 2008

- updating the faq
- updating the examples
- preparing the zip-archiv ... again
- update

i2psnarkxl-20080812b.zip

md5: 099d682ce41fb3d77a412ac82a3ddb6e
*
12. aug 2008

renaming keyword {userClient} to {peer_userClient}
and prepare the new update version ...
*
12. aug 2008

REMOVED FROM TRACKER

- enhancing the faq
- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20080812a.zip

md5: 91db92e4798ea06048a2554b91881570

Fine! Now when i updated the faq i saw my mistake! again there is a keyword to change.
Because nobody downloaded this yet i removed it from tracker and fixed this damn bug.
*
12. aug 2008

work of yesterday:

- adding new keywords {my_peer_id}; {userClient}
- integrate a sort order for the peers - sorting the peers by name
- made a unique client id for XL "CwsL" instead snarks client id "AwMD"

{torrents_uploaded_total} and {torrents_downloaded_total} are deprecated!
and renamed as {torrents_total_uploaded} and {torrents_total_downloaded} to keep a redline on keywords.

{peer_total_progressbar_size} is deprecated and renamed
as {peers_total_progressbar_size}

{my_peer_id} is only shown if the client is connected because if your client didn't open a tunnel
than you haven't any id!


... thought that was it ... maybe if i forgot something then i will announce it later.

btw: if the jetty server shown are ERROR page then this is just for the templates. Your client works still and
you can get it with the classic page! If this happens then fix your errors and refresh the browser.
*
11. aug 2008

i'm doing a lot stuff today but i'm to sleepy to tell something smart about it or to prepare a update.
see the example pic of theme expert on the mainpage that shows some of my daily work.

n8
*
11. aug 2008

- adding to the configuration file "default.config" the Keyword "key_Charset"
- adding new keyword {charset} to the general Keyword-List. it represents your setting
of the configuration file "default.config" see above or in worst cases "UTF-8".

The default value is "key_Charset=UTF-8".
The "key_Charset" setting would be also used to responds to the jetty-server.
It could be different to the charset setting in the templates. this is your turn.

On normal circumstances you have not to change this!
It's just for those that have problems to integrate their language with the normal charset value of the html page.
For the html charset you should still use your own ?userkey? settings!
*
10. aug 2008

- enhancing the faq
- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20080810a.zip

md5: 33c5efdffc1e934912eaefbfcfbe394b
*
10. aug 2008

some words to the new integrated default configuration file "default.config"

- the configuration file "default.config" is located in the main directory of a theme.

current the following settings are possible for a user defined changing:

key_ProgressBar_Piece=|
key_ProgressBar_NoPiece=&nbsp;
key_ProgressBar_ReqPiece=:
key_ProgressBar_MaxPieces=300
key_UserConfig=user_lang_de.config

every setting have to be one line!

... to be continue
*
10. aug 2008

- enhancing the faq What is a user keyword?
*
10. aug 2008

- refactoring package-tree
- refactoring class org.klomp.snarkxl.web.HtmlGenerator to org.i2p.i2psnarkxl.template.web.HtmlGenerator
- adding new class "TemplateConfig.class"
- adding configuration file for the themes "default.config"
- adding user specific keywords (unlimited) and user configuration files (unlimited)

With the "default.config" you could changing as example the strings that are used in the progressBars and
other stuff.

With the user keywords (made by your own) you could as example switching between languages or
replacing the code in the templates or a lot of unlimited[1] other things.


[1] limited by your imagination and/or experience

see: the faq What is a user keyword?
*
9. aug 2008

- updating the Keyword-List in faq
- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20080809a.zip

md5: 4fddf31e90f9ff292b6cd8a64a72970c
*
9. aug 2008

i experimenting a bit with the html-source for the text-based-progressBar-string to get
a better look'n feel. But i don't know how your browser will display it in the end.
so, here are the examples how it look at my side. if the display is different at your
side then please tell me!



this scrollsliders is shown up after pressing "ctrl" and "+" to increase the text-size.


*
8. aug 2008

- adding new keywords {peer_total_progressbar_size}; {peers_total_pieces_available_string}

{peer_total_progressbar_size} is the integer value of {peers_total_pieces_available} in percent could be used
to strech some "width". I use it in the examples to strech the progressBar's.

{peers_total_pieces_available_string} is the text-based progressBar for available pieces
it included all pieces of the current peers.


*
8. aug 2008

- updating the Keyword-List in faq
- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20080808a.zip

md5: 4bdfa74777c77bd5112b602737264725
*
8. aug 2008

- adding new keyword {peers_total_pieces_available_percent}

this is the printout of {peers_total_pieces_available} in percent

PS: Don't be upset of the lenght of some keywords. After the testphase i'll integrate for every
keyword a shorten, abstract version too. At the moment i need just a human readable style to
find a redline in my doings and not to lossing myself in abstract spellings.


*
7. aug 2008

- adding the missing 'ps' to {torrent_ulrate} and {torrent_dlrate}

current they showing B or KB or MB or GB instead Bps or KBps or MBps or GBps.

- adding new keyword {peers_total_pieces_available}

this shown the current availabe pieces for a torrent by peers.
this could never been higher then the total size of pieces for a torrent-file
it count the different pieces of all peers for a torrent and not the sum of pieces by all peers.

that means if this count matches with the size of pieces of a torrent than the current peers could finishing
the torrent even if no seeder is online yet. The file is 100% availabe by the current peers.

at the moment this will only works if the text-based progressBar for pieces is shown.
in common versions this will be allways available.

The following example shown 3 peers with 40 + 40 + 26 pieces. The sum of shared pieces by peers is 106 and
the available different pieces by all peers is 65. So, everybody could still get something of the others.
Yet, it doesn't include our own pieces but in common versions this will be included too except we are seeding
because a seeder have allways all pieces and it is no advantage to count them. In common versions i will also
take out other seeders, so we see howmuch is available without seeders.
It's also a good indicator for the progress of a torrent.


*
7. aug 2008

- updating the Keyword-List in faq
- updating the examples
- preparing the zip-archiv
- update

i2psnarkxl-20080807a.zip

md5: d8239f40c60d397c34f5313e2a0157b0
*
7. aug 2008

- adding new keywords {peers_total_pieces_requested}; {peers_total_ulrate}; {peers_total_dlrate};
{peers_total_ultotal}; {peers_total_dltotal}


The new keywords represent the total sum of all peers for each torrent with which we are current connected.
"Current" because this could vary from sum of session totals (clients come and go in a session) and they
could vary from the aquivalent settings of the torrent. But we want the correct values of the peers like they
are displayed. I know thats sounds a little bit confused but trust me. It's all correct!

- adding new keywords {torrent_ulrate}; {torrent_dlrate}; {torrents_total_ulrate}; {torrents_total_dlrate};
{torrents_uploaded_total}; {torrents_downloaded_total}


This new keywords are the aquivalent of the keywords above, just for torrents.
*
6. aug 2008

Found postman on google cache:
http://209.85.135.104/search?q=cache:jh2JvITxevwJ:tracker.postman.i2p.to/
or
http://209.85.135.104/search?q=cache:tracker.postman.i2p.to:

'snapshot of the page as it appeared on 25 Jun 2008 14:16:40 GMT.'

but there have to be a newer google scan because google got infos about "i2psnarkxl"
thats dated end of jul


*
6. aug 2008

- adding a function that allows to inserting comments in the templates.
all lines that starts with '##' are ignored by generating the html page.

you can use it for comments or just to take out some lines without to remove them
from the template. thought this could be very useful.
*
6. aug 2008

Because i come more familary with the code of snark i could moving some methods for keywords on a
previous loop while running the templates. Torrents with status "NONE" print out more informations now.
Doing some stuffs to increase the performence on a browser refresh.
Except for {peer_pieces_string} [progressBar of pieces]. this i didn't touch yet.
(wanna keep this nice work for a lousy weekend)

- adding new keyword {torrent_pieces_completed}
- torrents with status "NONE" shown the total count of pieces and (new) the current completed count too

Did really some crazy stuff to stop, cut, slash, crash ... the i2p sessions without caring for
the running XL-Clients and ... good news! The workaround for lossing datas seems to work well!
The pid-file logic have done a good job. I didn't miss any data amount after restarting. But no reason
for a early happy hour! Murphy's Law find allways some new ways to keep coders at work. Day and nights.

btw: would be nice to see some screenshots of your work. Maybe we should make somewhere a gallery ...

uuuhh, before i forget this again. Please do not insert Javascript on your own templates! That really could
destroy your anonymity. Once you got happits to use XL-templates with Javascript ... other -external- loaded
templates could force and tread you with hidden stuff.
*
5. aug 2008

Update


i2psnarkxl-20080805a.zip

md5: a9a9120a8ae8e90035b3f0ed79f08471
*
5. aug 2008

- enhancing the faq
- updating the examples
- preparing the zip-archiv for next update
- update
*
5. aug 2008

- starting a workaround about the lossing data problem while snark isn't closed valid at last i2p session

using the pid-file logic for each XL Client.
creating and removing a pidfile at the critical/uncritical times. if at next startup-procedur a pidfile from
the last session exists then the config-file will be cleaned up from the zmeta.datas before the torrents are
loaded to the client. let's see if this resolve the problem.

btw:
things you should not do: **

* naming the xl-clients as "i2p.war"; "router.war"; "routerjvm.war" they all creating pid-files too.
* naming the xl-clients as "dummyxl.war" or "unset.war". That all are logical keywords in the app while
the clients name is currently not indentified at startup.
* using same torrent folders for different XL-Clients.
* renaming the folder for the torrents as "unset". thats even a keyword in the app while the clients
name is currently not indentified at startup too.

**(just in case that "Murphy" is somewhere around on i2p)
*
4. aug 2008

- enhancing faq Tips'nTricks

* "changing the refresh rates for the example themes"
* "some of the keywords you can use to toggle images"

- enhancing faq Installing I2PSnarkXL
- indexing the faq
- adding link "download this eepSite"

- adding new keyword {torrent_known_peer_count}
*
4. aug 2008

- fixing a bug that shown sometimes the wrong status of a torrent (Seeding <==> Leeching)

removed the 20080804-alpha torrent from tracker because the only once downloader was my second client
and this 20080804b version got some fixes more!
so nobody was hurt!

the current update is i2psnarkxl-20080804b.zip

md5: f51d96f981386d55c090963b870165fd
*
3. aug 2008

Update (removed)

i2psnarkxl-20080804.zip
md5: 0344c2308a447f8ba85f275cb0440e6f

edit:
REMOVED FROM TRACKER

*
3. aug 2008

- fixing a little bug for themes that are without 'text-based' progressbar but still running the methode for it.
- adding a methode to toggle the peers in the themes
- keywordlist new: {link_ext_showpeers}; {torrent_status}; {torrent_percent}; {torrent_progressbar_size}
- updating the example templates
- including theme guru
- prepare the zip
- i2psnarkxl-20080804-md5-0344c2308a447f8ba85f275cb0440e6f-.zip

the 'close peers toogle' keeps the CPU usage low for the themes.
you do not need anymore to switch to the classic page to avoid from high browser access.


*
3, aug 2008

while downloading 2 torrents with more than 5000 pieces and a leecher count > 10 for each file
i see the problems with the 'text-based' progressbar for pieces. The CPU usage increases
enormously on every refresh intervall of the browser. shit happens!


thought this becomes a immediately point on the toDo list.
I know this string want bite me often but why so soon?!

following is the content of a 'text-based' progressbar string with > 5000 pieces.
For a better printout i replaced completed parts with 'x', incompleted parts with '-'.
'o' shown the parts we currently requesting from this clients.

xoxxxx-xx--x-x-xx-xx--xxxxxxx-x---xx-xxxxxxx-xxxxxxx--x-x-xx-x-xxxxx--xxx--x
-xxx-xx--xxxxxxx-xxxxx-x-xx-x---xxx--xxxx--xx-xxx-x-x--x-x--x--x-xxxxxxx---x
-xxxxxxxxxx-x-xxx-xx-xxxx---x-x-xxxxxx-x--x-xx--xxxx--x-x-xxx-xx-xx--x-x-xxx
xxxxxxxx-x--xxx--x-xxxxx-xx-xxxxxx---xx---xx-x-xxxxx-xxxxx-xxx------x-xx-xx-
--xx----xxxx--xxxx-xx-----xxx-xxx--xxxxx-x-xxxxxx-x---x----xx-xxx-x-xxxx-xx-
xx--x--x--x--x-x--xxxxxx-x-xx-x-x-xxx--x---xx---x---xx-xxxx--xxxxx---xxx-xx-
xx-x-----xxxxx--xx-xxxxx----x-----xxxx-x--xxx-x-x-xxx-xx-xxxxx---x---xxxxx--
-----xxxxx--xxx---xxxxxx-xx-xx-x-xxxxxxx---xx-x-xxxx-xxx-x-xxxxxx-x---xxx---
x---x-xxx-x---xx-xxx-xxxxxx-xxxxx---x-xxxx-xx---xxxx-xx-x-xx--xxxxx-x---xxxx
xxxxxx-xx-xxx-xxx-xx--xx-xxxxxxx-xxxxxxxx---xx-----x--xxxx-xxxx-xxx-x--x-x-x
x-xxx-xxxx----x--xx-x-x-xxx--xxxxx---xxxxxx--xxxxxxx---xx-xxxx--xxxxx-xxxx-x
-x-xx----xx-xxxxx-xxxxxxxxx-x-xxxx-x-xxxx--xxxxxx--xx-x-xxx--xxxxx-xx-xxxx-x
--xxx---xxxxx-x-xxx--xxx-xx-----xx-xxx-xx-x-xxxx---xx-x-x-x--xx-x-xxxxxxxxxx
-x-x---xx-xxxxxx-xxxx-xxxxxxxxxx-xx--xxxxxxx--xx-x-xxxxxx-x--x-xxx----xx---x
x--x-xxxx-xxx-x-x---x-xx-xxxxxxxxxx-xxxxx-xxxxxx-xx-xx--x---xxx--xx-xxxxx-xx
xxx--xxx-x-x-xx----xxx---xxx-x--xx-xxxxxxx-x--xx-x-x---xx-x-xxx-xxxxxx-xx-x-
x-----x--xxx----x-x---xxxxx-xxx-xxx-x-xx-xx-x-x----xxx---xx-x--xxxxxxx---x-x
xx--xxxxx-x-x-xxxx--xxxxxxx-x-xx-xx-xx-x-x---x---x----x-xxx-xxx-xxxxx--xxxxx
xx-xxx-xx-xxx--x-xx-x-xx-xxx--xx-x---xxx----x-xxxxx-xxxx-xx-xxx-xx-x----xxx-
x-x---x-xxxxxxx-xxx---xxxxxxx-x-xxxx----x--x--xxxxxxx---x--xx--xxxxxxxxx-xx-
-x----xxxxxx-x-x-x----x-xx-xxxxx-xxxx-x--xxx--xx-xx-x-xx----x----x-----xxxx-
xxx-xxx-xxx---xxox-xx--xx-x--x---x-x-----x-xx-xxxxxxxx-xxxx----xxxx-xxxxxxx-
-xxxxx-xxx-x--xx---xx--x--xx--x-xx--x-x-xxxx-x-x---xxxxxxxxx-x--x-x-x-xxx-xx
x--xx-xxxxxx----x-xx----x--x---x-xxxxx---xx-x-xxxxx-xxxx-x-xxxx-xx--xx-xx--x
-x-xxx-xx-xxx-xxx----xxx-xxxxx-xx-xxxx--xxx-x-x-xx-xxx-xxxxxxxxx--xxx--x-x-x
-xx-xxx-xx--x-x---xxxxx-xxxxxx-x-xx----x-xxxx-x---x--xxxx--x-xxx--xxxx-xxx-x
-xx--xx-x--xxxx-xxx--x---xx-xx--xxxxx-x--xx---x--------xx---xxxxxxxx-x-x-xx-
x-xxxxxx-xxxx--xxxxxxxxx--x--xxxx-x--xxxxxxxxxx-xxx--xxx-x-xx-xxx-xx-x-xxxxx
-xxx--xxxx-xx---xx-xxxxx-x---x-x-xx-xxx-x-x-xx-x-xxx-xx-xxxxx-xx-x--xxxxxx-x
x---xxxx-xx---x---xx--xxx----xxxxx----x--xxxxx-x-xxx-x-xxxx-xx-x---xxxx-xxx-
-xxxx-x-x-x-x--xx--x--xxx-xx-xxxxxxx---xx-xxxxxxxxxx-xx-xx-x-x--xxxxxxxx--xx
--x---xx--x--xxx---xxxxxxx-x--x-xxxxx--xxxxx-x-xxx----xx-xx-xxxxxxxx-x-xx-x-
x--x--xxxxxxxxxxxx---x-xxxx--x---x-xxxxxxxx----xxxxxxxxxxx--x----x--x-x-xx-x
xx-xx-xxxxxxx-x-x-xxx--x-x-xx--xx-xxxxxxxx--xxxxxx---x-x-xxxxxx--xx-xxx-xxxx
xx-------xxxxx---x-xxxx-xxxxx-xx-x-x-x-x-xxxxx-xxxxxxxx--xxx-x-xxxx--xxx-xxx
x-xxx-xx-x-x-xxxxxxx-xx-xx-xxxxxxx-xxxxx-xx---x-xxxxxxxxx-xx-x-xxxxxxx--x-xx
-x---xxxxxx-xx--xxx-x---xxx-x--xxx-xxxxxx---xxxxxxxx--xx-xx-x-x---x--xxxxxx-
-xx---xxxxx--xx---xxx-xxxx-x-x----xx-xx--xx--x--x-x--x-x-xxx-x-xxxxxxx--xx-x
xxxx--x--xxx-x-xxxxxx--x----x----xxx--xxx--x-x---x--x-----xx-xx-x-x--xxxxxxx
x-xx--xxxx-xxx-xx-xxx-x-x-xxx--xxx-x-xx---xx-xxxxxxxx--xx--xxxxx-xxxx-xxx-xx
xx-xx-x-x--xx---x-xx-x-xx--xxxx-xxxx--x-xxxx-x-xxx-xxxxxx-xxx--xx--xx-x--xx-
xxxxxxxxxxx--x-xxx-xx-x-xxxxxxxxxx-xx--xxx-x--xxxx-x-x-xxxxxxxxxxxx-----x-xx
--x-xxxxxx-x-xxxxxxxx--xx-x-xxx--xxx-xxx-xxxx-xx--xx-xxx-xxxx-xxxxx-xxx-xx--
xxx----xx--x-xxx-xx-xxxxx-xx--xxxxx--xxxx---xxx-xxxx-xxxx-xxxxxxxx-xxx-xx-x-
--xxxxx--x-xx--xxxx-x--x--xxx-xx--xx-xx---xxx--x--xxx--x-xxxxx----xx-xx-xxxx
x--xx-x-xx-x-x------xx-xxxx--xx--xxx--x--xxxxxxx-x--xxx--x--x-x-xxxxxxx-xxxx
xxxxx-xxxx-x-xxxx--xxxx--xxxxxxxx-xx--xxx-xxxxxxxxx----xxx-xx-x--x---xxxx-xx
xxx-xxxxxxxx------x-xx-x-xx-xxxxx-x-xxxxx--x-xxxxx--xx-xx-xxx----xxx-x--x-x-
-xx-xxxx--xxxxxxxxx-x--x-xxx--xxxx-xxx-xxxx--xx--x-x-x-xx--xxxxx---x-x-x---x
-xxxxx-x-x-x--xxx-xxxxxxxx-xx-x--xxxx-xxx-xxxx-xx-------x--xxxxx----x-x-xxx-
xx-xx-xxxx-xxxx--xxx--xx--xxxxx-xxx-xxxxxxxxxxxxx-xx-x---xx--x-xx-xx---x-x-x
xx-x-x-xx-xxx--xx-xx--xxxxx--xx-xx-xx-xxxxxx-xxxxxx-xxxxxx-xx---x-xxxxxxxxx-
x-xxxxxxx-x-x-xxx-x-x-xxxxxx-xx-x-xx-xxx---xxxxxxxxx-xxx-xx---x-x---xx--x--x
-xx-x-xxxxx-xxxx-xx-xxx-x-xxxxxx-xxxxxxx-xxxx--xxxxx--xx-x-xxxxxxx-xx-xx-x--
xxx---xx-xxx-x-x--x-x-x-x-xx-x--xxx-xxxx-xxxxx-x-xxxxx-xx--xxx-x-x-xxxxxxx-x
xx---xxx-xxx--xx-xx--xxxx--xxxx-xxx--x--xxxxxx---x-xx-x-xx-xxxxxx-xx-x-x--xx
x-xxxxxxxxxxxxx-xxx-xxxx-xxxxxxx-xxxx-xxx--x-xxxx---xxxxxxxxx-xxx-xxxx-x-x-x
xxxxxxxx-xx-x------xxx-xx-xx--xxx-xxxxxxxxxxx--x-x---xxxx-----xxxxx---x-x-x-
xx-xx-xxx-x-xxx-x-x-xxxxxxxx-xxxxxx-x-xxxx-x-x-xx-xxx-xxxxx----xxxx-x-xxxxxx
xx-xxx---x-xx-xxx-xxx-x-xxxxxxx-xxxxx-x-x-xxx-x--x-------x--xx-x--x-xx-xxx-x
--xx----x--xx-x-------xxxxxx-xx-x---xxx--xx--xx-xx---xxx--x-x---xx--xxx-xxx-
--xx-x-xxx---xx-xxxxxxxx-x-x-xxxxx-xxxx-x-xx-xx-x--x--xxxx--xxxxxxx-xxx--x--
xx-xxx-x-x-x-xx--xxx-xx----xxxx-xxxxx-xx---xxx-----xx---x--xxxx--xx--xx-xxx-
xx--xxx-xx-x--xxxxx-xxx--x-xx-x-xx----x-x--xxx-xxxxx-x-x-x-x---x-x----x-xx--
xx-xxxxxxxxxx--x-x-xxx--xxxx-xxxx-----xxxxxxx-xxx-x-x-x--xxxx-xxx--xx-------
x-x----xxxx--x--x-xxxxxxxxx-xxxxx--x--xx-xx--xxxxxxxxxxx-xxxx---x--xxxx-x-x-
x---xxxx-x--xxxxx-xx-xxx--xxxxxxxxxxx-x-xxxxx-xx-xx-xxxxxxxxxxxxx---x---x-x-
--xxx-x--xxxx-xxxxxxxxxx-xxx--xx-x-xx-xxxx---xxxx--xxxxx-x----x-xx--x---xxxx
-xx-xxx-xxxx-xxx---xx------x-xxx--xx-xx-xxxxx-xxxx--xx-xxx-xx-x-x-xxxx-xx-xx
xxxxx-x-xxx-xx-x-xxx-x-x---xxxx-xx---xx--xxx--xxx--xxx-x-xxxxxxxx-xx-xxx-xx-
x-xxxx-x-xxx-xx-xxxxx-xxx--xxxxx-xxxxx--xxx--xxxxxxxxxxx--x-xxxx-x-xxxxx----
-x-x-x-x--xxxx---xx-xx--xxxx---xxx--xx-xxx-xxxx-xxxxx--xx-xxxx-x--xxx-x--xxx
xx----x-xxx-xxx----xxx--x-xxxxx-xxxxx-x------xx--xxx-xxxx--x--xxx--x-xxxx-xx
--xxx-x-x---x-x-xxxxx--x-xx--x-x----xx-x-xxxxx

*
3. aug 2008

made the new theme 'guru' to get a new look'n feel and to see what keywords are missed for next toDos.
*
2, aug 2008.

- inserting in Faq a HowTos 'How can i make my own themes?'
- extending the Faq 'Why should i use multiple bt-clients?' (thanks to stereotype)
*
2, aug 2008.

Update latest source.

i2psnarkxl-20080802_md5-147be05c7cf8d87682cd67293dccf3b2-.zip ~ 289 KB

md5:
147be05c7cf8d87682cd67293dccf3b2

changes to previous zip-structure:
in the i2p/webapps folder is the file "[renameMe].war" instead the "i2psnarkxl.war"
rename it like you want for your installation and copy it to your "i2p/webapps" folder.

How to start the renamed war-file:
copy it to your "i2p/webapps" folder
restart i2p

client access:
http://127.0.0.1:7657/[renameMe]/
for the themes use:
http://127.0.0.1:7657/[renameMe]/?themes=jama
http://127.0.0.1:7657/[renameMe]/?themes=minimalist
in the link replace "[renameMe]" with the name of the war-file without ".war"

example:
rename "[renameMe].war" to "i2psnarkxl.war" then the link is
http://127.0.0.1:7657/i2psnarkxl/
for the themes use:
http://127.0.0.1:7657/i2psnarkxl/?themes=jama
http://127.0.0.1:7657/i2psnarkxl/?themes=minimalist

if you add the client with a new name to get a new multiple client then
you have to press once 'save configuration' after your first access to
http://127.0.0.1:7657/i2psnarkxl/

if you wanna use the themes then I2PSnarkXL expects that the following templates-path exists
i2p/templates/i2psnarkxl/jama/*
i2p/templates/i2psnarkxl/minimalist/*

and the jetty-server expects for resources in i2p/docs/themes/
i2p/docs/themes/i2psnarkxl/jama/*
i2p/docs/themes/i2psnarkxl/minimalist/*

all is included in the zip-archiv!
*
2, aug 2008.

- extending the Faq
- adding a link for the latest source on the mainpage
*
2, aug 2008.

vers. 0.6.2-9

The problem of lossing datas is still given in I2PSnark and I2PSnarkXL.
After a restart of I2P with cleaned up all I2PSnark*.config's brought back ~700mb in 3 current downloads.
*
1, aug 2008.

After i edited some lines to this webpage i've continuing the work on I2PSnarkXL.
I added some stuff to integrating a progressbar for pieces and it seems to work.

the only problem i got with the minmalist-theme because i like to have the
minmalist-theme as an example without any resources except pure Html-code.

So i include a keyword for a "text-based" progressbar for the torrent pieces.
but now i got a problem! ... has anybody an idea how to shorten a String for the
big-files with 1000 - 4000 pieces ... and to include it in a webpage of
1024 x 768 or 1200 x 1024 pixel ... and the overflow tag with scrolling doesn't
work like expected with different Browsers. thought that this problem will bite me
more often at the future

i'm not a great artist for webdesign so take the examples like they are .. just
as example and not as exhibit to winning a Oscar for art and design.
*
31, jul 2008.

Registering key on stats.i2p and starting the eepsite i2psnarkxl.i2p today.

After burst of enthusiasm, now i sitting here and starring on the empty screen without knowing how i
should start, what's to do at first ... crazy world.

... after a long while of starring at the still empty editor ...

stealing some sentences from complication.i2p for the faq.
***