Official eMule-Board: Webcache 3.0 - Official eMule-Board

Jump to content


  • (2 Pages)
  • +
  • 1
  • 2

Webcache 3.0 Recode the old implementation

#1 User is offline   OwenBurnett 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 121
  • Joined: 04-October 04

Posted 07 August 2005 - 08:47 PM

Hi everybody,
In our opinion the current implementation of WebCache is not the best and we would like to recode it.
At the moment we don’t want to do the whole work alone, because we won’t lose compatibility to the rest of the world (and the ISPs that we use don’t have proxies)
So we would like to find some modders, to build a cooperation and recode the WebCache togehther.
IoNiX has good first lines, but recoding the whole stuff is a long way.
The best solution here would be teamwork to have the job done fast and efficiently.
Is there anybody who would be interested in recoding the whole WebCache together with us?

Owen
God's in his haven. All's right with the world.
0

#2 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 07 August 2005 - 08:52 PM

Count on me if you're serious about that... I do not use WebCache anymore because it $ucks and DL is way better without it, though, I don't doubt a proper implementation could really speed up the network :flowers:
0

#3 User is offline   dani_555 

  • Platinum eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2913
  • Joined: 22-March 04

Posted 07 August 2005 - 09:49 PM

What's about waiting until the Webcache devs are "back"?
0

#4 User is offline   OwenBurnett 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 121
  • Joined: 04-October 04

Posted 09 August 2005 - 08:54 PM

Yes I’m serious; a new implementation would be a big improvement…
I don’t think that the Webcache dev’s will recode the whole stuff, and make a clean implementation…
Is there someone else out there who would like to help us?

Owen
God's in his haven. All's right with the world.
0

#5 User is offline   yonatan 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 200
  • Joined: 19-February 04

Posted 11 August 2005 - 12:00 AM

Hi Owen/Wiz,
Just curious, what would you like to change?

This post has been edited by yonatan: 11 August 2005 - 12:01 AM

0

#6 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 11 August 2005 - 06:03 AM

From my experience there's the need for some changes, e.g.:

- modification/checks in upload/download engine, often a WC client will just get 1 block then get dropped, makes for me 9.3MB-180kB loss (my reason why I don't use it anymore)

- behaviour while passing on cached blocks, very often it happens to me that I receive blocks which aren't cached anymore, so I suggest something more "intelligent", e.g. "verified cache upload/download", meaning you only pass on links if you're sure the clients can handle them

- code rewrite, it seems to me that there are lot's of unneeded codelines, e.g. in PeerCache, those should and will never be reached and make understanding hard... plus it might wreck havoc on peercache (can't test that)

This post has been edited by tHeWiZaRdOfDoS: 11 August 2005 - 08:50 AM

0

#7 User is offline   OwenBurnett 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 121
  • Joined: 04-October 04

Posted 11 August 2005 - 08:12 AM

Make the code more professional,
Stuff like thePrefs.variable = or so shouldn’t be used in eg. WebCahce.cpp,
thePrefs.SetVariable(…), is more professional.
Or you make many includes in headers where an class name; would be enough.
Or putting so many help variables inside of CPreferences looks also not so good.
I know such stuff is in the end not so relevant, but it makes the code looks more pretty.
The point is the code is not so well designed as the rest of the eMule.
You keep to many old commented out code…

Remove the 1.2f boost for port 80 users this is unfair, you may instead punish webcache clients that don’t use this port, this would be fairer…

Their should be a possibility to completely disable the WebCache not only disable the Download.

Owen
God's in his haven. All's right with the world.
0

#8 User is offline   leuk_he 

  • MorphXT team.
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5975
  • Joined: 11-August 04

Posted 11 August 2005 - 09:14 AM

OwenBurnett, on Aug 11 2005, 10:12 AM, said:

Stuff like thePrefs.variable = or so shouldn’t be used in eg. WebCahce.cpp,
thePrefs.SetVariable(…), is more professional.


Well Cleaning up code is an whole other ballpark. You can do this all alone. Just make sure your changes are well marked up, and i am quite sure some mods will take up your changes.

If you can find ways to use less code all over emule it will also implify the merging process. But cleaning up code will not cost you compabibly at all.

Quote

Remove the 1.2f boost for port 80 users this is unfair, you may instead punish webcache clients that don’t use this port, this would be fairer…

This only should have an effect for transparent proxy users. the idea is that it should help the network! If it does not (pleas prove this), this feature shoudl be removed.

