Downloads:
Main mirror:
http://itsonlyme.neostrada.pl
ED2K links:
Version 0.40 - eMule 0.30e - using xml-lang
Binary:
ed2k://|file|emule0.30e[SF-IOM]-v0.40.rar|1144034|FD37352C998B3DE67C88B5FF9D23F7CA |/|sources,adiv.ath.cx:2762|/
Source:
ed2k://|file|emule0.30e[SF-IOM]-v0.40-src.rar|1219464|DA4FCEE232D2E3CB3294CD278850E4A0|/|sources,adiv.ath.cx:2762|/
Features:
[1] Share with subdirectories v2.5(Tag: "SLUGFILLER: shareSubdir"):
* When a directory is shared, all of it's subdirectories are shared as well.
* Only the root directory is saved in the dat files, the subdirectories are rescanned every time the shared files are reloaded or refreshed. As a result, the dat file is smaller than one where all the subdirectories are shared manually, and if a shared directory's subdirectories change(renamed, created, deleted, etc), the change will be detected the next time the shared files are refreshed.
* v2: To share a directory with subdirectories hold the ctrl key, otherwise the directory is shared without it's subdirectories.
* v2: Directories shared with subdirectories are now saved in a seperate dat file. The subdirectories themselves are still not saved.
* v2: Once a directory is shared with subdirectories you cannot unshare/reshare any of it's subdirectories, and the checkbox next to them disappears.
* v2: You can now share files from network shares without having to map them to a drive first.
* v2.1: Local drives appear before network drives.
* v2.2: Network drives load in another thread.
* v2.3: The incoming directory is shared without subdirectories by default and marking it causes it to be shared with subdirectories.
* v2.4: Directory listing for view shared directories request is now calculated according to the paths of the files shared, instead of the directories shared. This means that directories without shared files won't be sent, and subdirectories with shared files will be.
* The UNC shares box in the preferences can be used to add shared directories, but it doesn't show UNC directories already shared, and it can't be used to remove shared directories.
* v2.5: Added an option that allows configuring eMule to reload the shared files every set number of minutes, or 0 to disable(Off by default).
[2] Transfer whole chunk v2(Tag: "VQB: fullChunk"):
* Upload slot cycling is set to cycle only after 9.28MB(the size of a complete chunk) were sent, so that anyone downloading will get at least one chunk complete and be able to hash it and reshare.
* v1.1: A downloader getting a slot with the small-file boost will only download according to the size of the file used for the boost, and not a complete chunk.
* v1.1: No longer counts compressed packets according to their compressed size.
* v2: You can now choose if to always upload 9.28MB(VQB-style full chunk), or to simply upload only from one chunk(Tarod style full chunk), cycling when the user tries to start downloading the next chunk. To select Tarod-style full chunk transfer, use the checkbox in the Files preferences.
[3] Release slots(Tag: "SLUGFILLER: slotRelease"):
* You can set complete files to be release files. As long as there isn't a release file currently uploading, any request for a release file is auto-accepted. This ensures that at least one release file will be uploaded to one user at any given time, provided that there's at least one user requesting a release file.
* If a release upload is available, at least one of the two fastest slots in slot focus will be a release upload. If neither of the two upload slots with the highest score are release uploads, the release upload with the highest score will automatically be pushed up to be the second fastest slot.
[4] Detailed downloads:
* Confirmed download bar(Tag: "xrmb:confirmedDownload") - xrmb patch for showing in a download's progress bar how much of what was downloaded was already completed and hashed. Slightly modified code.
* See the needed chunks(Tag: "xrmb:seeTheNeed") - xrmb patch for seeing which chunks do sources need from you in the sources status bar.
[5] Spread bars v1.2(Tag: "SLUGFILLER: Spreadbars"):
* There is now a "progress bar" in the shared files list showing how many times was each part of a file uploaded.
* Uses black and blue colors, like the download progress bar. Black means never uploaded, light blue means uploaded a little, dark blue means uploaded alot.
* These statistics are saved in the known.met file, using a similar format to the saving of gaps in a part.met file.
* v1.1: You can now sort the files according to the spread bar. Uses a special sorting formula by VQB.
* v1.1: New column - File UL(Part): Estimates how many times a file was uploaded with consideration to how balanced the spread between different parts is.
* v1.1: New column - File UL(Simple): Estimates how many times a file was uploaded on average.
* v1.2: New column - File UL(Full): Estimates how many times a file was uploaded from start to end.
[6] Show comments(Tag: "SLUGFILLER: showComments"):
* Added option to indicate which files you set comments for in the Shared Files tab and in Transfers tab with icons.
* Recieved comments are now stored in a comment list for each file, instead of being stored in a single comment per user. As a result, a user can now send a comment for more than one file, and when the user disconnects the comments remain.
* Recieved comments can be viewed in the Shared Files tab, and are indicated with an icon.
* Comments and ratings for downloading files can be edited directly from the Transfers tab.
* New protocol extension allows downloading users to send comments to their sources, so users can now recieve comments for files they have complete.
[7] Bandwidth Throttler(Tag: "SLUGFILLER: BandwidthThrottler"):
* Bandwidth for upload slots is now assigned in a different manner, which makes the bandwidth limiting more accurate, and reduces packet overhead.
* There's a new option to also apply the upload limit to overhead packets, including packets sent to servers, instead of just to data packets.
* There's a new option to focus as much of the upload bandwidth as possible on as few slot as possible. Makes each individual slot finish uploading faster. The slots are sorted by score as an extension of the waiting queue, the slot with the most score getting the most bandwidth.
* Added a score column to the upload list.
* When the upload bandwidth is maximized, eMule now stops opening upload slots.
* A new option to display the total upload bandwidth measured with or without overhead.
[8] Advanced shares browsing(Tag: "itsonlyme: viewSharedFiles"):
* When browsing another user's shared files and directories, they are shown in a directory in the client details dialog.
* File lists of shared directories are only requested from the other user when you try to view their contents, rather than all directories being requested right away.
* Results from shared files requests are cached, so that the same directory or the list of directories aren't requested twice from the same user. They can, however, be requested again by right clicking on the directory you wish request again, or on the root if you wish to request the list of directories again, and then clicking on "Refresh".
* Option to browse own shared files as other users would see them.
[9] Virtual shared directories(Tag: "itsonlyme: virtualDirs"):
* It's possible to change the directory structure other users see the browsed files in by changing file paths to virtual directories, which are sent to other users in place of the real file paths.
* There are 3 forms of virtual directory mappings: Per-file - changing a file's path into a virtual one. Per-directory - changing the paths of all files in the directory to a virtual one. Per-directory with subdirectories - changing the paths of all files in the directory to a virtual one, and recursively converting all subdirectories into virtual subdirectories of the virtual directory. In case of multiple forms of mapping used on the same file, the most accurate applies(file, then directory, then closest parent directory).
* The virtual directories can be set through the mapping manager in the preferences.
[10] Safe Hash(Tag: "SLUGFILLER: SafeHash"):
* The ultimate fix against sharing corrupt downloads, or missing or having corrupt hashlists. See details below.
* Part file completion is done regardless of currently hashing known files.
* Temp files and their backups can't be shared, even if the temp directory is shared. Only temp files actually used by eMule and their backups are filtered, so other files in the directory can still be shared.
* Config files can't be shared, even if the config directory is shared. Only config files actually used by eMule are filtered, so other files in the directory can still be shared.
* Only complete chunks of part files are rehashed at startup, instead of the entire part file.
* If eMule is closed while a part file is hashing, it will now rehash at startup, instead of assuming it's been hashed.
* All part files hashing, including part finishing and ICH, are now done in another thread.
* Even though multiple files can be hashed simultaniously, only one chunk is hashed at the same time.
* Only hashed and verified chunks are shared. Completed chunks are shared only after they are fully hashed. File previewing also checks that the chunks are hashed, and not just complete.
* When a hashlist is recieved the part file is instantly hashed with it. Each already completed chunk is shared as soon as they are hashed.
* A part file doesn't wait for the initial hashing to complete before looking for sources and starting to download. It's only shared, though, after it's hashed.
* Only blocks which are currently gaps can be written to, data that has already been downloaded is discarded. This prevents finished blocks from being corrupted by overflowing data.
* Displays number of shared files not yet hashed in statistics, and the expected total number of shared files(including those not yet hashed) in the shared files list title.
* Better handling of part files with less than one chunk. Prevents alot of bugs, including a bug which could allow such a file to finish without it's hash being checked.
* The shared files are loaded last, so that the part files are already loaded and can be shared when the shared files first load. Also, when the shared files are sent to the server, the part files are sent in the same packet, instead of being sent one by one afterwards.
* All directories can be shared. Unsharing of eMule-used files is done per-file.
[11] Modeless dialogs:
* Multiple dialogs in eMule are now modeless, meaning you can open a dialog, and continue working with eMule behind the dialog with the dialog still open, instead of having to first close the dialog, then work with eMule.
* The client details dialog is modeless. You can open one dialog per client. Trying to open the client details twice for the same client will bring the previously opened dialog to the front.
* All three file details dialogs, for downloads, search results, and shared files, are modeless. You can open one dialog per file. Trying to open the file details twice for the same file will bring the previously opened dialog to the front. If a file is removed, its dialog will automatically close.
* The preferences dialog is now modeless. Clicking on preferences while the preferences dialog is already opened will bring it to the front.
* The dialog for browsing the shared files as other users would see them is modeless. Trying to re-open it while it's already open will bring it to the front.
* Fixed a bug where you could use ctrl+tab in the preferences window to switch between preferences tabs, but the selected tab wasn't highlighted properly. It is now highlighted properly.
[12] New Settings:
* Reconnect on LowID(Tag: "SLUGFILLER: lowIdRetry") - How many retries before accepting a low id(Default: 3).
* Infinite Queue(Tag: "SLUGFILLER: infiniteQueue") - Removes the queue size limit and allows your queue to grow as much as it needs to(On by default).
* Multiple Instances(Tag: "VQB: multipleInstance") - You can now choose to allow two or more eMules to run at the same time for whatever reasons you may have(Off by default).
* Hide overshares(Tag: "SLUGFILLER: hideOS") - This feature attempts to balance the amount of time different parts of each file are uploaded, by not revealing to other users parts that have been uploaded a certain amount of times more than others, making them only download the parts that have been uploaded less. It uses the data from the spreadbars to decide how many times each part was uploaded. It ignores, of course, any parts that either you don't have, or that the other user already has, so that at least one part that can be uploaded is always revealed to the other user. You can set the amount of times a part has to be uploaded more than others before it's hidden, or 0 to disable(Default: 5).
* Selective chunk sharing(Tag: "SLUGFILLER: hideOS") - You can choose to make hide overshares stricter by only revealing one chunk to each user, starting with the least uploaded chunks, and considering the chunks that were already offered when choosing the next. Hide overshares must not be disabled for this to work(Off by default).
* Share All(Tag: "SLUGFILLER: preferShareAll") - Tries to connect to servers which can index all of your shared files first, even if they have a lower priority compared to servers which can't(On by default).
* Upload Speed Sense(Tag: "ZZ:UploadSpeedSense") - Automatically tries to discover the available upload bandwidth and limit upload to that bandwidth(In addition to the manually set upload limit, not instead of). Upload limit lowered automatically will effect the download limit in the same way manually lowered upload limit does. Can be turned on or off, as well as configured in several ways.
[13] New Display options(Tag: "itsonlyme:displayOptions"):
* Display options introduced in SF-IOM have their own branch in the Extended Settings tree.
* Chunk mark dots(Tag: "SLUGFILLER: chunkDots") - The incomplete side of the progress bar has marks for where chunks start and end(On by default).
* Progress percentage(Tag: "HoaX_69: progressPercent") - The progress of a download in percents can be seen on top of the progress bar. Improvement of the one seen in official(On by default).
* Option to turn file system icons in shared files tab on or off(On by default).
* Added difference display to queue rank column. Whenever the queue rank for a source changes, the difference from the previous one is shown in brackets.
* Current permissions and upload priorities in context menus are now marked by check-marks.
* Fixed bug when adding a user to friends where the user's icon wasn't updated to show that the user was now a friend.
[14] General Bugfixes and Tweaks:
* File requests and reasks from sources now have an added random delay of up to 2 minutes to prevent connection peaks caused by all requests and reasks occuring all at the same time(Tag: "SLUGFILLER: spreadReask").
* Multi-layer sorting. If you sort a list by one column, then by another, the order of the sorting will be remembered, and when the items change it will fit the same order of sorting instead of just the last. Also, the sorting order is now saved in the preferences, so it's remembered even if you restart eMule(Tag: "SLUGFILLER: multiSort").
* Revamped multiple aspects of downloadlist sorting. Also, you can now sort sources without sorting the downloads by holding the ctrl key while clicking on a column(Tag: "SLUGFILLER: DLsortFix").
* You can now see your own UL/DL modifier in the client details dialog, next to the client's UL/DL modifier(In brackets). Also, in the download queue, sources that would see you in their upload queue with a credits mark are now shown with a credits mark(Tag: "VQB: ownCredits").
* Files under 1 chunk get a priority boost in inverse ratio to their size. A 1 chunk file(or above) gets no boost, and a 9.28k(1/1000 chunk) file(and below) gets the maximal boost of times 1000(Tag: "VQB: SFpush").
* The statistics of duplicate known files are now merged and the statistics of part files are now saved in the known.met(Tag: "SLUGFILLER: mergeKnown").
* When finishing downloading the last known chunk of a source, the source is set as on queue rather than as a no needed source, in case that source completed a new chunk in the mean time(Tag: "SLUGFILLER: noNeededRequeue").
* Downloads can take sources from search results and browsed user files(Tag: "SLUGFILLER: searchCatch").
* Servers which return a file as a search result get cached, and are later on asked for sources for the file first if the file is downloaded. Also, if a server returns as a search result a file already being downloaded, than that server is asked for sources for the file(Tag: "itsonlyme: cacheUDPsearchResults").
* If multiple files are selected while entering a new comment, the new comment is applied to all of them(Tag: "SLUGFILLER: batchComment").
* Added checks to startup timer, so that if the controls aren't yet initialized, even after the delay, it waits for another timer cycle until they are before trying to initialize(Tag: "SLUGFILLER: doubleLucas").
* Supports the mod-ID protocol. Also, client version usage in statistics can be expanded to show which mods are used by how many users for each eMule version(Tag: "SLUGFILLER: modID").
* Mod name and version is shown properly after eMule and it's version where-ever it's shown(Tag: "itsonlyme: modname").
* You can right-click a user in any list and select to view a list of all the files the user is a source of in a dialog. Also, in the status of A4AF sources you can see the file that they're asked for(Tag: "itsonlyme:reqFiles").
* Requested files, browsed shares and client details now appear in one dialog with tabs("itsonlyme:clientDetails").
* A column was added to the upload list and queue list showing the client software of the users(Tag: "itsonlyme: clientSoft").
* Up to 10 sources for a download are saved in the part.met, so if eMule crashs or it's restarted these sources stay, but only if the part.met was saved less than 24 hours before eMule was started again(Tag: "SLUGFILLER: saveSources").
* Users that haven't changed their default names will now be given new random names based on their userhashs(Tag: "xrmb:funnynick").
* Fixed bug in operations on multiple selected files, which sometimes caused not all files to be effected(Tag: "itsonlyme: selFix").
* Added an estimate to how much users on the upload list have to download before they complete a chunk and are cycled in a new column, along with a time estimate on how long it will take for them to download this much. Also added a new statistic showing a total of the remaining upload for users on premature disconnection, and the average per session of remaining upload(Tag: "SLUGFILLER: upRemain").
* Download is now limited not by the set upload cap, but by the session's upload. When download exceeds 3 times the session's upload, it's reduced to 1k/s. This maintains a steady 1:3 limit on the session UL
L ratio(Tag: "SLUGFILLER: sessionRatioLimit").
* Requested blocks are now clipped to chunk limits and maximal allowed block size. This prevents any exploits regarding block requests, and enables certain Hybrid versions to download from eMule where they previously couldn't(Tag: "SLUGFILLER: reqBlocksClipping").
* Moving the mouse over links in the messages tab no longer disables accelerator keys(Tag: "SLUGFILLER: hoverCaptureFix").
* Fixed clicking with the middle button on uploads/queue/client list. Now opens the client's details(Tag: "SLUGFILLER: middleButtonFix").
* Fixed a bug with array initialization which effected the available parts display and the estimated complete sources(Tag: "rayita: arraySetFix").
* You can now choose permissions for browsing shared files on a per-file basis, rather than just for all files(Tag: "xMule_MOD: showSharePermissions").
* Added option to automatically check and notify for newer versions of the mod(Tag: "itsonlyme: versionCheck").
* Changed the credits file format into an extensible met format, allowing extensions to the credit records(Tag: "SLUGFILLER: metCredits").
* If a user is removed from the queue without being uploaded to, the user's queue wait time is saved, and is restored when the user returns(Tag: "Moonlight: SUQWT").
Officially Implemented Features:
We stopped implementing these features because the official team either adopted them or came up with their own(better) versions. Don't worry, they're still in, the official versions of them, that is.
[1] Adjustable connections per five seconds(fixed, eMule 0.24):
* eMule 0.23 introduced a features which limits how many connections can be made every 5 seconds, so routers aren't flooded due to too many connections in too little time. However, the official client doesn't allow changing the limit. Now you can set whichever limit you choose.
[2] Check diskspace v1.2(adapted, eMule 0.30):
* Verifies all non-paused downloads have enough room in the temp partition to finish.
* If there isn't enough room, downloads are paused so that the remaining downloads do have enough room. Files with lower priority are more likely to be paused in favor of higher priority files. Files paused this way have a status of "Insufficient diskspace".
* Whenever a download is paused, resumed, stopped, or has it's priority changed, the free disk space is rechecked to see if previously paused files can be resumed, or new ones paused because of the current non-manually-paused downloads changing.
* v1.1: Rechecks the free diskspace every 15 minutes, just in case the free disk space on the temp partition has changed(files copyed, created, deleted, etc).
* v1.2: Can be turned on or off in the preferences(On by default).
[3] Detailed downloads:
* Gray paused downloads(adapted, eMule 0.30) - Inactive downloads(Paused, error, etc...) have gray-faded status bars.
[4] General Bugfixes and Tweaks:
* Shared file list is only flushed to the control itself after eMule has fully initialized. Prevents a crash at startup with Win9X. Based on the patch by Lucas(fixed, eMule 0.25).
* Server.met only read after the Servers tab has fully initialized. Extention of the patch by Lucas(fixed, eMule 0.25).
* Fixed a possible crash if the gap information in a part.met is corrupted, or simply not in a very specific order. Now uses more effecient code for reading an detecting errors in the gap tags(fixed, eMule 0.25).
* Fixed source exchange sending IDs instead of IPs. Now only sources with a valid IP are sent by IP(obsoleted, eMule 0.25).
* Part files without a hashlist are no longer shared as complete sources(fixed, eMule 0.26).
* CPU optimizations by Maella(fixed, eMule 0.26).
* NT/2K/XP users without a C drive couldn't see the directories control(fixed, eMule 0.27).
* When eMule starts the next upload it skips low-id users that aren't currently connected. If a low-id user should have gotten the slot, he is marked, and is automatically given a slot when he next connects(fixed, eMule 0.27).
* Files written to are now commited to disk before being closed(fixed, eMule 0.29).
* Known.met is saved after every upload is complete to preserve statistics in case of crash(fixed, eMule 0.29).
* Prevented crash bug caused by a failed connection attempt deleting the client object when starting an upload(fixed, eMule 0.29).
* Supports the completed sources protocol for showing the estimated amount of complete sources for shared files(adapted, eMule 0.30)
* Download links can contain hostname sources, instead of just ip(adapted, eMule 0.30).
* You can set your own hostname in preferences, and create eD2K links with sources with your chosen hostname instead of your IP(adapted, eMule 0.30).
* Estimated completed sources uses heap-sort instead of quick-sort, making it faster(adapted, eMule 0.30).
* Speed improvements made to the bar shader, making it display much faster than before(adapted, eMule 0.30).
* Fixed a bug causing low-id sources not to be counted properly(fixed, eMule 0.30).
* Fixed a bug in the obtained parts bar causing the last chunk to appear bigger than it is, and that it's non-existent end is never transferred(fixed, eMule 0.30).
[5] Safe Hash:
* Gaps are clipped to the file size when loaded. If the part file size is smaller than the expected size then the gap in the end is added in the case it's not already there(Can be caused by crash while flushing the buffer, or by outside modifying if the part file). Gaps are also added in a more controlled manner, which completely prevents gap overlapping(fixed, eMule 0.29).
* Fixed possible bug that only checks the first chunk of each written block for completion, even in the unlikely(but possible) case that two chunks are written to and completed at once(fixed, eMule 0.29).
* Added check when loading the part file to make sure the part file size doesn't exceed the desired size(In case it was enlarged by outside modifying). Prevents bug with both file completing and initial hashing(fixed, eMule 0.29).
* Loaded hashlists are not assumed to be valid, and are checked against the file hash. Prevents a case of using a corrupt hashlist due to part met file corruption(fixed, eMule 0.30).
* Closing eMule while files are still hashing no longer causes any crashes, and all threads exit quickly and safely(fixed, eMule 0.30).
* Only one known file is hashed at a time(fixed, eMule 0.30).
* Refreshing the shared files while files are hashing no longer causes these files to be hashed twice(fixed, eMule 0.30).
* Fixed handling of files which divide evenly into chunks, meaning the last chunk is 0-sized, to be compatible with eDonkey's protocol(fixed, eMule 0.30).
[6] New Preferences Tab(obsoleted, eMule 0.29):