Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5975e42081 | ||
|
65d9ee87c4 | ||
|
4908a5eef3 | ||
|
39a9dd7c58 | ||
|
de83ef3b68 | ||
|
0304fc385c | ||
|
c39b84da05 | ||
|
bde147054c | ||
|
ee81d2695f | ||
|
aa43d51b85 | ||
|
75155e455e | ||
|
c9f7cacb10 | ||
|
593f9cea34 | ||
|
a4f8fd2b49 | ||
|
270ed2ac3e | ||
|
487b532d3e | ||
|
5f46236f66 | ||
|
bc87412921 | ||
|
06735de0ce | ||
|
7423e0ce50 | ||
|
890b77e842 |
54
CHANGELOG.md
54
CHANGELOG.md
@ -1,9 +1,12 @@
|
|||||||
## Unreleased
|
## Unreleased
|
||||||
- [ ] Import data from JSON file.
|
- [ ] General: Break dependence with Invidious API - [Reason](https://github.com/iv-org/invidious/issues/1320)
|
||||||
- [ ] Database: Fix following logic.
|
- [ ] General: Import data from JSON file.
|
||||||
|
- [ ] Database: Improve following logic.
|
||||||
- [ ] Configuration page: Disable retweets.
|
- [ ] Configuration page: Disable retweets.
|
||||||
- [ ] Configuration page: Disable loading media content.
|
- [ ] Configuration page: Disable loading media content.
|
||||||
- [ ] Configuration page: Dark mode
|
- [ ] Configuration page: Dark mode.
|
||||||
|
- [ ] Configuration page: Change Invidious / Nitter instance.
|
||||||
|
- [ ] Youtube: Follow management page.
|
||||||
|
|
||||||
##### Long term
|
##### Long term
|
||||||
- See cited posts (if any).
|
- See cited posts (if any).
|
||||||
@ -11,6 +14,15 @@
|
|||||||
- Play media from Parasitter.
|
- Play media from Parasitter.
|
||||||
- Create following lists.
|
- Create following lists.
|
||||||
|
|
||||||
|
## [0.2.1] - 2020-07-31
|
||||||
|
### Added
|
||||||
|
- [x] Youtube: New video page - Watch videos without exiting Parasitter.
|
||||||
|
- [x] Youtube: Improved search - You can now search for channels and videos.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- [x] General: Improved code structure.
|
||||||
|
- [x] Efficiency: Minor improvements
|
||||||
|
|
||||||
## [0.2.0] - 2020-07-29
|
## [0.2.0] - 2020-07-29
|
||||||
### Added
|
### Added
|
||||||
- [x] Export your followed accounts (Youtube and Twitter) to a JSON file
|
- [x] Export your followed accounts (Youtube and Twitter) to a JSON file
|
||||||
@ -19,38 +31,38 @@
|
|||||||
- [x] Youtube: Show video time duration
|
- [x] Youtube: Show video time duration
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- [x] Efficiency improvements. ~1s reduction on fetching time.
|
- [x] Efficiency: improvements. ~1s reduction on fetching time.
|
||||||
- [x] Minor UI changes.
|
- [x] General: Minor UI changes.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- [x] Saving posts didn't work on 2020.07.24 update.
|
- [x] Twitter: Saving posts didn't work on 2020.07.24 update.
|
||||||
|
|
||||||
## [0.1.0] - 2020-07-19
|
## [0.1.0] - 2020-07-19
|
||||||
### Added
|
### Added
|
||||||
- [x] Ability to save posts.
|
- [x] Twitter: Ability to save posts.
|
||||||
- [x] Ability to remove a saved post.
|
- [x] Twitter: Ability to remove a saved post.
|
||||||
- [x] Error pages: Error 500, Error 405
|
- [x] Twitter: Open the original post on Nitter.
|
||||||
- [x] Open the original post on Nitter.
|
- [x] General: Error pages: Error 500, Error 405
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- [x] Significant improvement on fetching feed efficiency - Parallelism applied.
|
- [x] Efficiency: Significant improvement on fetching feed efficiency - Parallelism applied.
|
||||||
- [x] Changelogs now using [Keep a changelog](https://keepachangelog.com/en/1.0.0/) style.
|
- [x] General: Changelogs now using [Keep a changelog](https://keepachangelog.com/en/1.0.0/) style.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- [x] "Saved" menu element logged out instead of showing saved posts.
|
- [x] Twitter: "Saved" menu element logged out instead of showing saved posts.
|
||||||
|
|
||||||
## [0.0.2] - 2020-07-14
|
## [0.0.2] - 2020-07-14
|
||||||
### Added
|
### Added
|
||||||
- [x] First implementation of saved posts - Not working yet.
|
- [x] Twitter: First implementation of saved posts - Not working yet.
|
||||||
- [x] Error 404 page.
|
- [x] Twitter: Empty feed now shows a notice.
|
||||||
- [x] Empty feed now shows a notice.
|
- [x] Twitter: Pinned posts are now marked as it.
|
||||||
- [x] Requirements.txt file for a better installation and update experience.
|
- [x] General: Error 404 page.
|
||||||
- [x] Pinned posts are now marked as it.
|
- [x] General: Requirements.txt file for a better installation and update experience.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- [x] More flexible user search. Search by username and show a list of possible results.
|
- [x] Twitter: More flexible user search. Search by username and show a list of possible results.
|
||||||
- [x] Minor UI fixes.
|
- [x] General: Minor UI fixes.
|
||||||
- [x] Fetching of accounts in a slightly more efficient way.
|
- [x] Efficiency: Fetching of accounts in a slightly more efficient way.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
26
README.md
26
README.md
@ -3,7 +3,20 @@
|
|||||||
<p align="center"> Twitter and Youtube via RSS with privacy </p>
|
<p align="center"> Twitter and Youtube via RSS with privacy </p>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
Parasitter allows you to follow your favorite Twitter and YouTube accounts with full privacy. Parasitter uses [Nitter's](https://nitter.net/) and [Invidious](invidio.us) rss feeds in order to gather the latest content from your favourite accounts and builds a *beautiful* feed so you can read them. We will never connect you to Twitter or YouTube in any way, so your privacy is safe when using Parasitter. Parasitter is written in Python and Flask and uses Semantic-UI as its CSS framework.
|
#### **IMPORTANT** If you want to try out the latest features you should look at [**this branch**](https://github.com/pluja/Parasitter/tree/dev-indep). Master branch is currently inactive!
|
||||||
|
|
||||||
|
## BREAKING DEPENDENCE WITH INVIDIOUS
|
||||||
|
A [**new branch**](https://github.com/pluja/Parasitter/tree/dev-indep) is being developed where I've broke dependence on Invidious.
|
||||||
|
|
||||||
|
Progress:
|
||||||
|
- [x] Video data.
|
||||||
|
- [x] Video playing
|
||||||
|
- [x] Proxy video - no Google/Youtube connections on client. [2020.08.16]
|
||||||
|
- [ ] Offer alternative to Youtube RSS.
|
||||||
|
- [ ] Search
|
||||||
|
|
||||||
|
# What is Parasitter?
|
||||||
|
Parasitter allows you to follow your favorite Twitter and YouTube accounts with full privacy. Parasitter (first version, this is [now being changed](https://github.com/pluja/Parasitter/blob/dev-indep/README.md)!) uses [Nitter's](https://nitter.net/) and [Invidious](invidio.us) rss feeds in order to gather the latest content from your favourite accounts and builds a *beautiful* feed. We will never connect you to Twitter or YouTube in any way, so your privacy is safe when using Parasitter. Parasitter is written in Python and Flask and uses Semantic-UI as its CSS framework.
|
||||||
|
|
||||||
Parasitter doesn't try to compete with Nitter nor Invidious. It serves as a complement, as it beneficiates from them. Parasitter is not a Twitter viewer as Nitter is or a YouTube frontend as Invidious. Instead Parasitter gathers all your accounts in one place so you can stay tuned with their latest content.
|
Parasitter doesn't try to compete with Nitter nor Invidious. It serves as a complement, as it beneficiates from them. Parasitter is not a Twitter viewer as Nitter is or a YouTube frontend as Invidious. Instead Parasitter gathers all your accounts in one place so you can stay tuned with their latest content.
|
||||||
|
|
||||||
@ -18,7 +31,7 @@ Parasitter is possible thanks to several open-source projects that are listed on
|
|||||||
* [Update](#updating-to-new-versions)
|
* [Update](#updating-to-new-versions)
|
||||||
* [Server](#server)
|
* [Server](#server)
|
||||||
* [Powered by](#powered-by)
|
* [Powered by](#powered-by)
|
||||||
* [Donate](#donate-)
|
* [Donate](#donate-) (Please read!)
|
||||||
|
|
||||||
## Features:
|
## Features:
|
||||||
* No JavaScript.
|
* No JavaScript.
|
||||||
@ -26,6 +39,7 @@ Parasitter is possible thanks to several open-source projects that are listed on
|
|||||||
* Uses RSS feeds (could be expanded to more social networks)
|
* Uses RSS feeds (could be expanded to more social networks)
|
||||||
* Follow Twitter accounts.
|
* Follow Twitter accounts.
|
||||||
* Follow Youtube accounts.
|
* Follow Youtube accounts.
|
||||||
|
* Watch Youtube videos.
|
||||||
* Save your favourite Tweets.
|
* Save your favourite Tweets.
|
||||||
* Save your favourite Youtube videos [Coming soon!]
|
* Save your favourite Youtube videos [Coming soon!]
|
||||||
* Tor-friendly.
|
* Tor-friendly.
|
||||||
@ -40,12 +54,12 @@ Only the hash of your password is stored on the database. Also no personal infor
|
|||||||
I always recommend self-hosting, as you will be the only person with access to the data.
|
I always recommend self-hosting, as you will be the only person with access to the data.
|
||||||
|
|
||||||
## Privacy
|
## Privacy
|
||||||
Parasitter cares about your privacy, and for this it will never make any connection to Twitter or Youtube. We make use pf rss feeds to fetch all the tweets from your followed accounts. If you want to use a specific Nitter or Invidious instance you can replace it on the file `app/routes.py`.
|
Parasitter cares about your privacy, and for this it will never make any connection to Twitter or Youtube. We make use of rss feeds to fetch all the tweets and videos from your followed accounts. If you want to use a specific Nitter or Invidious instance you can replace it at the top of the file `app/routes.py`.
|
||||||
|
|
||||||
It is always recommended to set up a self-hosted instance. It is quite easy and conveninent and will give you full control over your data. The only data that is stored on the Database is:
|
It is always recommended to set up a self-hosted instance. It is quite easy and conveninent and will give you full control over your data. The only data that is stored on the Database is:
|
||||||
* Hash of the password
|
* Hash of the password
|
||||||
* Username
|
* Username
|
||||||
* Email (we won't send you any mails so you can make up the mail) - This is for future versions.
|
* Email (Will be deprecated soon!)
|
||||||
* List of followed users
|
* List of followed users
|
||||||
* List of saved posts
|
* List of saved posts
|
||||||
|
|
||||||
@ -145,9 +159,9 @@ Another option is to host a Parasitter server so you can access it from anywhere
|
|||||||
* [microblog](https://github.com/miguelgrinberg/microblog)
|
* [microblog](https://github.com/miguelgrinberg/microblog)
|
||||||
|
|
||||||
### Donate 💌
|
### Donate 💌
|
||||||
This project is completelly Open Source and is built on my own free time as a hobby. I am (almost) alone with it [one contributor helped me with a small thing but he's not an active contributor anymore].
|
Testing with a public instance will soon be needed, and I will need to set up a server for this. If I want that Parasitter to go public and host some users I will need a (relativelly) good server and this is somehow expensive for me. So any contribution will be really welcome!
|
||||||
|
|
||||||
If you like it, you can buy me a coffee!
|
This project is completelly Open Source and is built on my own free time as a hobby. So if you like it, you can buy me a coffee!
|
||||||
|
|
||||||
- **Bitcoin**: `3EjaWjtsHz4WpbVL5Wx8Xg6MfyRRnKYj4e`
|
- **Bitcoin**: `3EjaWjtsHz4WpbVL5Wx8Xg6MfyRRnKYj4e`
|
||||||
- **Monero**: `83hinYmUkMH2ANgdhxRupmakzLwN26ddePrLQvZv4E3Q1CWjq7MDzsKRcPqLPQwTvG3DdujyaxbKbMsf9VKVAmphMhsfndc`
|
- **Monero**: `83hinYmUkMH2ANgdhxRupmakzLwN26ddePrLQvZv4E3Q1CWjq7MDzsKRcPqLPQwTvG3DdujyaxbKbMsf9VKVAmphMhsfndc`
|
||||||
|
@ -1 +0,0 @@
|
|||||||
{"twitter": [{"username": "aantonop"}, {"username": "Trezor"}, {"username": "aitor13023985"}, {"username": "guaridadelzorro"}, {"username": "elonmusk"}, {"username": "bitcoin"}, {"username": "monero"}, {"username": "xmroutreach"}, {"username": "Locha_io"}, {"username": "randybrito"}, {"username": "btcven"}, {"username": "Snowden"}, {"username": "_prestwich"}, {"username": "TradeOnFire"}, {"username": "fluffypony"}, {"username": "browseyourlife"}], "youtube": [{"channelId": "UCjr2bPAyPV7t35MvcgT3W8Q"}, {"channelId": "UCJWCJCWOxBYSi5DhCieLOLQ"}, {"channelId": "UCW3iqZr2cQFYKdO9Kpa97Yw"}, {"channelId": "UCLXo7UDZvByw2ixzpQCufnA"}, {"channelId": "UCR9sFzaG9Ia_kXJhfxtFMBA"}, {"channelId": "UCbdSYaPD-lr1kW27UJuk8Pw"}, {"channelId": "UCa3DVlGH2_QhvwuWlPa6MDQ"}, {"channelId": "UComoqWnjQlH7JpvqfyGnWNA"}, {"channelId": "UCA58hhLv4pdgDjBW5oNSklA"}, {"channelId": "UCkHR9m-tscD3ojD7_viIfTA"}, {"channelId": "UCYO_jab_esuFRV4b17AJtAw"}, {"channelId": "UC9-y-6csu5WGm29I7JiwpnA"}, {"channelId": "UC2PA-AKmVpU6NKCGtZq_rKQ"}, {"channelId": "UC2Qc22WUjL_GbBDIPvmHWmQ"}, {"channelId": "UC3Hx81QYLoEQkm3vyl4N4eQ"}, {"channelId": "UCiwy9Lx6h1Oi-UYwYDbgBZA"}, {"channelId": "UCHW_zn-nX5nvMjEA6mtNZ1A"}, {"channelId": "UCy5znSnfMsDwaLlROnZ7Qbg"}, {"channelId": "UCJQQVLyM6wtPleV4wFBK06g"}, {"channelId": "UCyoAJbq6rqi9bgMB0uDQSFg"}, {"channelId": "UCsXVk37bltHxD1rDPwtNM8Q"}]}
|
|
Reference in New Issue
Block a user