But i think this only a very , very small thing. 4 lines of code is not a good reason to recode webcache..

Quote

Their should be a possibility to completely disable the WebCache not only disable the Download.
View Post

finally a real functional change. :+1:

I have a more extensive functional/implementation wishlist:
1. Not only allow disabling webccache complete , but also allow enabling/disabling webcache without restarting emule. restarting emule is very intensive to the client &network since all sources have to be gathered again and reasked.
2. Better autodetection of webcache. Now it works by a webchahe.csv/xml. However my excellent proxy has been deactivated on this list (active=0 ) BUT IT DOES CACHE (see my post in the webcache thread). This only proves the current autodetection is flawed. And as a real p2p program it should detect clients within the same ip range/isp and exchange proxy information for this.
3. Prevent using an open proxy somewhere on the internet, this is not the idea of webcache. (only useful for testing purposes, but it hurts the proxy). Use only the proxy of you isp.
4. optionally use the internet explorer dll to do the proxy request. This way proxy autodetection scritps and proxy load balancing starts to work. Also autologin into a proxy start to work this way.
5. Maintain backward compatible . Webcache only starts to work when a lot of clients use it. Since it is not in official (That might take a while , see sticky in feature request) every clietns counts. So at a lot of effort do not loose the current
6. Make the entire client to client protocol work over a proxy . That way clients that are burried behind a proxy can use emule. Note that a emule client can still be blocked by testing for the user-agent tag and the encrypted-data path of the request. Yes, you can upload through an proxy, so these clients can also help the network. (give these clients a 1:1 ratio???)
7. Add ftp upload to a webserver, and access using the same webcahche/http protocol.

I know, some of these idea are a little vague and hard to implement.

This post has been edited by leuk_he: 11 August 2005 - 09:46 AM

Download the MorphXT emule mod here: eMule Morph mod

Trouble connecting to a server? Use kad and /or refresh your server list
Strange search results? Check for fake servers! Or download morph, enable obfuscated server required, and far less fake server seen.

Looking for morphXT translators. If you want to translate the morph strings please come here (you only need to be able to write, no coding required. ) Covered now: cn,pt(br),it,es_t,fr.,pl Update needed:de,nl
-Morph FAQ [English wiki]--Het grote emule topic deel 13 [Nederlands]
if you want to send a message i will tell you to open op a topic in the forum. Other forum lurkers might be helped as well.
0

#9 User is offline   yonatan 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 200
  • Joined: 19-February 04

Posted 11 August 2005 - 09:32 AM

@Owen:
Sounds like stuff I've been meaning to do before I lost my ability to concentrate on any sort of coding ~8 months ago. You might want to turn SINGLEProxyClient into a proper singleton while you're at it.

If you add the ability to turn off uploading via webcache, please make sure the users understand that this will only affect clients downloading from them, and probably not in a good way (since webcache users need as many webcache-upload enabled mods as possible).

@Wizard:
I have a feeling that the problems you bring up are gonna be much harder to solve, the first two are ISP specific (meaning dependent on your proxys' config).

The PeerCache issue is also a real bitch, the "right" object-oriented thing to do is probably to put functionality shared by both peercache and webcache into a class (like CacheClient) and derive PeerCacheClient and WebCacheClient from it. But that might make merging with new official versions harder. That's why I took the (uglier) cut-n-paste road.

Anyway.. good luck with it.

PS: I think JP and Superlexx are still working on the code, so you might want to come up with a different name for it (edit: or maybe work with them on it?).

This post has been edited by yonatan: 11 August 2005 - 09:49 AM

0

#10 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 11 August 2005 - 09:54 AM

The thread is open for every modder to answer and offer their help... if the WC devs would help, that'd be very good, as you might have way more knowledge and maybe some documents about cacheing and the programming you've done
0

#11 User is offline   yonatan 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 200
  • Joined: 19-February 04

Posted 11 August 2005 - 10:04 AM

Unfortunately I lost all my bookmarks recently, but most of the important stuff is in rfc2616. Beware of HTTP/1.1, it's kind of complicated when it comes to proxy servers (read the section about pipelining), and not too widely supported (SQUID wasn't 1.1 compliant last time I checked).
0

#12 User is offline   dani_555 

  • Platinum eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2913
  • Joined: 22-March 04

Posted 11 August 2005 - 11:39 AM

leuk_he, on Aug 11 2005, 10:14 AM, said:

