[HN Gopher] Webamp IPFS media player
___________________________________________________________________
Webamp IPFS media player
Author : bertify
Score : 113 points
Date : 2021-11-12 11:03 UTC (11 hours ago)
(HTM) web link (webamp-ipfs.netlify.app)
(TXT) w3m dump (webamp-ipfs.netlify.app)
| alfor wrote:
| Whoa, 20 years flashback. In some way, it seems we are almost at
| the same place.
|
| New ideas of decentralisation, freedom, sharing, global internet
| society.
|
| I wonder how it will end this time.
| mr_sturd wrote:
| Very nice!
|
| I was curious to see what the hash represented so viewed it via
| ipfs.io[0] - a directory containing the .mp3 files.
|
| [0] -
| https://ipfs.io/ipfs/Qmevni3vjqGiSAd7DE7kDhPXAqLNED2zUwJ5XaL...
| meheleventyone wrote:
| Do requests get cached for the site or is it a live pickup?
| I've heard IPFS was pretty slow/spotty but using this interface
| was very snappy.
| cle wrote:
| IPFS has a similar property as BitTorrent in that, as a piece
| of content is used more often, it is cached in more nodes on
| the network and becomes easier to find, which generally
| improves perf.
| marcodiego wrote:
| Is it possible to create censorship-resistant IPFS based webapps?
| I mean, can't a webapp be combined with something similar to
| peertube and IPFS to create a public media player that you don't
| have to download neither the player nor the media?
| _def wrote:
| I don't see how it could be censorship resistant tbh. The data
| has to be served from a service somewhere, and I can't think of
| reasons IPFS nodes would be resistant to take downs.
| [deleted]
| serverholic wrote:
| It's kinda like bittorrent. As long as someone is hosting the
| file, it's still there.
| Scoundreller wrote:
| I really need to improve my understanding of magnet links
| and DHT.
| capableweb wrote:
| IPFS is content-addressed, so as long as you have the ID of
| the thing you want to download, you'll be able to download
| and verify that download from any node. So as long as you can
| connect to one node that has your content, you'll be able to
| download it.
|
| Of course, nothing is 100% censorship resistant, but content-
| addressing helps a lot.
| lijogdfljk wrote:
| I read that IPFS purposefully has mechanisms in it to allow
| banning content. While hypothetically you could still run a
| custom client that won't ban content, peered nodes might
| still ban the content leaving you with no source.
|
| Based on what i read long, long ago - IPFS is very much not
| intended to be censorship resistant.
| capableweb wrote:
| > I read that IPFS purposefully has mechanisms in it to
| allow banning content
|
| I'd be interested in reading whatever article you got
| that from, because last time I checked, IPFS doesn't have
| any such mechanism.
|
| You might be confusing it with the content blocking
| Protocol Labs does on the public IPFS gateway
| (https://ipfs.io/ipfs/hash). The gateway being a
| centralized gateway to distributed IPFS content, is
| hosted by a US party and must therefore follow US law, so
| sometimes they block content from being accessed via the
| gateway.
| billconan wrote:
| can it hide my identity (ip)?
| michaelsbradley wrote:
| For censorship resistance there needs to be incentivised
| replication such that the number of nodes in the p2p storage
| network (providing the data set or chunks of it) is very
| large and therefore "take down" becomes intractable. Also,
| clients need to retrieve data from/as peers in the p2p
| network rather than through gateways.
| serverholic wrote:
| Filecoin and other storage crypto coins are trying to
| address this.
| capableweb wrote:
| I think that's exactly what this is supposed to be. I mean, you
| have to _download_ it somehow, it just happens to be that this
| is downloaded in the browser, and played from there. No need
| for Peertube.
| hagbard_c wrote:
| An example of such a thing is the Libgen search interface
| hosted on IPFS (both data as well as webapp). If you have a
| means to directly navigate IPFS (that is, without using a
| proxy) it can be found here:
|
| ipns://libgen.crypto/
|
| If you do not yet have this set up the same thing can be
| reached through a proxy, e.g.:
|
| https://libgen-crypto.ipns.dweb.link/
|
| The former (pure IPFS/IPNS) link is resistant to censorship as
| long as access to IPFS is available. The latter can of course
| be censored but once IPFS becomes mainstream the need for such
| proxies will disappear.
|
| More on this project can be found here:
|
| https://libgen.fun/dweb.html
| BrianOnHN wrote:
| > If you have a means to directly navigate IPFS (that is,
| without using a proxy)
|
| What's the requirement for this?
|
| Like, is this a me (local config) or them (ISP connection)
| issue?
| hagbard_c wrote:
| You need access to the internet, that's about it. IPFS can
| use any transport protocol (see section 3.2 in the
| whitepaper [1]), it uses a distributed hash table for
| routing purposes, content addressing to represent objects -
| these are immutable, once published they're available as
| long as there is a peer which has the object in cache or
| 'pinned' (permanently cached).
|
| Read the whitepaper and install [2] a node of your own to
| get a feel of the thing, you'll soon find out it is an
| amalgamation of earlier peer to peer systems. The go-ipfs
| daemon tends to be quite busy, it averages somewhere around
| 30% CPU, 500MB memory, 0.1Mb/s in, 0.04Mb/s out when
| hosting ~3GB of (self-generated, niche-interest, database-
| related) files. This busyness is acknowledged by the
| developers and should be addressed somewhere down the line.
|
| [1] https://github.com/ipfs/papers/raw/master/ipfs-
| cap2pfs/ipfs-...
|
| [2] https://dist.ipfs.io/ (get go-ipfs)
| capableweb wrote:
| > IPFS can use any transport protocol (see section 3.2 in
| the whitepaper [1]),
|
| In theory. In practice, the network (I checked my local
| node with ~2500 nodes connected to it) is mostly using
| quic over tcp/udp, more or less 50%/50% split between
| tcp/udp.
|
| > This busyness is acknowledged by the developers and
| should be addressed somewhere down the line.
|
| IPFS has been killing routers[https://github.com/ipfs/go-
| ipfs/issues/3320] and sending/receiving lots of network
| traffic[https://github.com/ipfs/go-ipfs/issues/2917]
| since 2016 and there hasn't been any notable improvements
| on that front yet. When is "down the line" in reality?
| hagbard_c wrote:
| The "router kill" problem is a problem with those
| routers, not with IPFS, or any other chatty program for
| that matter. That said, IPFS _is_ chatty and as such not
| something you 'd run on a dial-up line. ADSL 4/1 or
| higher would be fine though, as long as you get a router
| which can take the load - just find something that can
| run OpenWRT and has enough memory and you're set.
|
| Of course you don't _need_ to run IPFS to get at IPFS-
| hosted content, there are plenty of gateways out there
| (one of them hosted by Cloudflare). Run your own node if
| you want to have full control over the path between IPFS
| and your instances, if you want to contribute to the
| decentralisation of the 'net or if you just like to
| tinker.
| capableweb wrote:
| > The "router kill" problem is a problem with those
| routers, not with IPFS, or any other chatty program for
| that matter.
|
| It's really hard to be convinced by that argument when
| go-ipfs is the only software that manages to kill peoples
| router until people reboot the router, when literally
| every other piece of software they use work perfectly,
| even when using bittorrent and other data-heavy
| protocols.
| e12e wrote:
| Kill routers quickly. I've had to reboot various routers
| over the years when the buffers tracking states grow full
| (typically sharing a flat with friends where everyone
| runs torrent, direct connect or similar).
| hagbard_c wrote:
| The same problem has occurred with many P2P protocols,
| just search for _' p2p router crash'_. The problem occurs
| with Bittorrent, DC++, eDonkey and, yes, IPFS - as well
| as many other applications which open a lot of
| connections at the same time. This causes the undersized
| NAT connection tracking tables to overflow upon which the
| thing will no longer be able to create new connections.
|
| I'm rather surprised that you think only _go-ipfs_ causes
| these problems given that this is a well-known problem
| with lower-spec or misconfigured consumer routers, cable
| modems and other similar devices. Sometimes it can be
| solved by increasing the size of the tables (which often
| are set to some ridiculously low number like 1024 or 2048
| places) if the device has enough memory. If this is not
| feasible just get a better device with OpenWRT or a
| similar free software distribution, configure it for 16K
| connections and it should work.
| Scoundreller wrote:
| > ipns
|
| Please tell me this is a (Freudian?) typo.
| capableweb wrote:
| IPNS - InterPlanetary Name System
| hagbard_c wrote:
| _InterPlanetary Name System (IPNS)
|
| IPFS uses content-based addressing; it creates an address
| of a file based on data contained within the file. If you
| were to share an IPFS address such as
| /ipfs/QmbezGequPwcsWo8UL4wDF6a8hYwM1hmbzYv2mnKkEWaUp with
| someone, you would need to give the person a new link every
| time you update the content.
|
| The InterPlanetary Name System (IPNS) solves this issue by
| creating an address that can be updated._
|
| https://docs.ipfs.io/concepts/ipns/
| kacy wrote:
| If you're curious how it's built, here are the two main
| libraries: https://github.com/codealchemist/webamp-ipfs
| https://github.com/captbaritone/webamp
| teknopurge wrote:
| thank you for posting this.
| psKama wrote:
| Unfortunately my 4 out of 5 trials failed to load like most of
| the other IPFS based stuff.
| jamesfmilne wrote:
| Alas it doesn't play in Safari 15.1 for me. Just get the first
| chunk of audio then silence.
|
| Plays fine in Chrome 95 and Firefox 94 though.
|
| (On macOS 12.0.1)
| yessirwhatever wrote:
| Safari's support for webaudio has always been terrible.
| capableweb wrote:
| Safari's support for anything that Apple doesn't seem to use
| on their own web properties, is really crap. WebRTC and
| WebSockets also been lagging behind for a long time and when
| they catch up, they tend to have very buggy implementations.
| ntp85 wrote:
| What incentive should they have to make Safari a capable
| browser? Who would profit when developers can build PWAs
| instead of paying the Apple Tax?
| ugjka wrote:
| slow
| arketyp wrote:
| +1 My love for Winamp classic is bottomless. I would love to love
| IPFS as much. And information should be free. If your art can be
| consumed digitally, deal with that. I'm willing to let go of all
| the (supposedly) great art for the greater aesthetic of free
| culture. NFTs are noise but be my guest.
| capableweb wrote:
| What does this submission have to do with NFTs?
| kyletut wrote:
| A huge percentage of NFTs use IPFS for their media. NFT +
| IPFS CID is a powerful combo:
| https://www.youtube.com/watch?v=6b8OANmw2kM
| capableweb wrote:
| Sure, but this project doesn't seem to use any NFTs so why
| bring it up?
| 0des wrote:
| It's a popular buzz-topic right now
| arketyp wrote:
| Precisely in the way my stream of consciousness brought me
| there. Some seem to think it's a rescue for artists in the
| digital sphere.
| capableweb wrote:
| You might want to logoff the internet until you come down
| from whatever it is that made you go up in the first place.
| 0des wrote:
| What a rude and unhelpful comment
| capableweb wrote:
| I'm sorry if it seemed rude. It made sense to me to
| respond with nonsense to a comment that seems to be
| nonsense as well, but I shouldn't had.
| lostgame wrote:
| Being rude in your apology comment for being rude isn't
| helpful. :P
| iicc wrote:
| I needed to advance a track to make it work, and the tracks are
| in reverse order. (Firefox)
|
| Still, impressive :)
| pineconewarrior wrote:
| Massive nostalgia! Thanks for sharing. Got a repository for us to
| poke at?
| ugh123 wrote:
| the winamp clone used for this is located here
| https://github.com/captbaritone/webamp
| cblconfederate wrote:
| Dear Nullsoft, i have a problem,i can't drag winamp outside the
| browser window
___________________________________________________________________
(page generated 2021-11-12 23:02 UTC)