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 |
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. |
Quote:
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:
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:
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:
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. |
Quote:
|
1 Attachment(s) Quote:
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:
I needed to restart MW for the changes to be reflected in the MW firewall status. Attachment 6982 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. :D 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. |
Quote:
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:
Quote:
Quote:
Quote:
Quote:
Quote:
|
Thanks for your answers. Is there a how to or other descriptive page for how to use Muwire? What is a Watched Directory? I forgot to ask about this. I notice you made some changes to this some hours ago in the code. I setup two watched directories but not sure what they actually do. :D I inititially thought a watched directory might detail search hits or upload counts, etc. I had hoped you might have descriptive contextual menus that describe what a particular tool does when you hover your cursor overtop the tool button. I realise this kind of concept might require a lot of work to add. From memory LW 4 used to have this ability and LW 5 had it to a lesser extent. Quote:
Looks like the OP/TS might be wanting the equivalent of what LW 5 had for private sharing between friends. Though the way LW 5 achieved it might become redundant in years to come such as linking with gmail. I cannot remember the specifics, just what gmail will be accepting in the future. I think there might be a guest comment about this at WSHR’s SF. |
Quote:
Quote:
Quote:
Quote:
|
Quote:
|
Quote:
Phex and I think BearShare used this style of shares listings. I was able to clean up the share list a little after being able to see it properly. This might be a big question, but how do we use the content filter? I find myself unable to add a term in the content control panel. What's the trick to adding the term? Might be an OS or OSX version specific issue. I found I was sharing Finder files such as .DS_Store which is a tell-tale of what platform a person is using. In some ways these files remove a small amount of anonymity. These could potentially be added to a built-in not-shared filter list of similar items for other platforms. They are OS specific and generally hidden files that serve no purpose outside of the specific OS and computer. IMHO these could be considered garbage files on a sharing network. LPE used LibraryUtils if I'm allowed to list this. :D (I would have used a WSHR reference except I've noticed the WSHR code linked bookmarks sometimes die (30-40% of mine.)) |
Quote:
Regarding the .DS_Store files I agree those should be excluded. I will look into adding some sort of filtering mechanism for such files. |
Quote:
|
Added exclusion of hidden files by default, together with "Browse Host" ability and few other features in 0.5.1. |
Uploads 1 Attachment(s) 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.) Attachment 6984 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? |
Quote:
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:
Quote:
Quote:
Quote:
|
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:
|
One important thing I should probably document somewhere is that if you drag an entire folder into MW it will share all files and sub-folders. You *cannot* then un-share individual files for as long as the parent folder has been dragged; those files will get re-shared on restart. That probably explains what has happened to you. If you have a folder and want to share only certain files from it, the way to do it is to drag only those files, not the folder. Alternatively I can add some filtering rules based on file type. |
Quote:
I'm thinking about how to solve this problem, i.e. remember which files in a shared folder have been explicitly unshared, but it will take some time. |
I forgot to ask, petty question but does MW show whether someone has browsed your shares? |
Quote:
I have certainly not drag & dropped the parent directory. That would be too much work to clean up. I suspect the problem might have been with the files I added prior to 0.4.16 where I needed to manually remove undesired files from shares. Though my memory is a little vague about the point in time I added the files to share. Interesting point you made about the adding a parent folder via dnd. That's not ideal when the unshared are not necessarily immediately unshared. |
Quote:
|
I'm not totally sure the difference. Quote:
|
2 Attachment(s) I was curious to try MuWire-0.5.4 so downloaded, but something odd happened. I was not sure if it was an installer or app so opened from download folder. After discovering it was an app I tried to quit but was given a warning about continuing to run. I copied the app to Applic. folder and tried to trash the app from downloads folder but received warning it could not be trashed because it was still running. I checked activity monitor but could not see anything that I identified with MW. Attachment 6985 Attachment 6986 Some minutes later I was finally able to see a Remove from Dock option which had not been there previously. (I should have shown the dock menu options portion which only had an option to add to Dock, not remove.) These symptoms might have partly been due to not running from the formal Applic. folder in the first place. Comment: Whilst the keep in tray (but running in background) has been in the Windows OS for many years, I've personally never heard of this for MacOS (with exception of a server app.) After restarting MW I found it did quit properly after using the (new) exit command. 2. I noticed I had redownloaded the netshare 0.5.2 overnight. After the above restart it is presently attempting to redownload it yet again but with a connecting status and eta of unknown. 3. The mp3 influx has returned for this restart. It's tiring removing them all. :D It might be easier to totally remove all of those particular folders and re-add via dnd selected files. |
Quote:
I'm running MacOS and VLC and Skype have system tray icons, so I thought it was a more accepted practice. I can add a configuration option to not minimize to tray if that will make things better. Quote:
Quote:
|
Quote:
From a personal note I'd prefer a config option not to go to tray/dock. Personally I simply Hide the app if I don't want the gui showing, standard practice. Command H All running gui apps on OSX will have a listing in the dock/tray. For ease of access and opening people may choose to retain the app in the dock. During installation some apps will permanently put themselves in the dock which requires manual removal. I consider that an arrogant install attitude. Could you imagine a dock with 150+ apps lol. I've seen something similar and it's confusing and somewhat pointless. |
1 Attachment(s) How does this look? I thought it's more clear to present the user with the option upon closing. I will of course put it in the options too. Attachment 6987 |
That's fine for me personally. :D |
Keep in mind that if MW is closed to dock, there is no way to quit the program. The Quit command simply gets stuck in a loop. There is also no way to get MW gui to show. That makes it very different to the hide command. The only way I was able to quit the program was using the force quit command using a utility. This does need to be improved. Potentially needing macos specific commands. Unless you switch the quit and exit commands. (Presently the exit option is only available on the gui.) Also the program's active name shows up as Launcher (not referring to the Dock.) |
Quote:
Actually what happens is MW takes a very long time to shutdown sometimes up to 2 minutes. I've made some changes in git to significantly speed that up, the next version should take no more than a few seconds. Unfortunately after Command-Q has been pressed I cannot show any more windows, so I can't display the "MuWire is closing please wait" dialog. |
MuWire 0.5.5 is out. It contains many of your suggestions LOTR as well as several important fixes. Shutdown is immediate and works when hiding the app in MacOS as well. Full changelog: Core: * Fix a serious bug in piece size calculation. Re-sharing required * Upload slots management * Faster shutdown * Fix re-sharing of a file inside a shared folder upon restart * Stricter checking of results and headers GUI & CLI: * Do not clear uploads automatically by default * Show upload speed * Show search hit counts and downloader counts per file * Show how many times you’ve been browsed * Better close prompt on Windows and Mac |
Shutdown is just 3 or 4 seconds or so. That's a dramatic improvement. Now I can shutdown immediately. Likewise closing to the tray (Dock) the quit is fast. I guess it's not important but the hide/show command simply lists the Launcher in the menu bar but no gui. Description for options to close is fine. Still getting the same netshare 0.52 version downloading each time I re-open MW. I am not sure about the re-sharing of folder contents because I decided to remove and re-add via selected files. Extremely happy to see the upload slot options. Lots of programs default to system drive and user account. I personally don't use the system drive for anything other than the system and apps, etc. An approach I've used for about 20 years (with odd exceptions). To access the other drives I need to get to root and find volumes. This was relatively easy to do from my first use of MW. But it might confuse some MacOS users who may have alternative drives (yeah I realise most mac users these days use single drive devices such as MacBooks, etc. but some may also use external storages.) I just thought I might bring that point up that the menu system does not have an option to show volumes using a button. Or am I missing something. It's not dramatically important. |
Quote:
But as I suggested this is a very minor thing for MW, the option to find volumes exists. |
Quote:
Quote:
If you want to try the Mac look-and-feel change "nimbus" to "system" and restart. Note that some things may not look very pretty, at least the close button on the search tabs looks weird. |
Quote:
By the way (1) what is the standard KB/s overhead for running MW? (2) what is the typical upload and/or download overhead? |
Quote:
On my Mac (Mojave 10.14.6 + Java 8) the directory choosers do not open at all, in fact they crash the gui. That is unfortunate because I would love to switch the default look-and-feel on Mac to "system" Quote:
The bundles available for download on muwire.com come with their own java which is version 11. MW wouldn't work on java 6 at all. Quote:
I don't really know, but there is overhead with encryption and padding. In addition, I2P routes traffic on behalf of other users, that's how it achieves anonymity. But whatever the overhead, the total BW at system level should not exceed the bandwidth limits set in the options. |
Quote:
Quote:
Quote:
|
Quote:
Code: $HOME/Library/Application Support/MuWire/gui.properties Code: lnf=metal Quote:
Quote:
|
0.5.6 is out. Notable features: * Added support for "Sidecar" files. More info https://github.com/zlatinb/muwire/wiki/Sidecar-files * Moved to Java 13 * Added system status panel that shows memory usage and Java version * When there is an update available, a message window with description of the update will popup * On Mac, the toolbar should now say "MuWire" * Fix changing of font size |
Quote:
/Applications/MuWire.app/Contents/MacOS/muwire-mac.sh: line 6: jre/bin/java: cannot execute binary file /Applications/MuWire.app/Contents/MacOS/MuWire.jar -bash: /Applications/MuWire.app/Contents/MacOS/MuWire.jar: Permission denied Note: I'm on os10.11. A limitation of my hardware-firmware re: upgrading. Quote:
Quote:
Quote:
Quote:
Quote:
I had noticed it's possible to dnd from iTunes directly to MW. One occasion I noticed after removing the files so I could rename them (the physical files), I was unable to re-add them via the same dnd process with iTunes. Possibly because iTunes had not yet updated its references. So now I wait until the files have been renamed before adding either via iTunes or direct dnd from a folder. I thought for music it might be best to rename the file starting with the artist, album and song title in that order. It's sort of based on the method used by priv torrent sites for torrent titles. |
Quote:
It's an instant startup fail which leads me to think you might have forgotten to change something. I suspect you might have forgotten to change a reference. Perhaps renaming the name (or version) of the launching app. Although the plist file looks ok. CFBundleShortVersionString 0.01 I don't know if that's correct? Or perhaps forgotten to change the internal java version reference (though I see there's a reference to 13 in the jre folder)? Generally most of what you have allocated into the MacOS starter folder usually goes into the Resources folder of the package so it's a new approach to me. Might help explain why the plist file is relatively small. But a PkgInfo file appears to be missing that would normally be alongside the plist file for most apps. First time I've looked at the contents so I cannot compare with a previous version. However I think I saw a reference in the plist file that would normally be in the pkginfo file. There appears to be a lot of references to mail within the app. Does that mean the dev(s) are monitoring everyone's MW (and system)? |
Quote:
I apologize about this, and about the "unidentified developer" warning. I really need to get my Apple developer membership sorted. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
Quote:
Quote:
That inspires another question. What chances are there of my MW finding search results from other ip2 clients in other groupings/communities, etc. or vise versa? Example i2phex. The Trust feature I find to be a difficult concept. How can I be certain a host is not a honey-pot investigator even if the files appear to be fine? |
Quote:
Yes, the comment system as well as everything shared on MW is only visible to MW. Quote:
Quote:
|
Quote:
Sorting the apple developer certificate was easier than expected :) So now the bundle on the site is signed and no longer shows the warning. I will work on making it a .dmg eventually. |
Quote:
Quote:
Quote:
I guess that does bring in the Trust factor concept about the accuracy of sidecar files. But once in a while a person might also make an honest mistake. Any possibility of adding interactivity with the uploads window? Things like right-clicking with options such as view file information, find in library, find on disk, etc. This is particularly relevent if a shared file is simply "song.flac" and your library has multiple files of same song but different versions (such as live/studio/rehearsal, jam, etc.) Probably due to the way uploads are listed via Java, the uploads listings are difficult to select for more than a second or two. |
Quote:
That puzzles me, 0.5.6 should download a mac-specific update file called "MuWire-mac-0.5.7.zip". Can you open the file ~/Library/Application Support/MuWire/MuWire.properties and tell me what the "updateType" property says? Quote:
What you describe is a big issue and I don' t know if a perfect solution exists. Comments in MW only "travel one hop". But I'm working on a new feature which will help when people rename the files they download, amongst other things. More details here https://github.com/zlatinb/muwire/wi...e-Certificates Quote:
I'll look into it. The selection thing is fixable for sure, I just never thought the uploads window would need to be interactive so didn't bother to preserve the selection across updates. |
Quote:
I had thought the download updates issue had stopped. But I noticed I downloaded two 0.5.7's and 0.5.6 was in that attempting to download with unknown eta status. |
Can you stop MuWire, change the value of the updateType property to "mac" (without the ") and start MuWire again? About a minute after startup it will query the update server and should start downloading the right update package. |
1 Attachment(s) First time I've seen a macupdate in the downloads window. But looks like it will be some time before I get it. :D I presume I receive a popup message after completion. Attachment 6990 |
Appears to have finished downloading. But no notifications. Or do I need to restart? |
All times are GMT -7. The time now is 02:47 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.
Copyright © 2020 Gnutella Forums.
All Rights Reserved.