3.  Prevent using an open proxy somewhere on the internet, this is not the idea of webcache. (only useful for testing purposes, but it hurts the proxy).  Use only the proxy of you isp.
View Post
Webcache hurts the ISPs proxy too. See the T-Online-Proxy in Germany. With Webcache, I get soooo many failed results, I remember to have only about 15% succesful ones.
0

#13 User is offline   leuk_he 

  • MorphXT team.
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5975
  • Joined: 11-August 04

Posted 11 August 2005 - 12:24 PM

dani_555, on Aug 11 2005, 01:39 PM, said:

leuk_he, on Aug 11 2005, 10:14 AM, said:

3.  Prevent using an open proxy somewhere on the internet, this is not the idea of webcache. (only useful for testing purposes, but it hurts the proxy).  Use only the proxy of you isp.
View Post
Webcache hurts the ISPs proxy too. See the T-Online-Proxy in Germany. With Webcache, I get soooo many failed results, I remember to have only about 15% succesful ones.
View Post

Well, that is 15% the isp does not have to transfer over the international backbones. If the isp can think it can save bought bandth with by providing proxy's let them!

As i read the webcache threath T-oneline has an y complex cache hierachy. So the proxy someone in north germany is not the same as someone in south germany. It should be possible to find the "real" proxy if the uploader detects the ip of the downloader proxy instead of relying on the dns name of proxy. However this is not how it works right now (for a reason i think). That is why i suggested to (optinally) use the internet explorer api to find the proxy, since most isp's have instuctions (scripts) to set the proxy in internet explorer.

Transparent proxy's and proxy's in a hierachy will stay a problem since the isp's do not report how they operate, if they cache anything at all.
Download the MorphXT emule mod here: eMule Morph mod

Trouble connecting to a server? Use kad and /or refresh your server list
Strange search results? Check for fake servers! Or download morph, enable obfuscated server required, and far less fake server seen.

Looking for morphXT translators. If you want to translate the morph strings please come here (you only need to be able to write, no coding required. ) Covered now: cn,pt(br),it,es_t,fr.,pl Update needed:de,nl
-Morph FAQ [English wiki]--Het grote emule topic deel 13 [Nederlands]
if you want to send a message i will tell you to open op a topic in the forum. Other forum lurkers might be helped as well.
0

#14 User is offline   Sebastian2 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 196
  • Joined: 18-November 02

Posted 22 August 2005 - 01:38 PM

Sounds fine. Hope it will be coded...

Sebastian
0

#15 User is offline   Sebastian2 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 196
  • Joined: 18-November 02

Posted 01 September 2005 - 03:49 PM

Is this project running? I mean does someone work on it?

Sebastian
0

#16 User is offline   RejZoR 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 753
  • Joined: 03-April 04

Posted 01 September 2005 - 04:00 PM

Hm,is there any way to verify if WebCache works?
I used proxy that eMule detects,but when i test it it says the test has failed.
How can i test proxy if it's still working? I know my ISP had it before,but that was 4 years ago...
"Something that looks pretty much like a banana but tastes like a peace of pork, though it is a product from a bird!"
Stulle @ Dec 7 2005, 06:16 PM
0

#17 User is offline   Sebastian2 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 196
  • Joined: 18-November 02

Posted 02 September 2005 - 04:43 PM

Yes, in the stats. Unter Download Sessions is a WC-Stat normally.

Your Errormessage appears if there are too many open connections. So the test dont run even if WC works.

Sebastian
0

#18 User is offline   RejZoR 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 753
  • Joined: 03-April 04

Posted 02 September 2005 - 04:58 PM

U guess my ISPs proxy isn't working or there is no other webcache enabled client inside my ISP. So it's the same if i just disable it...
"Something that looks pretty much like a banana but tastes like a peace of pork, though it is a product from a bird!"
Stulle @ Dec 7 2005, 06:16 PM
0

#19 User is offline   Sebastian2 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 196
  • Joined: 18-November 02

Posted 03 September 2005 - 02:37 PM

You can see if there is another person available when you look into transfer and there the last column. The second number, I think, is the number of persons who has the same proxy. This is only seeable if webcache was active a time.

With autodetect you should find the right settings.

Sebastian
0

#20 User is offline   tuxi50 

  • Member
  • PipPip
  • Group: Members
  • Posts: 45
  • Joined: 03-August 05

Posted 02 October 2005 - 09:48 PM

What are with this great idea? :(
0

  • Member Options

  • (2 Pages)
  • +
  • 1
  • 2

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users