Gnutella Forums  

Go Back   Gnutella Forums > Gnutella News and Gnutelliums Forums > General P2P Network Discussion
Register FAQ The Twelve Commandments Members List Calendar Arcade Find the Best VPN Today's Posts

General P2P Network Discussion For general discussion about peer-to-peer networks.


Like Tree2Likes

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old September 28th, 2019
Enthusiast
 
Join Date: September 28th, 2019
Posts: 47
zlatinb is a great assister to others; your light through the dark tunnel
Thumbs up MuWire - an anonymous P2P app

Hello there,


I am the developer of MuWire, an anonymous file-sharing application inspired by LimeWire (I used to work for LimeWire LLC btw). MuWire uses the I2P network to hide the ip addresses of its users. Other than that it's a lot like the LimeWire 4.x series.


You can download Windows and Mac bundles at https://muwire.com
If you want to build from source, it's available at https://github.com/zlatinb/muwire
If you want to learn more about how MuWire achieves anonymity, visit the I2P website at https://geti2p.net


Enjoy!
zlatinb


Edited by Lord of the Rings:
This specific project closed down but the network is still actively functional. Programmed in Java.
Download links:

https://www.mediafire.com/folder/o1w0y2awe7t95/MuWire

Windows: MuWire-0.8.14.latest.zip
Linux: MuWire.0.8.14-beta2_Standalone_with_AutoPeerDiscovery_Updated.i2 p.v2.5.2_20-05-2024.tar.tar.xz
MacOS: MuWire-0.8.13.dmg (requires at least OS 10.12)
Reply With Quote
  #2 (permalink)  
Old October 2nd, 2019
Lord of the Rings's Avatar
ContraBanned
 
Join Date: June 30th, 2004
Location: Middle of the ocean apparently (middle earth)
Posts: 666
Lord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputation
Default

Good work.

