~cadence/bibliogram-devel

5 3

Another solution to IP blocking: volunteer content distribution

Details
Message ID
<C8MBY2WMBZ3W.3MRHZSIEZTO8E@taiga>
DKIM signature
pass
Download raw message
It may be possible to establish a network of volunteers on residential
ISPs who are willing to forward requests from Bibliogram instances to
Instagram. Something like Yggdrasil[0] could be used to facilitate
connections.

[0] https://yggdrasil-network.github.io/
Kyle Williams
Details
Message ID
<CACn2xWPLHAw_+yQkU+zokXWJCFVPc8afjC6SfsR=5PESjNVFCQ@mail.gmail.com>
In-Reply-To
<C8MBY2WMBZ3W.3MRHZSIEZTO8E@taiga> (view parent)
DKIM signature
pass
Download raw message
I do believe ieb3ahfich4heez mentioned this as a solution in a
previous thread [0].

I did a bit of reading Yggdrasil when it was initially mentioned, but
most of it went over my head; I suppose I still have a lot to learn
about networking! Could you explain in layman's terms how the network
functions? From your mention of volunteers and my loose understanding
of Yggdrasil, is it peer-to-peer-based, where people can donate their
bandwidth in order to handle requests? If so, wouldn't this need to be
set up on an instance-to-instance basis, making it only feasible for
the main instance bibliogram.art?

[0] https://lists.sr.ht/~cadence/bibliogram-devel/%3CxddEmefyhjNOMUUscoGdCorFZAARuIEefH9RfkyL8cYocrBtUY12zajBBTld3jUVx_C8FSIt9YVUkFVYBqAxvADRP-vXkC2AUao3G5eCIys%3D%40protonmail.com%3E

Kyle Williams


Kyle Williams


On Mon, Jan 18, 2021 at 8:49 AM Drew DeVault <sir@cmpwn.com> wrote:
>
> It may be possible to establish a network of volunteers on residential
> ISPs who are willing to forward requests from Bibliogram instances to
> Instagram. Something like Yggdrasil[0] could be used to facilitate
> connections.
>
> [0] https://yggdrasil-network.github.io/
Details
Message ID
<C8MFUWNO592B.10YXS48V4ZXPA@taiga>
In-Reply-To
<CACn2xWPLHAw_+yQkU+zokXWJCFVPc8afjC6SfsR=5PESjNVFCQ@mail.gmail.com> (view parent)
DKIM signature
pass
Download raw message
On Mon Jan 18, 2021 at 11:50 AM EST, Kyle Williams wrote:
> I did a bit of reading Yggdrasil when it was initially mentioned, but
> most of it went over my head; I suppose I still have a lot to learn
> about networking! Could you explain in layman's terms how the network
> functions? From your mention of volunteers and my loose understanding
> of Yggdrasil, is it peer-to-peer-based, where people can donate their
> bandwidth in order to handle requests? If so, wouldn't this need to be
> set up on an instance-to-instance basis, making it only feasible for
> the main instance bibliogram.art?

It basically assigns everyone a static IPv6 address which is overlaid
over another network, like their typical IPv4 residential hookup. It
would address the NAT and dynamic DNS problems.

And yes, each instance would have to set it up, but we could set up some
kind of moderated registry which new instances could use to bootstrap
their list. If more trust/moderation is requried in both directions,
then perhaps a certificate authority could be generated and used to sign
both the certificates of instances and of volunteers, so that either
could be removed with a revocation list.
Kyle Williams
Details
Message ID
<CACn2xWM2G=BbLTK2d0a1+R19KOMw+iwR=tAxdhBMwc4PaNzTwQ@mail.gmail.com>
In-Reply-To
<C8MFUWNO592B.10YXS48V4ZXPA@taiga> (view parent)
DKIM signature
pass
Download raw message
I still can't shake the feeling that this would be quite a headache
for both admins and volunteers to set up. Wouldn't it just be better
to rewrite Bibliogram to fully embrace a peer-to-peer model a la YaCy?
I also get the feeling that this is what the Assistants feature [0]
was designed for, which allows servers to directly communicate with
each other and share their caches. Cadence, could you comment on the
effectiveness of assistants and if most instances are using the
feature?

