![]() |
How to not get ultrapeers? Hiyas. The question is straghtforward, how can I make LimeWire connect only to peers, instead of aquiring ultrapeers? |
That's simple: You can't. |
Grr. Any clients where you can? |
It happened once.... I am not sure why, but once I was connected to a bunch of morp users and the protocol said 0.6 instead of ultrapeer. But I can't get back to that. Are there any clients that don't connect as leaves? |
Yes, there are. |
Well if you wouldn't mind could you tell me which ones? |
Morpheus 2.0 for example |
Oh, perhaps I should clarify... Are there any linux clients that don't connect as leaves? |
|
Thanks, I'll try it. Odd that LimeWire would connect me as peer once and not again though. Oh well. |
It happens when LimeWire doesn't find any ultrapeers to connect to. |
hmm... I guess an ideal solution then for people in my situation would be to compose a gnutella.net file consisting only of morpheus users. I don't have the expertise to do something like that, though. :( |
or... Anyone know where in the source LimeWire decides that ultrapeer connection in not viable and goes to peer? That is something in which I do have some knowledge, I might be able to tweak it so it instantly assumes UPs are out. Its a lot of source to wade, though. |
It can be done.... Fiddling with Lime for a bit, I got it back to the morp connections. Use only one or two connections, and remove UPs when they show up. After a while, you get a .6 connection. Then raise the number of connections and repeat. |
Well, if you like to keep constant watch over your connection panel, this could be your solution - however stupid it might be. |
Well it isn't stupid if you need a peer connection. Well, maybe a little stupid, but only in terms of there not being a method of automating it. |
|
It's all in the ConnectionManager.java , if you really want to make LimeWire connect to older clients only. |
Hmm, I'll take a look, thanks. I still don't see why they couldn't make this a toggle or something, its not like it would be that hard for them, and would save a lot of work for people for whom leafing isn't an option. |
'They' didn't make it an option because 'they' don't want people to become anything else but leafs or ultrapeers. Old 0.6 connections are simply too ineffective. |
Less effective, perhaps, for the average user, but in some situations more so. Even making it somewhat obfusciated would do the trick, someone needing to make peer connections would be able to but users not needing to wouldn't notice it. |
There is not a single situation where 0.6 connections are more effective. Theoretically AND practically an ultrapeer connection will always return more results. |
But more results isn't always good. Especially given that LimeWire can't filter ports. An Ultrapeer connection blinds the client to the realities of possible or impossible connections. With 0.6 connections a greater percentage (still not all, but MUCH more) of the queryhits you get are from hosts that you can actually connect to, because obviously if you got the queryhit you can exchange data with that host. Funneling everything in and out via an UP means that more queryhits are returned, but most of the leaves of an average Ultrapeer are inaccesible to me. Getting queryhits bounced off of an Ultrapeer only means that both the host in question and myself can connect to the Ultrapeer. The fact that the Ultrapeer allows me to get queryhits from these hosts is of little consequence in terms of being able to access the hosts themselves, because the actual business of requests and transfers is handled directly between me and the host in question. With a 0.6 connection, a much greater percentage of my search horizon is made up of hosts I can get to. I have fewer responses, but most of the queryhits I lose vs. an ultrapeer setup represent hosts I could not get to anyway. In short, a Ultrapeer gives me hits from anything the Ultrapeer can connect to. In a perfect world, I would be able to connect to all of them as well. But I can't. A 0.6 connection gives a more accurate description of files available to me. |
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
It isn't a firewall in the traditional sense, and pushing won't help. I AM firewalled, as well, but the other problem is just a hack and slash block of gnutella traffic on the standard port. I can connect to some hosts as would a firewalled user, but other hosts are blocked completely. I know 0.6's work better from twice being able to get them, and observing that nearly all of the diminished quantity of returns worked. Except the normally firewalled ones, but that is understandable. Basically, if I can connect to an Ultrapeer, and so can another host, the likelyhood is still quite low that I can connect to the other host. But I can still exchange queries and queryhits. They are just useless to me. If, however, I connect to other hosts on 0.6, the model changes slightly. Queryhits are not always routed back to me via the host that relayed the query for me. They come straight back. Well, the don't come STRAIGHT back, but they don't get routed around my firewall. So while I can get a query OUT to a host to which I cannot connect, via my connections, that host's queryhit would be blocked, and I wouldn't have to wade through hundreds of false-positives. For example, this situation: File F - Whatever Host A - me - Can connect to B, P, and U but not C Host B - Has F - connected to P and U Host C - Has F - connected to P and U Peer P - Does not have F - connected to B and C UltraPeer U - Does not have F - connected to B and C Now, if I (A) am connected to U, then these are the relevant queries: A->U does not have file A->U->B returns queryhit via B->U->A A->U->C returns queryhit via C->U->A So A sees two responses, B and C. Only B is possible. But A doesn't know that. Now if A is connected to P, this is the situation A->P Does not have file A->P->B returns queryhit via B->A (peers don't force-route returns like UPs do) A->P->C queryhit fails via C-| |-A So this time A sees only one response, the one from B. The one from C never made it. Now in application there are many more C than B. A peer connection, as illustrated, would use my own filters to screen for and weed out C-type hosts from search results. Now if I am wrong about that (which I don't think, but is possible) and queryhits can bounce off of peers and be counted as successful (which would seem to contradict the idea of ultrapeers) there is another solution for a 0.6 connection being better. That being the extremely limited number of cases wherein ones own peers (those peers to which one is directly connected) have file F. An ultrapeer has less upload bandwidth, so if only those queryhits which originate from the peers and/or ultrapeers to which I am directly connected are valid, I am more likely to be able to connect. |
Oh, and by the way, "LimeWire can if you can", could you elaborate on that? My search results panel does not tell me the port on which a file is being shared, only the IP. |
Quote:
C will send the queryhit to P which will forward it to you, so you'll get the queryhit anyway. The real question is, - why C could not connect to A. The only possible explanations are: - C blocked your IP or your listening port - YOU block C's IP - Neither C nor YOU accept incoming connections. Quote:
|
Well, I'll just tell you my situation. My ISP is meddling with my connection. I can't connect to anyone if THEIR listening port is 6346 or 6347. I ca't even ask them what they have. I know this is my ISP, because on another ISP it works normally. I found out that the "browse host" gives me the port of the host, and only returns results if I can get a connection to them so that has effectively become my strategy. Search a query with lots of returns, ungroup, sort by location, and go down the list browsing hosts until I get returns, then look and see if a file I want is in the list. Reminds me of the old ftps. Strange however, that I get many more valid connections when I can force LimeWire to connect as a peer. Perhaps I just got very lucky two out of two times, but that seems unlikely. |
If you can't connect to a host because your ISP blocked the host's listening port, LimeWire will automatically try sending a PUSH request since it will assume that host is firewalled. If this host has free upload slots, it will try to open a connection to you - and if you can accept incoming connections, you won't have any problems downloading. In case you are not accepting any incoming connections (and if you can't change that) I wouldn't use LimeWire but a gnutella client that supports HTTP or SOCKS proxy instead. |
All times are GMT -7. The time now is 03:50 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.
Copyright © 2020 Gnutella Forums.
All Rights Reserved.