Using BitTorrent with Amazon S3
docs.aws.amazon.com
docs.aws.amazon.com
[0] http://web.archive.org/web/20060421112025/http://docs.amazon...
https://noisemore.wordpress.com/2006/03/14/amazon-s3-has-bit...
I really had a horrible experience sometime back, while downloading a software of around 2 GB. Where a network would die down and chrome would discard the partial download.
I wouldn't put a lot of faith into what front-line tech support says. They'll often outright lie to you to get you off the phone.
There are 'downloaders' to deal with this kind of issue. That said, torrents are most optimal for a non-stable network connection.
――――――
Me too. And it was _Apple_ providing the download, for crissakes.
Tim Cook, is that you? (I don't think Tim Cook would do that).
I ran a site a couple of years ago that did this very thing, but it was quickly overwhelmed with illegal content..
Tried it with a few clients: Transmission does not seem to work, though (both web client, and GTK): "Tracker gave HTTP response code 404..."; rtorrent seems to be able to download (but looks like no upload?); deluge downloads well and also kickstarts the transmission clients.
I wonder what's unacceptable in the Amazon infrastructure for transmission... And the 80kb/s max seed rate mentioned in the comments might be a showstopper already.
Unless you have a bunch of seeds, that are essentially permanent, it's pretty useless.
It works well if you're on a non-throttled network and has support for local peer discovery which is great for testing (install from a local torrent seed, or another device). Apart from bandwidth saving it's also very convenient to let libtorrent handle consistency checks and resuming of transfers.
ipfs looks interesting, have you published your port?
Seems that for peer apps on mobile, we need to make it easy for the user to understand their bandwidth-usage - indeed in my testing I never run the app where I don't have solid, unlimited Wifi. For these classes of apps, I think the presentation of this problem to the user is going to be important.
>ipfs port
Its more of a harness than a port - basically, its possible to use Go on iOS, and so I have a project set up to include Go, cross the bridge between Obj-C and Go runtimes, and so on .. and, then I've built a Go app with ipfs, running on iOS. There aren't any features yet - but the harness is done, so, TODO: write Go, use ipfs framework, interface with iOS-GUI normatives, etc.
When I get actual ipfs functionality coded, I'll put it up on a repo .. too much futzing around is required right now to see anything actually functioning.
About sharing bandwidth, was thinking about only enabling when the user is on wifi, but I think I'll use torrent more as a distributed mirror network than a "real" P2P system, which is difficult in a mobile context. People can easily "donate" bandwidth by seeding the data files needed for the app (using a separate torrent client though, not the app itself).
https://github.com/seclorum/ios-go-ipfs.git
Might have to change a few paths in the build-script, but it'll give you an idea (if you're interested) how to go about building Go apps on iOS. Turns out its not that hard! :)
>Sharing bandwidth
Yes, I see the same sort of conclusion from my perspective of wanting to put ipfs on iOS - its really only as a way of committing content to the mesh when the User wants to serve - i.e. idle times connected/charging on local Wifi .. I think my next step will be to wire up the camera and a few fields to be used to create a publishable set of content ..
Anyway, pull requests welcome!
If (for whatever reason) you choose to use S3 as your tracker, then you just need to commit to breaking your >5GB content lumps up into multiple pieces.
I have 60gb files in S3, and saturating available bandwidth to download them in a reasonable time frame if they're not in the same country is actually a bit of a challenge.
Bit torrent would be one of the fastest and fault tolerant ways to retrieve the files, so it not being available stings a bit.
While I'm trying to download large files on consumer internet, I'd imagine that huge files between geographic locations and server grade connections would face a similar problem.
Bittorrent support is a legacy feature; I don't think I've seen Amazon advertise it for several years.
It seems like an arbitrary limit, but an adequate one for the time being.
Javascript is disabled or is unavailable in your browser. To use the AWS Documentation, Javascript must be enabled.
...really? Their documentation is perfectly readable without it. All the links are real, bookmarkable links; even the buttons for the PDF, forums, and Kindle version work.
The torrent library to use is libtorrent.
Does anyone have a link that explains why browsers won't do this, or at least a brief explanation?