I have tried it locally and various hosted instances several times over the last few months and while it occasionally works that error is more common than not.
Improve how? It was already pretty good. The entire user page and even Instagram TV was supported. But the current situation is not Bibliogram's fault.
More attention would encourage people to host new instances and help find workarounds for Instagram's rate limiting. There are also some features that are being worked on, such as a search function:
Yeah, I am just starting to see 1 star reviews on my repost app (https://github.com/sschueller/easyrepost) . It's totally broken now. Good thing I open sourced it and gave up on monetization in part to HN horror stories of people building business on top of other services like Facebook.
I'm going to abandon this and move on to maybe working on a Pixelfed android client instead.
Had a similar experience myself when 3 years ago IG and FB blocked all third party access to the API and my “best time to post” and scheduler apps all broke.
The thing is, what if you leveraged the "cloud" of people, to build a p2p instagram cache/clone perhaps on IPFS or some other p2p store or mesh, where the seeders are people with IG accounts who are logged in, and that living network of people then can feed out data to overyone else logging in to the "rebel front-end". That would be cool. It seems that kind of thing would be unshut-downable and with enough seeders, unstoppable and complete.
It's a cool idea but falls down when you start thinking about how to discover what Instagram ID has what content ID in the P2P store. Torrents have trackers, IPFS have 3rd party indexers, DC++ have hubs.
Not so. What if lookup for content is implemented as a distributed skiplist. Each node has a limited vertical slice of the skiplist. The skiplist info distributed among the nodes doesn't have to be consistent for it to work. When a new node enters the network it reaches out to peers, and randomly selects some peers to be 'in peers' and some to be 'out peers', gets their skiplist slices, and generates a slice that's between the others. If a node has content (ie, is a seeder), then it inserts those contents into the skiplist. The insertion changes propagate by peers exchanging info. It's a rough idea, but I think it would work or could be made to. Then to lookup a piece of content, you do a normal run on the skiplist, but each node your local slice is connected to is actually a peer. And sort of like DNS, you're connected to multiple inconsistent versions of the lookup paths, and you can run a lookup across more than such path. When data is found, it is sent back through the path.
You've basically reinvented DHTs but with the extra feature of supporting range queries, which this use case doesn't need anyway :)
DHTs still have bunch of limitations that doesn't make it suitable for a really global and humongous hash table. I think your skiplist would have the different problem of making queries and lookups inconsistent based on node uptimes and such.
Works consistently every time for me, it relies on the web version so if the web version is working, it works (and if the app doesn't work it is because the web version is down).
can someone do this for linkedin? tired of clicking on profiles from google only to be presented with the login wall. you shouldnt be allowed to treat googlebot better than you treat humans, that opens up all sorts of chicanery
Instagram/Facebook seems to have blocked loading timelines on the profiles. Am able to view only the first page of profiles. Even tried running it locally, to the same effect.
The way that Instagram/Facebook quickly block third party clients like this really make it obvious that they control what you see and how you use the platform. You do not have control of the content you see on Instagram. It is force fed to you to manipulate you according to which advertisers have paid for your attention.
I really wish the people who invest their time and energy into developing third party UIs for Instagram would spend their time instead developing UIs and front ends for open source and federated software. Someone build "Instagram for Nextcloud", please.
Pixelfed is the kind of project I'm talking about. It's a great start of a project that needs a lot more work to become usable as a serious photography platform. I wish more people would put their effort into improving projects like Pixelfed rather than building front ends for Instagram that get shut down.
Looks like Patreon if you read the web site. And Liberapay, I guess.
It’s an open source “host your own” software, I don’t think they are trying to monetize beyond paying a living wage for the developer.
It is not a company, but a federated network – anyone can run their own server and interact with the all other nodes (much like email). The software is open source and is a community effort, although the lead developer got a grant [1] that allows him to spend time to improve the project over time.
I’ve been thinking of looking for this for quite some time, thanks for sharing. I miss Instagram all the time, but the experience got worse every year. Too many ads, too much wandering from the photo-first product I fell in love with, too much Facebook.
Here's something I never seem to get a clear picture of, with these federated options. The typical explanation that makes the concept easy to understand is that federated services are "like email, we can have different providers, e.g. you might have a gmail account and I might have a yahoo or outlook address, and we'd still be able to communicate".
I think that's a very good way to put it, but the issue is that with email providers most users have an account in a company that is well established and its future continuity is not in doubt, at least in a span of months or couple years. And even if yahoo happened to close their email service, there are good software solutions that are mature and can be easily found and used to move your emails from one IMAP address to another.
Now, with federated options, I see all these funny looking domaim names, which I'm sorry but to me they scream "I'll be gone by next week (or month or year)". In general, apart from the most prominent federated instances -those that typically belong to the creators or are endorsed by them-, there is a lot of small instances that don't transmit a lot of confidence in their long-term existence.
And I get it, these are hosted mostly by users of the network. But the thing is that I'm a user, not a sysadmin. I have enough work already at work, and for this kind of use I'd really like to not worry about hosting a service by my own (especially after seeing this list of requisites! [0]) or that the instance I chose 6 months ago is now disappearing without notice. Are any fediverse implementations working on this issue, such like promoting an instance rating / trust system, or something like that? Apart from, of course, tooling to make migration a one click process.
Most fediverse services have a website that provides a list of instances with statistics. The site is usually named "join" + the name of the service. For Pixelfed, the list of instances is at joinpixelfed.org and it's in beta:
If you want to choose an instance that will last, one of the most popular instances is usually a safe bet. On the other hand, if you are mainly interested in certain topics or if you want to interact with users from a certain region, some smaller instances may have like-minded communities that would be more appealing to you.
I just realized an important difference between e-mail addresses and "fediverse handle is like an e-mail address": with e-mail, I can use my own domain to ensure the address outlives any single company, but that doesn't mean I have to run my own server. I can delegate e-mail handling to third parties, and swap them out at any time, and nobody's the wiser.
Meanwhile, it seems (based on what I know right now) that Fediverse handles are owned by the servers, not by users. I can't make me@mydomain username and delegate its handling to one of the existing instances, I must run my own node.
(Or maybe I'm wrong and it works just like e-mail. I just never saw it used this way.)
Signing up for an account on someone else's instance (pixelfed.social, mastodon.social, etc.) is like signing up for an email address through someone else's email service provider (Gmail, Yahoo Mail, etc.). @pixelfed.social accounts are exclusive to pixelfed.social, just as @gmail.com addresses are exclusive to Gmail. If you want to change instances or providers, you must also change your account's username or address.
To have an email address that remains the same when you change email service providers, you need your own domain and a provider that supports custom domains. You can also have a fediverse account on your own domain that works in the same way without self-hosting, since there are also hosting providers for some fediverse services that support custom domains. Here are a few that I found:
The main difference is that joining someone else's fediverse instance lets other users in the instance discover what you are posting more easily when they are not subscribed to you. For email, it doesn't matter whether your email address is on Gmail or your personal domain, since all messages are private.
Also, for email, if I use or recommend usage of any provider, as long as it supports IMAP (i.e. mostly all), it is almost trivial to do (or help others do) a migration of emails to a new provider, if the need arises.
Not so with federated services. I see there are some efforts, some solutions, but in general it looks like an afterthought.
Seems really cool, I'm going to spin up an instance. Their homepage is a bit odd though; very low density and you have to scroll alllll the way down to find the "Run your own server, or join one" links.
These servers will not be viable once EU new terreg regulation is implemented. (Need for legal presence in the EU, censorship officer and 1hr SLA for deleting content). You cannot just block EU IP to bypass this.
Agreed. One of the things (among many) that convinced me of IG/FB's hostility toward developers – and users – was when they stopped providing basic user information in their official "Instagram Basic Display" API, which according to their docs "allows users of your app to get basic profile information, photos, and videos". This is literally the full list of fields you can get for a user's profile:
account_type, id, media_count, username
Can you get the user's name? Nope. Bio? Nope. Follower count? Nope. Website? Nope. Pretty close to nothing.
This is all publicly visible information by the way (so no, it isn't a matter of protecting privacy), and I'm not even talking about getting it for users who are followers/followed by the person who authorized the app; you can't even get the authenticated user's own info. It's absolutely ridiculous, and any attempts to fetch that info from the website via automated means gets severely throttled or shut down almost instantly.
I will never build anything else that even remotely relies on an existing social network for an important function.
The next time you hear 'Facebook has purchased...' you know it's going to go to hell, Instagram is a prime example. Oh, now you need to log in to do anything. Oh, now there's an algorithmic feed...
Projects like this make me sad for what we have lost. All of Instagram used to provide open RSS feeds [0]. They also used to brag about third parties making interesting things with Instagram data [1], [2].
You can see their old blog posts by going to [3], right-clicking and copying the link of a post, and appending `/embed` to the URL.
well that's the difference between a company at a stage where it's trying to get more popular by getting approval from people and one where's it trying to squeeze what it can from you because it's established well enough.
I hope we can get a less closed corporate web in the future by some miracle, but I'm not optimistic about that.
Apart from the obvious possibility of IP ban (that there's only one way to circumvent), I think parsing is the most brittle part of this. If I needed to make something that would just survive without me rewriting it all the time, I would do away with parsing somehow, at all. E.g. instead of trying to parse anything, just load it in a browser (headless, or even real) and just somehow see where the images are (from the requests log, or from the screenshot).
I run an instance of this for the sole purpose of having an Instagram RSS feed.
I have a telegram bot run a muted channel that pulls feeds from various subreddits, some public Instagram accounts, and some random blogs. I've found it helps me from browsing aimlessly throughout the day.
This is fantastic. I was just complaining today about how obnoxious not having an Instagram is. That is trying to view an Instagram profile without having one yourself.
Either you can only scroll so far down the profile page and be prompted to sign in, or you can't even view the profile without signing in. It's such cancer. But this is the exact solution I was looking for!
57 comments
[ 3.6 ms ] story [ 115 ms ] threadList of instances: https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/...
Source code: https://sr.ht/~cadence/bibliogram/
Similar services
Invidious (YouTube): https://news.ycombinator.com/item?id=21535562
Nitter (Twitter): https://news.ycombinator.com/item?id=21849744
Teddit (Reddit): https://news.ycombinator.com/item?id=25310206
Related software
UntrackMe (Android app that converts links from Instagram and others to alternative front-ends): https://framagit.org/tom79/nitterizeme
Privacy Redirect (browser extension that redirects to these front-ends): https://github.com/SimonBrazell/privacy-redirect
Barinsta (open source Instagram client for Android): https://github.com/austinhuang0131/barinsta
Timeline loading blocked
Instagram is refusing to provide data to this server.
This server will only be able to load the first page of timelines.
This error is permanent.
[0]: https://proxy.vulpes.one/gemini/cadence.moe/gemlog/2020-12-1...
The software is open source, so anyone is able to start a new instance, as others did for Invidious and Nitter.
Edit: Added list of instances to GP. For some reason, the main instance is still working for me.
Teddit.net for reddit works amazingly though.
I'm hoping that the attention will help Bibliogram improve.
https://todo.sr.ht/~cadence/bibliogram-issues/6
I'm going to abandon this and move on to maybe working on a Pixelfed android client instead.
> case sets a precedent that allows businesses to use the CFAA to keep public data away from competitors
DHTs still have bunch of limitations that doesn't make it suitable for a really global and humongous hash table. I think your skiplist would have the different problem of making queries and lookups inconsistent based on node uptimes and such.
Inconsistent definitely. We could probably engineer our way out of this. ;p ;) xx
If you have any recommendations for how we solve this p2p lookup problem I'd love to hear it! ;p xx
Facebook is going to need to keep something it bought alive or it might struggle to keep the lights on.
I really wish the people who invest their time and energy into developing third party UIs for Instagram would spend their time instead developing UIs and front ends for open source and federated software. Someone build "Instagram for Nextcloud", please.
https://pixelfed.org
There's an Android app for it called PixelDroid: https://gitlab.shinice.net/pixeldroid/PixelDroid
1: https://github.com/pixelfed/pixelfed#pixelfed-sponsors
I think that's a very good way to put it, but the issue is that with email providers most users have an account in a company that is well established and its future continuity is not in doubt, at least in a span of months or couple years. And even if yahoo happened to close their email service, there are good software solutions that are mature and can be easily found and used to move your emails from one IMAP address to another.
Now, with federated options, I see all these funny looking domaim names, which I'm sorry but to me they scream "I'll be gone by next week (or month or year)". In general, apart from the most prominent federated instances -those that typically belong to the creators or are endorsed by them-, there is a lot of small instances that don't transmit a lot of confidence in their long-term existence.
And I get it, these are hosted mostly by users of the network. But the thing is that I'm a user, not a sysadmin. I have enough work already at work, and for this kind of use I'd really like to not worry about hosting a service by my own (especially after seeing this list of requisites! [0]) or that the instance I chose 6 months ago is now disappearing without notice. Are any fediverse implementations working on this issue, such like promoting an instance rating / trust system, or something like that? Apart from, of course, tooling to make migration a one click process.
[0]: https://docs.pixelfed.org/running-pixelfed/prerequisites.htm...
https://beta.joinpixelfed.org
That list omits the largest instance (https://pixelfed.social).
There are also third-party websites that provide statistics on fediverse nodes. The-Federation.info has a list for Pixelfed:
https://the-federation.info/pixelfed
If you want to choose an instance that will last, one of the most popular instances is usually a safe bet. On the other hand, if you are mainly interested in certain topics or if you want to interact with users from a certain region, some smaller instances may have like-minded communities that would be more appealing to you.
Maybe the ecosystem is missing more instances that allow using a custom domain, something that according to other commenter is possible
Meanwhile, it seems (based on what I know right now) that Fediverse handles are owned by the servers, not by users. I can't make me@mydomain username and delegate its handling to one of the existing instances, I must run my own node.
(Or maybe I'm wrong and it works just like e-mail. I just never saw it used this way.)
To have an email address that remains the same when you change email service providers, you need your own domain and a provider that supports custom domains. You can also have a fediverse account on your own domain that works in the same way without self-hosting, since there are also hosting providers for some fediverse services that support custom domains. Here are a few that I found:
Spacebear (Pixelfed, PeerTube, Mastodon): https://app.spacebear.ee
Masto.host (Mastodon): https://masto.host
Hostdon (Pleroma, Mastodon): https://hostdon.jp (in Japanese)
The main difference is that joining someone else's fediverse instance lets other users in the instance discover what you are posting more easily when they are not subscribed to you. For email, it doesn't matter whether your email address is on Gmail or your personal domain, since all messages are private.
Not so with federated services. I see there are some efforts, some solutions, but in general it looks like an afterthought.
https://github.com/pixelfed/pixelfed/blob/dev/docker-compose...
Another option is to set up Yunohost (free) or Cloudron (freemium), both of which support Pixelfed and a variety of self-hosted services:
https://github.com/YunoHost-Apps/pixelfed_ynh
https://www.cloudron.io/store/org.pixelfed.cloudronapp.html
account_type, id, media_count, username
Can you get the user's name? Nope. Bio? Nope. Follower count? Nope. Website? Nope. Pretty close to nothing.
This is all publicly visible information by the way (so no, it isn't a matter of protecting privacy), and I'm not even talking about getting it for users who are followers/followed by the person who authorized the app; you can't even get the authenticated user's own info. It's absolutely ridiculous, and any attempts to fetch that info from the website via automated means gets severely throttled or shut down almost instantly.
I will never build anything else that even remotely relies on an existing social network for an important function.
Mark Zuckerberg: not even once
You can see their old blog posts by going to [3], right-clicking and copying the link of a post, and appending `/embed` to the URL.
[0] https://instagram.tumblr.com/post/8755963247/introducing-has...
[1]: https://instagram.tumblr.com/post/8757679335/api-highlights-...
[2]: https://instagram.tumblr.com/post/8756150468/a-real-time-api...
[3]: https://instagram.tumblr.com/archive/filter-by/text
I hope we can get a less closed corporate web in the future by some miracle, but I'm not optimistic about that.
XMPP can easily embed Atom in Pubsub feeds, this brings this kind of results https://mov.im/?node/news.movim.eu/TorrentFreak
Website: https://cadence.moe
SourceHut: https://git.sr.ht/~cadence/
GitHub: https://github.com/cloudrac3r
Contact/Donate: https://cadence.moe/about/contact
Patreon (linked from contact page): https://www.patreon.com/papiophidian
I have a telegram bot run a muted channel that pulls feeds from various subreddits, some public Instagram accounts, and some random blogs. I've found it helps me from browsing aimlessly throughout the day.
Just append the ID to https://instaembed.github.io/INSTA_ID_HERE
This shortcut will do it automatically if you share an Insta link to it:
https://www.icloud.com/shortcuts/e939f9755fc8499c85954aa1790...
Either you can only scroll so far down the profile page and be prompted to sign in, or you can't even view the profile without signing in. It's such cancer. But this is the exact solution I was looking for!