An Open-Source Gnutella Client for Windows | |
Beta Status | Thursday 12-27-2001 |
If you emailed me this week and havent gotten a reply, hold on, I'm kinda busy. I'll be back by the weekend to work on the next beta release. Top priority is a new method for picking out corrupt chunks and the hosts that are associated with them so that when you download a file it doesnt start trashing entire portions and re-downloading them. | |
|
|
1.6 Beta Build with Symbols | Monday 12-24-2001 |
If you're getting any errors with the 1.6 beta, download this zip file and extract it to your install directory. Then when an error occurs the Dr. Watson report should be a bit more descriptive and we can get these issues resolved quickly. I have a feeling the people at ZoneAlarm know what Gnucleus should not do to not intefere with its software, but its really hard to contact them. If anyone reading this has better connections, please try to find out. | |
|
|
Gnucleus 1.6 Beta | Friday 12-21-2001 |
Yes you too can try the Gnucleus 1.6 Beta featuring multi-source downloading.
Just go into your preferences and set auto-update to beta to get the latest. Now to the good stuff, what is it? how does it work? Multi-source downloading is downloading the same file from multiple people simultaneously. A couple file sharing services do this already, xolox, eDonke, fasttrack, etc... When you search for a file Gnucleus groups files by size because they are most likely dupicate files, even if they are different names. Then when you select to download that file Gnucleus tries each host until it finds someone to download from. Depending on how much bandwidth you have available Gnucleus will connect to some more hosts to download from. Even if the server is busy Gnucleus will periodically re-try connecting to other hosts during the download. Gnucleus will even re-search your download while the download is going on, each new connection that is made a re-search query will be sent over it. As for verification, every chunk that is downloaded overlaps the beginning of the next chunk by 4kb. If the bytes match the chunks are put together, otherwise, the smaller of the two chunks is trashed and the host is labeled as corrupt. This ensures you're downloaded files are always good No extensions to the protocol were needed to implement this feauture, you will be able to multi-source download from a variety of other gnutella clients, bearshare, limewire, etc.. I've been working my butt off to get this working pretty decently, please try the beta, report any problems to the forums. If you know how to program at all I insist getting the source via CVS and running it through in debug mode, it would be a great help. I put off answering a lot of email while I coded all this, but I think I'm caught up now, thanks for the patience. |
|
|
|
Status Update for 1.6 | Monday 12-10-2001 |
Almost done with this sucker, multi-segmented downloading is in and working great. Finishing up the interface changes and support for loading partials with the extra file chunks associated with it. Everything is going smoothly, next release in about a week, expect a beta in a couple days. If you are running an internal LAN network at your work or college tell me about it and how many users you have, send me an internal map of your network using gnucleus's mapping feature. I want to start showcasing on gnucleus.net what people have created. My LAN here has about 150 users and over half a terrabyte of data. | |
|
|
WinNT Fix | Sunday 11-25-2001 |
It seems some people were getting the error, 'function Process32Next does not
exist' when they started Gnucleus 1.5. This was because WinNT did not support
these functions, darn. The new release uses a different method to achieve the
same thing and keep compatibility. Sorry for the down time. I've lost all my email for the last 3 days so if you sent me anything please resend it, this includes the person who sent me the patch for the NT bug, I need to give thanks out to him. Thanks to people who got the debug DLL's and tested Gnucleus, it seems in SockCore.cpp on line 513 gnucleus is asserting, mostly on Win2K machines. This bug has been there for a while, still searching for it. Someone told me once it was more of a microsoft problem than a gnucleus one, still I need to find it and fix it. |
|
|
|
Version 1.5, Happy Holidays | Wednesday 11-21-2001 |
Yay, a new release, 1.5, even which is a pretty big release. What is
really new with Gnucleus is the exciting LAN mode for people at
colleges or at businesses that want to easily create their own internal
gnutella networks without contamination from the outside. You can actually
create multiple sepereate gnutella nets on the same LAN. The purpose is two part. First to decrease the bandwidth used by file sharing at colleges and universities by creating a seperate internal sharing network that uses zero of the colleges internet bandwidth. Second is for me personally to research decentralized networks in a more controlled environment. Go to the Download Page to download Gnucleus 1.5 or Gnucleus 1.5 LAN Version! If Gnucleus has trouble on start-up, extract these files into your install directory and email me if these files help you at all or give you a different error. Basically it puts Gnuclues into debug mode. |
|
|
|
Campus Edition / Mapping work | Tuesday 11-06-2001 |
I'm working with my friend accross the hall on a distributed mapping system.
Kinda upset that some Berkley team got credit on Slashdot for mapping
gnutella when we've been doing it for over a year already. Anyways, this new
system will be cool. Dont bother with the test versions, I'll include the new code in the update. I'm still not sure if the Win NT problem has been fixed, I get all sorts of emails where some say it works, and others say it doesnt so, whatever, if you want to debug it, please debug it. I'm working on a college specific version of the program, for the main reason that at my college, like many colleges, they filter all file sharing services because the bandwidth goes through the roof. An internal only system will work nicely. It will be out soon. |
|
|
|
Test 3 (just gnuke it) | Thursday 11-01-2001 |
With some tips and lots of great input from the past two
failure tests, I'm back at it with a new version that fixes
a couple thread issues and mem leaks. (i hope), only way to find out
is to have some Win2K users and anyone else who wants to, test it and
then email me if it now works, or if it doesnt. This code also fixes
a problem with UDP broadcasting on 95/98/ME, so if you want to setup
a little gnucleus LAN at your school or home, it works a lot better.
For big LANs like at colleges, contact me and I can help you set one up
as I do the same for where I am. Anyway, here's the test files - Original 1.4.5 Gnucleus Executable Replace the Gnucleus.exe in your Gnucleus install directory with this file. Tell me if it works, tell me if it doesnt. |
|
|
|
Project Status | Sunday 10-21-2001 |
Last week was finals for me and this week I have off, its pretty much
between college, girlfriend and home most of the time so gnucleus is
getting the shaft. I'm going home tonight to check my email, hopefully
do some maintenence work on the code. I know a lot of people have been
helping me to get the sockets stablized and it seems that at this point
a lot of the bugs lay in microsoft's winsock mfc classes. Which are
known to be very buggy. It will take some work, but once these problems
are out of the way you'll be looking at an extremely stable gnutella
client Sorry for the problems to Win2k people, I say buy XP, I've been running it for 2 months now and my compile time has been cut in half and gnucleus runs days without problems. Its like microsoft finally got the operating system right for once. A shout out to anyone with unicode/UTF-8 experience your 'consulting' would be useful to me and this project. :) Please send me an email. |
|
|
|
Win2k and NT Problems (Test 2) | Wednesday 10-17-2001 |
Some people with Windows 2000 and NT are having problems with Gnucleus
crashing constantly. I'm thinking it might be the threading so I'm
releasing a test that takes the internet test thread out. If this
doesnt work I'll try taking some more thread code out. Please help
me by downloading the test file if you are experiencing crashing on
start up. Update: I just got a report from a user that found when he turned Zone Alarm off, Gnucleus worked fine, but when it was turned on Gnucleus crashed. He was using Windows 98, can anyone confirm this happening? Test #2 Gnucleus Executable Original 1.4.5 Gnucleus Executable Replace the Gnucleus.exe in your Gnucleus install directory with this file. Tell me if it works, tell me if it doesnt. |
|
|
|
Gnucleus 1.4.5 Released | Monday 10-15-2001 |
Ok, yesterday was a bit awkward for me, and probably for anyone using Gnuclues. I
released 3 patches all with in about 12 hours. The first was an update to 1.4.3
including the new ident and bandwidth code. Unfortunately I didnt notice a bug in
the IRC code when I released so a couple hours later when I checked the hostcache on
IRC there were 1,500 people all in the cache room at once. Of course this was really
bad so I released a patch quickly bringing us to 1.4.4. Unfortunately again a couple
hours later I was tipped off that this version was having trouble connecting. It turns
out I forgot to turn off guerilla mode, so I did that and now we're up to 1.4.5 I've gotten some reports of instability under Win2k, I'm running XP here and Gnucleus runs fine for days, but for others it seems they're having trouble. Please if you have VC installed, run Gnucleus in debug mode and try to find out where it is breaking. If you know a lot about CAsyncSocket, could you take a peek at the disconnect code, sockets seem to linger long after they are closed. Update: It seems that if you have a multi-processor system running gnucleus you are screwed. I have no idea yet what the problem is, probably with threads. Gnucleus 1.5 is under development, we are working on an internal browse file system |
|
|
|
Pending Patches | Thursday 10-11-2001 |
Current patches to be applied:
Hey! If you're a developer or just feel like helping me debug gnucs, compile it and let it in debug for a couple of days, when it crashes try to figure out why. |
|
|
|
Ident Improved | Wednesday 10-10-2001 |
I started documenting the Gnutella protocol, see the protcol section for more info. Changed the Ident code for IRC so now multiple Ident requests can be handled simultaneously. Helps in connecting to an IRC faster. | |
|
|
Homepage Revised | Monday 10-08-2001 |
I've put off making a main page long enough. SourceForge is great but I really need a site to orgainize and give credit to all those who have helped in gnucleus development for so long. I also need to start helping people become familiar with the code instead of just letting those master programmers out there figure it all out on their own. | |
|