jonjomckay / fritter

A privacy-friendly Twitter frontend for mobile devices
https://fritter.cc
MIT License
1.4k stars 85 forks source link

[REQ] Allow the ability to utilise self hosted Nitter instances as backend #206

Open Joshndroid opened 3 years ago

Joshndroid commented 3 years ago

Describe the problem that needs solving A clear description of what the problem is. E.g. I'm always frustrated when [...]

This is a great program however I would like the ability for the app to hook into my self hosted instance of Nitter. While I assume you have heard of nitter here is the link if not - https://github.com/zedeus/nitter/

Describe the solution you'd like A clear description of what you want to happen.

Basically allow the ability to utilise the personal self hosted nitter installation as the backend of the app. This would not impact the users that would utilise your backend for twitter data however will assist those in the community who also run nitter as theirs.

jonjomckay commented 3 years ago

Fritter did originally use Nitter as the backend, but support for it was removed in v2.0.0:

Removal of Nitter Support

Support for Nitter instances has now been removed, and is now replaced with direct support for the Twitter API, using the same methods Nitter uses under the hood

This was done mainly so that the app doesn't DOS (abuse) public Nitter instances, and also due to development issues caused by differing data structures from all the different Nitter versions being hosted in the wild.

Until Nitter itself has a stable API I'm not sure adding support back in is a good idea, due to the (actually pretty enormous) HTML parsing support maintenance that is required, as well as keeping feature parity between the Twitter and Nitter backends.

Fritter is currently using the the same APIs that Nitter itself uses, so as far as I can tell, there's not really much difference between running a personal Nitter and using Fritter as-is today (as opposed to a public Nitter, where there'd be too much traffic for Twitter to be able to uniquely identify users).

I'll keep this open, as it looks like there's an issue open for Nitter to add APIs (https://github.com/zedeus/nitter/issues/192)

Joshndroid commented 3 years ago

While I understand your reasoning, I am hoping the eventuality was that I can have the self hosted nitter backend local and use whatever front end app (which also has a simple version for other users) to access this be it mobile/desktop/etc. Interestingly, invidious has the opposite issue, where I can run a self hosted version and use it as a back end within Freetube on the desktop, yet I cant do the same for my phone as a mobile app.

KasraIDK commented 1 year ago

I'd also like to chip in and say being able to choose custom nitter instances would be a great feature. Twitter has been blocked where I live, but I can access it using nitter.

ghost commented 1 year ago

In relation to the mature content lockout that's been happening lately, we would be able to bypass it if we had the ability to switch instances. I already found an instance that implemented a workaround for showing mature content.