EMule 0.60a
forum.emule-project.net
forum.emule-project.net
So much drama with leecher mods (leecher was negatively connotated in regards to the ed2k-protocol) that tried to download more than uploading or upload to clients only that had proven to pay back with higher speeds. But also really innovative ideas like downloading from clients that used a thin HTTP server within the client, leveraging your ISPs proxies (Webcache/Peercache feature) for higher download speeds. Also so many discussions where the network should be heading with the main Client devs famously mute in regards to those discussions and drama.
The main benefits of eMule/ed2K, compared to torrenting, were file discoverability (serverless thanks to Kad search) and longetivity of files. It was actually relatively hard to find a file that was dead, because people kept sharing as long as they downloaded, often much longer. Download speeds were much slower than Torrents, even back then, and that was an advantage because that kept so many files alive. Great times that basically ended because of „p2p sheriff“ companies, Torrents and the dawn of One Click Hosters like Rapidshare that promised privacy and better download speeds.
To this day I am wondering if eMule would still have an active userbase if it had some sort of mechanism that (via opt-in) allowed clients to download from trustworthy „friends“ only and pipelined those downloads from the „public“ ed2k network through these friends and their friends' networks. Yeah, may be a bad idea but to my knowledge never really got explored.
1 or 2 years ago I installed it, connected to the network (nodes? meganodes? forgot the terminology), and activated somewhere the parameter to be verbose about the incoming search queries => A LOT of nasty porn stuff being searched (I therefore quickly shut down and uninstalled everything, brr) => it's a pity, but thinking about that later maybe they were just automated queries or similar submitted by police & Co. to search for illegal videos, who knows.
My trick back in those days was to make an inverted filter. Instead of trying to blacklist the sheriffs, I white-listed peers.
Back then I was with an ISP that had an unusually large number of "peering" connections that were unmetered -- they wouldn't count towards the monthly download quota.
I tracked down the IP subnets for each peering company and then wrote a little program that would block everything except peered network ranges. This worked surprisingly well! Despite filtering out 95% of the Internet, my connections were short-range and high bandwidth, so I actually had slightly better download speeds -- and no more scary emails.
I did feel bad about one thing though: I couldn't figure out how to invert the subnet list efficiently, so I made a 4-billion entry bit vector (just 512MB!), flipped the desired ranges, and then exported from that.
I can feel my CompSci University professors shaking heir heads in shame.
I miss that (well I guess this post says I can still use it).
This is what RetroShare does.
Magnet links apply to an entire collection of files, as snapshotted by the creator. There is no way to pick a single file and refer to it, immutably. It's all or nothing. Additionally, metadata besides the file contents will change the hash. This includes filenames, directory structure and piece length (chosen at snapshot time, by the creator).
All of these limitations are enough in practice to make magnets useless for widespread per-file distribution.
http://bittorrent.org/beps/bep_0003.html#info-dictionary
There are some things, beyond the content of the file, that will change the hash:
- Path of the file (nature_documentary.avi vs root/nature_documentary.avi)
- Name of the file (nature_documentary.avi vs nature_doc.avi)
- The pieces length
Trackers are added in the magnet link by adding parameters to the URI: see http://bittorrent.org/beps/bep_0009.html
Edit: in fact, my hasty, belated and superficial skimming suggests that IPFS is an implementation of just a DHT (presumably with some metadata and chunking built in)—i.e. it keeps data itself in about the same way that Bittorrent stores torrent descriptions in the Mainline DHT.
So I opened up the window that shows all the file names of the tv show I just added to the download queue, and most of them very explicitly hinted at child porn. I freaked the hell out and nuked the whole installation, deleted everything, overwrote empty parts of the disk with zeros. It just downloaded a few kilobytes of a couple hundred MB, but still... I just thought what would have happened if I hadn't remembered that file name thing and would have found out when trying to play the damn file after downloading it. So probably not gonna use it again anytime soon.
when something so bad and rare is used as scapegoat for so many unrelated things as part of a fascist power grab, that everyone rather run away than to report when the actual crime happens to the authorities?
makes you wonder how much all the 'think of the children' knee jerk legislation actually helps anyone, besides the politicians
https://arstechnica.com/tech-policy/2012/04/the-hidden-side-...
https://www.usatoday.com/story/news/2016/01/21/fbi-ran-websi...
In fact, it is arguably _more_ useful than BitTorrent on the majority of files people might share. You see, with BitTorrent, you typically share few files, and mostly the ones you just downloaded. There is little incentive to actively seed thousands or tens of thousands of files you don't even know are interesting to people.
With the ED2K protocol, the premise is that you share a lot: complete directory structures, and you search your many hashes when others make a request. That is more or less _the_ way to share collections of items/files/media/etc (other than, perhaps, running your own tracker which shares every file in your sharing directories separately).
The download took about 2 weeks to finish. Couldn't find it anywhere else, only on eMule.
I might have to install it for old time's sake.
aMule itselfs gets updated even less, but hey it works.
I haven't been looking at torrents for ages, mostly because local LEO partnered together with extortion lawyers made it uncomfortable over where I live. Literally extortion in this case, as the legal firms in this business sent blackmail letters to people who's IP addresses had been seen as part of a torrenting activity to either pay a ridiculous settlement fee or go to court.
Youre right though in that its generally a good idea to stay anon when torrenting.
Then you should consider torrents over I2P: https://geti2p.net/en
(Ironically, when I tried downloading fresh Ubuntu with desktop Transmission, it froze for a rather long while, presumably due to the near-two-thousand peers.)
With an infinite number of peers, 0% of the traffic would be actual file chunks. 100% would be bookkeeping.
I guess that's a long winded way or saying that the issue probably wasn't with the number of peers.
As usual, it's all about knowing your threat model.
They are only going after the low hanging fruits, it's not about catching everyone or doing deals with VPN providers located in some hard to reach country.
That being said, there are VPN providers who guarantee that no logs are kept (I believe ProtonVPN does this) and are extremely privacy-oriented. I am inclined to believe these companies, if all I'm doing is pirating a few movies.
Hosting providers that sell bandwidth to VPN services could easily log traffic.
There have been numerous cases where ‘No logs’ VPN providers have been caught logging details. See the recently exposed logstash breach.
The EU on the other hand has mandatory data retention, but it seems that this has been challenged be several countries, according to https://www.eff.org/issues/mandatory-data-retention
My previous experience with native dev is that every platform requires 1000s of lines of platform specific setup and then special code all over the place and further I need deep familiarity with all the different platforms' APIs
On Electron, if I start on Mac (you can start anywhere), it's
npm init -y
npm install --save-dev electron electron-builder
git add .
git commit -m "initial commit"
./node_modules/.bin/electron-builder
Then I ssh to a linux box, clone the repo and npm i
./node_modules/.bin/electron-builder
Then I ssh to a windows box, clone the repo and do exactly the same thing.I just created all 3 apps. On each platform the file is setting in the 'dist' folder as a .dmg in Mac, an .exe on Windows, an .AppImage on linux
No other installs needed (just node), no installing 57 standard or custom libraries and runtimes. no sudo apt install for dependencies. No setting environment variables telling various compilers where they can find stuff, don't generally even have to run my code on the other platforms even, an app pops out and I'm done. And, if I've written tests they'll generally work similarly, "npm test", zero friction, zero extra things to worry about.
If someone want's to beat Electron those are the features they need to provide.
You made a whole case for things that make your life easier. Any remnants of interest for what would be in the user's interest? Let's not kid ourselves, you saving some effort is not for the user more than say charging double for your software is.
But perhaps that should be left in the hands of software engineers.
The closest thing that exists is probably this: https://platform.uno
I don’t have hands-on experience though, only read their web site and watched a couple of videos.
And I’m not sure they have live visual debugger, it might work on Windows when using Visual Studio 2019, but I would be very surprised if they ported that to the rest of them, it‘s relatively hard to accomplish.
GP mentioned styling and visual debugger.
Styling is needed for projects where you have a professionally-made GUI design on input (i.e. Photoshop or Illustrator or XD, or much less often non-Adobe equivalents), and want to make GUI close to that design. Such projects often include custom UX in addition to custom GUI, like animated transitions or decent touch screen integration for custom controls.
Similarly, visual debuggers are only needed when you have very complex GUI, and/or non-trivial UX code.
Other typical requirements for high-quality GUI are internationalization (Unicode all the way down including these surrogate pairs and ideally colored fonts, support for right-to-left languages), and good DPI scaling (this requires vector graphics for assets instead of bitmaps).
I don’t like Electron nor JavaScript, but I have to admit they are often the best tool for the job.
QT is close, but requires C++ with all the unsafe shenanigans, and depending on the project the license can be expensive.
All of this while being written mostly in a strongly typed, functional, ML-like high level language.
Calling OCaml an ML-like language is like calling Common Lisp Lisp-like; it is literally the main ML these days with SML a distant second.
Users don't care about the technology under the hood, and the compatibility can be achieved in any number of ways not just one bloated framework. Developers use this because it makes their life and job easier. But it's still the users who foot the bill one way or another.
It's as compromised as basing every road vehicle on an 18-wheeler platform because this provides the compatibility between all transportation types, a truck can be used for commuting but a subcompact can't be used for freight. Then you ask the drivers to foot the bill for the extra resource consumption or adjusting the infrastructure to accommodate the new and improved "cross-platform" vehicle.
I believe a lot of the appeal of electron is that e.g. Linux users gets a version at all, which they wouldn't for plenty of products if it would have to be custom built. Most users don't constantly switch the OS platform, consistency across OSes is of little importance to them.
The only time I am ok with inconsistent cross-platform is between desktop/mobile because the UX and means of interaction are fundamentally different.
Electron is a middle ground (that if I can avoid it is better) but sometimes ease to use prevail on ressource-hungry applications. The other alternatives (imgui, vulkan, etc.) seems complicated at best and I am not familiar in of with GTK/Qt port on Windows/OS X to know if they are a pain in the ass to develop with.
Most "normal" users are usually running very homogeneous systems (the average office worker doesn't get to choose whether they want a Mac Book, a Windows PC or a Linux workstation), where the difference would only be between work & private computer use - but I think, most people (again, developers and maybe designers excluded) have little overlap in the tools they use at work and at home.
Electron is the native-ish sequel to the everything-is-a-web-app movement, I suppose. That has similar motivations (also makes everything no-install, super portable), and for plenty of tasks it's good enough, as computers these days are massively over-powered for lots of general tasks.
It's kinda unreasonable to put restrictions on the users in order to achieve that. I mean, your slack team might not even be around by the time such displays are introduced. Why force the users to jump through hoops for such a silly reason? 90% of the time they're just going to resize whatever image they have in the quickest, dirtiest way to meet the system's arbitrary requirements.
It seems like there's a pretty simple malicious-compliance solution for your problem...
Bonus points for using http://jpegify.me/
eMule comes from an era when all applications were native and 1GB of RAM was considered extravagant.
An era without walled gardens.
People had websites and blogs.
The technology was bolder. The algorithms used to accomplish heavy lifting were cooler.
It was the wild west and it was free and exciting.
Today we live in a plastic, enterprise, software as a service monoculture. The wild and free part died.
Maybe I'm just getting old, but I hate it.
I wish we had more programs like this. They could breathe new life into older or less powerful systems, and get along better with multi-tasking (using several simultaneous Electron apps on a small or mid-tier system brings it to its knees while these computers would still be considered insanely powerful just a decade and a half back).
Windows Vista and up shipped with .NET 3 and .NET 2.0 was a one-time install for Windows XP that enabled devs to ship complete GUI applications with network, file system support, OS integration, COM integration, and more in a single 100KB binary.
UWP is, of course, a different story.
There will always be somebody complaining that they prefer JS to C/C++.
Meanwhile if API and language tools were better designed from the start, and we could agree to DUMP HTML and its ecosystem, maybe things would improve.
I guess android is a huge victim of app cruft. I love android but I have to admit software bloat is a real threat to the environment.
Electron ships and keeps in memory things almost everybody already has either installed themselves beforehand or laying in main browser cache (JavaScript libraries). A better, but slightly less user friendly alternative would be to ship applications that simply serve the same HTML on a local port and access it through main browser (like syncthing for one example) and perform computing on the local backend server. And here's the main issue: average Joe is scared by :8080 suffix in the browser. The average user is just a step away from the solution but that's... still not there.
I know server software is getting complex as well, but to my (limited) understanding the interface was the biggest offender when it comes to unnecessary use of resources, which is the problem my proposition tries to solve.
They’re just native
P2P technology is important to resist censorship. It does not have an opinion about what content goes through the technology. Like Tor.
The important thing is that it's decentralised, which makes it truly "of the people, by the people, for the people".
Those saying 'Why use P2P apps if you have nothing illegal to share' are the same ones saying, 'Why need privacy if you have nothing to hide'. They're wrong, they're privileged, they're selfish, and in many cases they're lying hypocrites (and therefore dangerous and abusive people).
Long live P2P. The more protocols in active development the better.
It's important to retain culture too, people who legally own movies, music, etc can't be trusted to actually archive or distribute them properly.
Look how many artistically important movies are not really available anymore and the only old dvd copies floating around are either badly cropped, badly graded, cut or have poor subtitling/sound. The only people who can be trusted to look after these artworks are people doing it out of passion rather than profits.
In 10 years the teenagers growing up today are going to have a cultural blackhole as a lot of the more unusual music they enjoyed no longer exists anywhere online because it was all on spotify, YouTube or soundcloud and they might have gone out of business, not retained it or the creators themselves lost it or moved on.
[0] https://en.wikipedia.org/wiki/2008_Universal_Studios_fire
But if there are copies here and there, there is much more chance that at least some will survive the centuries.
Eg, single point of failure vs redundancy
What.cd suddenly comes to mind...
I've downloaded quite a number of really old live performance of classical music from YouTube, that are practically nowhere else to be found. No pirate version can be found, private bay or the likes.
At least for now, YouTube is a gain in preserving and distributing old and unusual content, not a loss, in the world of classical music. I don't know what happens it one day it ceases to exist, but I imagine enough people would have saved copies of those videos to re-upload to whatever video site replaces YouTube.
Not even he has the zip or any of the songs, as the files got deleted, managers changed and so on. And this was no mediocre stuff, I loved it!
Yeah like for example the moon landing videos that NASA deleted by accident. Had they been freely available in hires digitized copies we would still have them. But alas we only have low res copies.
The moon landing videos were made in 1969, and are believed to have been erased in the early 1980s. There was no technology at the time to digitize those videos, nor any compact data formats to store them in, nor users with spare storage for that data.
(It's not clear that they had the ability to replicate this data, anyway -- the reason it was lost was that they needed to reuse the magnetic tapes for data from another project!)
The notion that any sort of data is easy to copy and store is a modern concept. It was usually not the case in the past.
And I thought the Emule network was dead, good to hear they're doing well.
> Those saying 'Why use P2P apps if you have nothing illegal to share' are the same ones saying, 'Why need privacy if you have nothing to hide'.
Couldn't agree more. Everyone of us, including myself, has something to hide. Some of the more extreme motivations behind the attempts to push for more control on communications simply don't stand: "it could be used for child porn" is no different to "it could be used for drugs trading" applied to normal cellphone communications. Just let communications protocols alone, then divert more funding to intelligence technologies and training rather than giving police military weapons.
> Long live P2P. The more protocols in active development the better.
Agreed, though it would be nice if nodes could interoperate with different protocols. In the old days the wonderful Napster OSS compatible client Lopster was rewritten to be compatible with pretty much all known p2p protocols back then, but before it was ready BitTorrent came and became the standard, so it's currently stagnating/dead. http://lopster.sourceforge.net/
Like LimeWire and Emule but runs on I2P for anonymity. TOR shouldn't be used for P2P. It's not conceived for that.
I'm very happy to see eMule spring back into life. I believe it's time for a move away from the "torrent site" model and back to more casual approach file sharing.
Love the fact that it works in many places where plain UDP solutions fail.
Once two nodes are connected via a Tor hidden service, other p2p channels can be established and are more appropriate to transfere large files.
While maybe not in your concrete case, in general this sounds like really dangerous advice - a quick way to open up for deanomyizing attacks?
Hey node behind Tor, send me your IP by requesting this https resource outside of Tor... Etc ?
None of this precludes the sale of your $20 lifetime license; but you are probably better off selling some kind of support license or other intangible thing and liberate the code.
But I fully agree that the security and network stuff needs to be open sourced to be verifiable. My plan is to release the related sources together with the protocol specifications, need to refactor a few things first but this will happen.
Agreed. Saying content illegally is certainly a problem, but let's not dismiss the importance of decentralized systems. It certainly helps distributing large files without a central server and point of failure. I seed my share of Linux distros and open source softwares to help with the distribution with my own bandwidth and storage. And decentralization is s big equalizer in power, which allows the masses to share content even if there is someone in power against it.
We need decentralization and P2P protocols more than ever.
Is there a significant populace who vehemenlty oppose p2p?
Although, on second thought - a lot of people who are not tech-savvy might be convinced by the mainstream media view on file sharing as involving a lot of "piracy" and theft, so maybe that demographic has more opponents of P2P.
Downloading and running executable files from file sharing networks seems like asking for trouble no matter what the network is.
From what I recall of the time when these networks were popular, that wasn't the case; there was some way to make Windows Media Player download malicious executable files when playing a video file.
Almost all the server nodes were themselves just SPAM, their names advertising prescription drugs for cheap, as well as dating sites. I found myself very disappointed with the state of the ecosystem.
Ah, the memories...
I still use Soulseek (via Nicotine) to this day and it's great!
Asking for a friend.
I think the platform would fare better, and would decline less, if the software were developed more openly.
Note that there is a FOSS client for Linux (and maybe other operating systems): aMule.
https://github.com/amule-project/amule/
And while it seems some development (last commit was 8 days ago), it has not seen a proper release for 4 years.
Apparently, the source code of this release can be found at https://github.com/irwir/eMule/tree/v0.60a
aMule was created as a cross-platform port of eMule as far as I can recall.
It's not clear what you're talking about... eDonkey2000 ? I don't know if such software is still used nowadays.
Emule is Windows only, but it's open source, you can find the links on their official page and on sourceforge.
Thank you!
Anyone has good sites / servers?
https://docuwiki.net/ (Obviously check it's Creative Commons etc before DLing anything)
But you can just search in app. But I can't work out if it's worth adding servers or they are all linked? Or where to get servers from. Or what it all means. I guess I should read a manual.
(Some search material can be illegal (Not from copyright law). Anyone used to these networks I guess knows this, but if new be careful, you will probably autoshare if you accidentally get it)
I've been trying to source some movies from the '90s and they are not available on any streaming service I have access to.
But, I agree that sometimes there's content which is hard to find on digital stores or streaming services.