[0] https://git.sr.ht/~cadence/bibliogram-docs/tree/master/item/docs/Assistants.md

Kyle Williams

On Mon, Jan 18, 2021 at 11:53 AM Drew DeVault <sir@cmpwn.com> wrote:
>
> On Mon Jan 18, 2021 at 11:50 AM EST, Kyle Williams wrote:
> > I did a bit of reading Yggdrasil when it was initially mentioned, but
> > most of it went over my head; I suppose I still have a lot to learn
> > about networking! Could you explain in layman's terms how the network
> > functions? From your mention of volunteers and my loose understanding
> > of Yggdrasil, is it peer-to-peer-based, where people can donate their
> > bandwidth in order to handle requests? If so, wouldn't this need to be
> > set up on an instance-to-instance basis, making it only feasible for
> > the main instance bibliogram.art?
>
> It basically assigns everyone a static IPv6 address which is overlaid
> over another network, like their typical IPv4 residential hookup. It
> would address the NAT and dynamic DNS problems.
>
> And yes, each instance would have to set it up, but we could set up some
> kind of moderated registry which new instances could use to bootstrap
> their list. If more trust/moderation is requried in both directions,
> then perhaps a certificate authority could be generated and used to sign
> both the certificates of instances and of volunteers, so that either
> could be removed with a revocation list.
Details
Message ID
<C8MGNX3YV85F.NND0DLJVEP6E@taiga>
In-Reply-To
<CACn2xWM2G=BbLTK2d0a1+R19KOMw+iwR=tAxdhBMwc4PaNzTwQ@mail.gmail.com> (view parent)
DKIM signature
pass
Download raw message
On Mon Jan 18, 2021 at 12:17 PM EST, Kyle Williams wrote:
> I still can't shake the feeling that this would be quite a headache
> for both admins and volunteers to set up. Wouldn't it just be better
> to rewrite Bibliogram to fully embrace a peer-to-peer model a la YaCy?

Ever tried YaCy? Doesn't work very well.

What would a peer to peer model actually accomplish, and how would it be
better at doing so, or easier to use?
Details
Message ID
<a5f6c1bc-30d6-4a40-81f9-883d6b709cfa@disroot.org>
In-Reply-To
<CACn2xWM2G=BbLTK2d0a1+R19KOMw+iwR=tAxdhBMwc4PaNzTwQ@mail.gmail.com> (view parent)
DKIM signature
pass
Download raw message
> I also get the feeling that this is what the Assistants feature [0]
> was designed for, which allows servers to directly communicate with
> each other and share their caches. Cadence, could you comment on the
> effectiveness of assistants and if most instances are using the
> feature?

The assistants feature was designed back when graphql was free and /user/ 
was very expensive (in terms of rate limits). The assistants would be 
able to provide initial user data. This is because /user/ only needs to 
be fetched a single time ever for each Ig user.

Assistants were also designed to be run in the cloud, where they're 
addressable on the public Internet, because servers and homes were 
treated the same back then.

However, times have changed. /user/ is now free (in terms of rates), and 
graphql is impossible. So the assistants would have to be redesigned to 
forward graphql data. Not impossible.

The switching code is still there to allow assistants to drop out of the 
network and the Bibliogram instance silently reroute until it finds a 
working one, which would certainly be the case for volunteers running 
code at home. You don't want to _rely_ on them being up.

But as I said before, all data from the assistants is trusted ultimately, 
which may present a problem.

It could be viable. But I think finding a cloud provider that's 
reasonably priced and not on the blocklist is a far less complex idea.
Reply to thread Export thread (mbox)