2020-07-13 03:12:28 +05:30
# Parasitter
2020-07-13 03:22:51 +05:30
< p align = "center" > < img width = "150" src = "app/static/img/logo.png" > < / img > < / p >
2020-07-27 21:19:21 +05:30
< p align = "center" > Twitter and Youtube via RSS with privacy < / p >
2020-07-13 03:23:04 +05:30
< br >
2020-07-14 22:55:10 +05:30
2020-08-05 02:55:40 +05:30
### This is a new version where I'm trying to break dependance with Invidious (and later Nitter). Currently the video playing page (`/video/<video-id>`) no longer depends on Invidious, but it connects to *googlevideo*. I'm working on a proxy-based solution for this and any help is welcome!
2020-08-04 13:31:48 +05:30
Parasitter allows you to follow your favorite Twitter and YouTube accounts with full privacy using rss feeds in order to gather the latest content from your favourite accounts and builds a *beautiful* feed so you can read them. Parasitter is written in Python and Flask and uses Semantic-UI as its CSS framework.
2020-07-15 03:48:08 +05:30
Parasitter is possible thanks to several open-source projects that are listed on the [Powered by ](#powered-by ) section. Make sure to check out those awesome projects!
2020-07-13 04:06:16 +05:30
2020-07-13 18:31:54 +05:30
## Index:
2020-07-14 13:18:11 +05:30
* [Features ](#features )
2020-07-13 18:31:54 +05:30
* [Security ](#security )
* [Privacy ](#privacy )
* [Self hosting ](#self-hosting )
2020-08-05 02:55:40 +05:30
* [Test ](#test )
2020-07-14 12:18:13 +05:30
* [Update ](#updating-to-new-versions )
2020-07-15 03:57:38 +05:30
* [Server ](#server )
2020-07-13 18:31:54 +05:30
* [Powered by ](#powered-by )
2020-07-30 02:37:31 +05:30
* [Donate ](#donate- )
2020-07-13 04:13:13 +05:30
2020-07-14 13:18:11 +05:30
## Features:
* No JavaScript.
* Uses RSS feeds (could be expanded to more social networks)
* Follow Twitter accounts.
2020-07-27 21:21:26 +05:30
* Follow Youtube accounts.
* Save your favourite Tweets.
* Save your favourite Youtube videos [Coming soon!]
2020-07-14 13:18:11 +05:30
* Tor-friendly.
* Terminal-friendly.
* Easy 1 minute self-hosting deploy.
* No need for domain, runs locally.
2020-07-27 21:21:51 +05:30
> And many more to come!
2020-07-14 13:18:11 +05:30
2020-07-13 04:13:13 +05:30
## Security
2020-07-13 04:14:08 +05:30
Only the hash of your password is stored on the database. Also no personal information of any kind is kept on the app itself, if a hacker gets access to it only thing they could do would be to follow/unfollow some accounts.
2020-07-13 04:13:13 +05:30
I always recommend self-hosting, as you will be the only person with access to the data.
2020-07-13 18:26:31 +05:30
## Privacy
2020-07-27 21:47:39 +05:30
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` .
2020-07-13 18:26:31 +05:30
2020-07-13 18:26:45 +05:30
* Hash of the password
2020-07-13 18:26:31 +05:30
* Username
* Email (we won't send you any mails so you can make up the mail) - This is for future versions.
* List of followed users
* List of saved posts
2020-07-13 18:31:54 +05:30
# Self hosting
2020-08-05 02:55:40 +05:30
### Test
You can test this new version.
> IMPORTANT: Connections to googlevideo will be made to stream the videos. It is recommended to use a VPS server to preserve your privacy.
2020-07-15 03:57:38 +05:30
2020-07-15 16:25:47 +05:30
1. Install `python3` , `pip3` , `python3-venv` (optional) and `git` .
2020-07-13 03:25:32 +05:30
2. Clone this repository:
- `git clone https://github.com/pluja/Parasitter.git`
3. Navigate to the project folder:
- `cd Parasitter`
2020-07-13 18:20:39 +05:30
4. [Optional] Prepare a virtual environment and activate it:
> Python lets you create virtual environments. This allows you to avoid installing all the `pip` packages on your system.
If you don't mind about that, you can jump to step **5.** and ignore everything about "[env]".
2020-07-13 03:14:56 +05:30
- `python3 -m venv venv`
- `source venv/bin/activate`
2020-07-13 18:26:31 +05:30
> Now you are inside of the virtual environment for python. All instructions wiht [env] indicate that must be done inside the env if you decided to create one. From now on, you will always need to start the application from within the virtual env.
2020-07-13 18:20:39 +05:30
5. [env] Update pip
2020-07-14 22:32:49 +05:30
- `pip3 install --upgrade pip`
2020-07-14 12:14:31 +05:30
6. [env] Install the required libraries:
- `pip3 install -r requirements.txt`
2020-07-14 22:32:10 +05:30
> Use `sudo` or, preferably `--user`, if not working.
2020-07-13 18:20:39 +05:30
7. [env] Initialize and prepare the database.
2020-07-13 03:14:56 +05:30
- `flask db init`
- `flask db migrate`
- `flask db upgrade`
2020-07-13 18:20:39 +05:30
8. [env] Run the application.
2020-07-13 03:14:56 +05:30
- `flask run`
2020-07-13 18:20:39 +05:30
9. Go to "http://localhost:5000/" and enjoy.
2020-07-13 03:22:51 +05:30
2020-07-14 12:18:13 +05:30
### Updating to new versions:
2020-07-14 12:20:27 +05:30
**NOTE: Updating will never delete your database, your following list will not be erased.**
2020-07-13 18:28:56 +05:30
1. Navigate to the git repository (the one you cloned when installing).
2. Pull new changes:
- `git pull`
2020-07-14 12:14:31 +05:30
4. Install new packages (if any):
- `pip install -r requirements.txt`
> It may be that there are no new packages to install. In that case, all requirements will be satisfied.
2020-07-15 16:02:58 +05:30
2020-07-29 14:46:28 +05:30
5. [opt] This next step is only needed if you are running a version previous to [2020-07-15 ](CHANGELOG.md ). Then you will need to update the database:
2020-07-15 16:02:58 +05:30
- `flask db migrate`
- `flask db upgrade`
6. Done! You are on latest version.
> **See [CHANGELOG](CHANGELOG.md) for a list of changes.**
2020-07-13 03:22:51 +05:30
### Powered by:
2020-08-04 13:31:48 +05:30
* [RSSBridge ](https://github.com/RSS-Bridge/rss-bridge )
* [youtube-dl ](https://github.com/ytdl-org/youtube-dl )
2020-07-13 03:22:51 +05:30
* [Flask ](https://flask.palletsprojects.com/ )
* [SQLAlchemy ](https://docs.sqlalchemy.org/en/13/ )
2020-07-13 04:06:16 +05:30
* [Semantic-UI ](https://semantic-ui.com )
2020-07-14 22:55:10 +05:30
* [requests-futures ](https://github.com/ross/requests-futures )
2020-07-15 03:52:48 +05:30
* [microblog ](https://github.com/miguelgrinberg/microblog )
2020-07-30 02:34:56 +05:30
2020-07-30 02:37:00 +05:30
### Donate 💌
2020-07-30 02:34:56 +05:30
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].
If you like it, you can buy me a coffee!
2020-07-30 02:37:00 +05:30
- **Bitcoin**: `3EjaWjtsHz4WpbVL5Wx8Xg6MfyRRnKYj4e`
- **Monero**: `83hinYmUkMH2ANgdhxRupmakzLwN26ddePrLQvZv4E3Q1CWjq7MDzsKRcPqLPQwTvG3DdujyaxbKbMsf9VKVAmphMhsfndc`