1. I’m curious, what is the search horizon with this system?
2. How long can a search be expected to run for? (I'm never sure if the search has finished or not.)
3. How many peers does a leaf expect to connect to? Or does i2p use a different system?
I noticed I had over 10 connections at one point but that increased to 17 after a couple of hours.
4. I presume the program has UPnP support? I setup port forwarding after a short period of time. I presume the MuWire port will remain the same.


Be nice to see a drag and drop system for sharing. Reason is because from a personal note, I often have multiple file types within the one folder and only wish to share one of those types. For example, I may have either AIFF/FLAC/ALAC within the same folder as mp3 or m4a files. Folder sharing does not allow the exclusion of one or the other. Likewise I may wish to share just a selection of videos from a video file folder, not all the video files. There's also the safety/security issue of accidental sharing of private files within the same folder for some people. Probably less likely people will choose their default user account downloads folder as with other sharing programs/networks. But if drag and drop is added, a method to remove individually shared files would also need to be added. In case of accidental addition or other reasons.
Reply With Quote
  #3 (permalink)  
Old October 2nd, 2019
Enthusiast
 
Join Date: September 28th, 2019
Posts: 47
zlatinb is a great assister to others; your light through the dark tunnel
Default

Quote:
1. I’m curious, what is the search horizon with this system?

Unlike Gnutella queries travel only 1 hop, but to compensate for that the fan-out factor is much higher. I've set it to 512 now, although that might bump into some built-in I2P limits.


So theoretical maximum for an Ultrapeer would be 512 * 512 * 512 + 512 = 134218240 but of course in reality it would be much, much lower.


Quote:
2. How long can a search be expected to run for? (I'm never sure if the search has finished or not.)

There is no dynamic querying so there is no way to know when a search has ended, but in reality queries reach the entire network very quickly. If you are receiving many results back from a single responder that could take a bit more time. I would say 20 seconds maximum, give or take.


Quote:
. How many peers does a leaf expect to connect to? Or does i2p use a different system?

Leafs are not implemented yet so everyone atm is an ultrapeer. Now, MuWire connections are different from I2P-level connections (you can see those in Status->I2P). I2P connections are capped depending on configured bandwidth but max out at close to 2000. For MuWire-level connections you will basically try to connect to everyone you learn about, and there aren't that many nodes on the network right now.



Quote:
. I presume the program has UPnP support? I setup port forwarding after a short period of time. I presume the MuWire port will remain the same.

UPnP is "outsourced" to the I2P router. It tries to map a random TCP and UDP port, which you should be able to change through the settings. However, all the firewall traversal business is handled by I2P as well; nobody at the MuWire layer is firewalled, so everyone can be an ultrapeer.


As for the other suggestions I agree the library management can be improved a lot and I will get to it eventually. The first public release was just a few months ago as you can see from the git history.
Reply With Quote
  #4 (permalink)  
Old October 13th, 2019
Enthusiast
 
Join Date: September 28th, 2019
Posts: 47
zlatinb is a great assister to others; your light through the dark tunnel
Default

Quote:
Be nice to see a drag and drop system for sharing.
Implemented in 0.4.16
Lord of the Rings likes this.
Reply With Quote
  #5 (permalink)  
Old October 13th, 2019
Lord of the Rings's Avatar
ContraBanned
 
Join Date: June 30th, 2004
Location: Middle of the ocean apparently (middle earth)
Posts: 666
Lord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputation
Default

Quote:
Originally Posted by zlatinb View Post
Implemented in 0.4.16
Thanks and well done!

I think it's a bit early to ask at this point but it would be nice if there were view options for shared files. With long directory paths it can be difficult to see the specific file names.


1. How important is firewalling in both i2p and with Muwire?

I'm not sure how much relevance UDP has with i2p since afaik i2p is mostly tcp based.

I've noticed Muwire does not prompt to be added to the OSX firewall exceptions. I needed to add it. If this level of firewalling was important I guess you would build-in a prompting for Muwire to be added to the firewall exceptions. (Not sure it makes a difference but I guess there might also be the issue of different firewall variations OSX has developed.)
Quote:
Originally Posted by Lord of the Rings View Post
...
4. ... I setup port forwarding after a short period of time. ...
I realised I had inadvertently setup a pf rule using the wrong setting; there's 20+ devices, accounts or os's to select from. After discovering MW status was firewalled.

I needed to restart MW for the changes to be reflected in the MW firewall status.
MuWire - an anonymous P2P app-muwire-firewall-status-ok.png

2. How often does MW check the firewalling status?
LW used to check the status on a frequent note at least early in the session.

3. Search extra hop - does this put extra strain on the network? I'm guessing this is a very rough equivalent of OOB?
Or a cheeky pushing of the protocol.

4. Are id3 or equivalent tags used in any way in regards to advertising files?
From what I can ascertain from your earlier answer, only the literal filenames are used.
Reply With Quote
  #6 (permalink)  
Old October 13th, 2019
Enthusiast
 
Join Date: September 28th, 2019
Posts: 47
zlatinb is a great assister to others; your light through the dark tunnel
Default

Quote:
Originally Posted by Lord of the Rings View Post

I think it's a bit early to ask at this point but it would be nice if there were view options for shared files.

I've been thinking of a tree-based representation, but it wouldn't be the default. Reason is, the JTree structure is much slower than JTable and if there are many shared files (as in tens of thousands) the gui would get very slow. I will add it at some point though.


Quote:
1. How important is firewalling in both i2p and with Muwire?
As far as MW is concerned nobody is firewalled, because you can reach any MW node regardless of their physical firewall-ness status. But for i2p, if you are firewalled you will participate much less in the network and hence get much less cover traffic, which is worse for anonymity. So it's a good thing to not be firewalled.


Quote:

I'm not sure how much relevance UDP has with i2p since afaik i2p is mostly tcp based.
The I2P router uses UDP when available (the number of "SSU" connections are actually UDP connections to other I2P nodes). As usual, UDP is slightly faster and lower overhead than TCP.


Quote:

I've noticed Muwire does not prompt to be added to the OSX firewall exceptions.
Agreed that having this ability is important, but it requires me to write native code and I'm not particularly good at that. Nevertheless I hope to get to it at some point.


Quote:
2. How often does MW check the firewalling status?
Checking is outsourced to the I2P router which checks shortly after startup and then on average every 13 minutes.



Quote:

3. Search extra hop - does this put extra strain on the network? I'm guessing this is a very rough equivalent of OOB?
This setting is relevant only if "allow only trusted connections" is enabled. What happens is that if you allow only trusted connections, MW will only connect to those whom you have marked as "TRUSTED". In order to prevent your queries reaching untrusted nodes, in trusted mode queries travel one fewer hop. The "extra hop" setting overrides this behavior. See this GitHub ticket for a discussion on the issue https://github.com/zlatinb/muwire/issues/6


Quote:
4. Are id3 or equivalent tags used in any way in regards to advertising files?
From what I can ascertain from your earlier answer, only the literal filenames are used.
At the moment no id3 tags or other metadata (like comments) is used when searching, and it's not trivial to do so. Sure, I can copy/paste the id3 parsing from LW, but the underlying plumbing requires some more in-depth changes and design decisions.
Reply With Quote
  #7 (permalink)  
Old October 19th, 2019
Enthusiast
 
Join Date: September 28th, 2019
Posts: 47
zlatinb is a great assister to others; your light through the dark tunnel
Default

Added exclusion of hidden files by default, together with "Browse Host" ability and few other features in 0.5.1.
Reply With Quote
  #8 (permalink)  
Old October 25th, 2019
Lord of the Rings's Avatar
ContraBanned
 
Join Date: June 30th, 2004
Location: Middle of the ocean apparently (middle earth)
Posts: 666
Lord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputation
Default Uploads

Finally witnessed an upload.
Would it be possible to add upload speeds per file and overall?

The upload process reminds me of how Phex and BearShare display uploads, listing in regards to pieces; once a piece is uploaded the upload vanishes for between a fraction of a second to a second and starts a fresh piece. Watching uploads in Phex confused me for several years (mainly because more than one listing of same upload might be visible simultaneously but not the only reason.)

MuWire - an anonymous P2P app-muwireupld-2019-10-26.gif
The sample image is over a period of a couple of minutes.

But I have no idea whether I'm uploading at 5 KB/s or 500 KB/s.

The bandwidth setting is not super clear. It is not clear whether inbound and outband bandwidth is to do with overheads or uploads and downloads or a combination. Either way it seems a little odd that a restart is required after changing the bandwidth settings (unless it is inclusive of overheads.)

An ability to change upload (and download) bandwidth on the fly with immediate effect would be beneficial if this is possible. Also upload slot control. What happens if 400 people suddenly wanted to download from me?

I would also like to eventually see the ability (option) to retain upload listings rather than the default of removing their listing once completed.

Also the Library does not list what files might have been uploaded or search hits in either Tree or Table mode.

I'm a little confused about finding two Muwire (same version) downloads in the Download window. Is this some kind of network distribution for updates? But why two?
Reply With Quote
  #9 (permalink)  
Old October 26th, 2019
Enthusiast
 
Join Date: September 28th, 2019
Posts: 47
zlatinb is a great assister to others; your light through the dark tunnel
Default

Quote:
Originally Posted by Lord of the Rings View Post

The bandwidth setting is not super clear. It is not clear whether inbound and outband bandwidth is to do with overheads or uploads and downloads or a combination. Either way it seems a little odd that a restart is required after changing the bandwidth settings (unless it is inclusive of overheads.)

The bandwidth setting is the total bandwidth that the application is allowed to consume, including any I2P overhead. Because I2P encrypts and adds padding sometimes, the effective speed of a file transfer will be lower than what is in the setting.


I will look into making it possible to change the bandwidth setting without a restart.


Quote:
Also upload slot control. What happens if 400 people suddenly wanted to download from me?
I will look into adding that too.


Quote:
I would also like to eventually see the ability (option) to retain upload listings rather than the default of removing their listing once completed.
That is very easy to do, but I'm concerned that the uploads table will fill up very quickly. Pieces are pretty small and you would have a separate row for each piece of a file you've uploaded.



Quote:

Also the Library does not list what files might have been uploaded or search hits in either Tree or Table mode.
I'll look into adding that too, it will be in the Table mode.



Quote:

I'm a little confused about finding two Muwire (same version) downloads in the Download window. Is this some kind of network distribution for updates? But why two?
Yes, those are the in-network updates, but there shouldn't have been two of the same file. It's probably a bug.
Reply With Quote
  #10 (permalink)  
Old October 26th, 2019
Lord of the Rings's Avatar
ContraBanned
 
Join Date: June 30th, 2004
Location: Middle of the ocean apparently (middle earth)
Posts: 666
Lord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputationLord of the Rings has a distinguished reputation
Default Possible Library bug

I decided to shutdown overnight. Upon re-opening I discovered mp3's had found their way into my library shares. I am guessing this might have been due to some changeover process during the update?

On one hand I had added some folders and removed the mp3's and AIFFs. Later version I drag & dropped specific files from folders. For MW to add the entire folder's contents suggests a possible problem? I needed to go through and remove the mp3's from almost every folder. The more recently added files (& their folders) were unaffected. It's my estimation the problem was with the original files I added to shares.

Here's the ugly part. I discovered folders I had never added to shares under the same parent directory. For example a folder called Unknown.

Quote:
Originally Posted by zlatinb View Post
Yes, those are the in-network updates, but there shouldn't have been two of the same file. It's probably a bug.
Both downloads were identical size, only difference was different number of hosts downloaded from.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 11:42 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.