Update README with Reddit Comparison
This commit is contained in:
parent
9ecbd25488
commit
dc0b5f42e6
2 changed files with 81 additions and 6 deletions
84
README.md
84
README.md
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> An alternative private front-end to Reddit
|
> An alternative private front-end to Reddit
|
||||||
|
|
||||||
Libre + Reddit = Libreddit
|
Libre + Reddit = [Libreddit](https://libredd.it)
|
||||||
|
|
||||||
- 🚀 Fast: written in Rust for blazing fast speeds and safety
|
- 🚀 Fast: written in Rust for blazing fast speeds and safety
|
||||||
- ☁️ Light: no javascript, no ads, no tracking
|
- ☁️ Light: no javascript, no ads, no tracking
|
||||||
|
@ -10,12 +10,36 @@ Libre + Reddit = Libreddit
|
||||||
- 🔒 Safe: does not rely on Reddit OAuth or require a Reddit API Key
|
- 🔒 Safe: does not rely on Reddit OAuth or require a Reddit API Key
|
||||||
- 📱 Responsive: works great on mobile!
|
- 📱 Responsive: works great on mobile!
|
||||||
|
|
||||||
Think Invidious but for Reddit. Watch your cat videos without being watched.
|
Inspired by other great alternative front-ends including [Invidious](https://github.com/iv-org/invidious), [Nitter](https://github.com/zedeus/nitter) and [Biliogram](https://github.com/cloudrac3r/bibliogram).
|
||||||
|
|
||||||
|
## Contents
|
||||||
|
- [Screenshot](#screenshot)
|
||||||
|
- [About](#about)
|
||||||
|
- [Elsewhere](#elsewhere)
|
||||||
|
- [Info](#info)
|
||||||
|
- [In Progress](#in-progress)
|
||||||
|
- [Teddit Comparison](#how-does-it-compare-to-teddit)
|
||||||
|
- [Comparison](#comparison)
|
||||||
|
- [Speed](#speed)
|
||||||
|
- [Privacy](#privacy)
|
||||||
|
- [Instances](#instances)
|
||||||
|
- [Installation](#installation)
|
||||||
|
- [Cargo](#a-cargo)
|
||||||
|
- [Docker](#b-docker)
|
||||||
|
- [AUR](#c-aur)
|
||||||
|
- [GitHub Releases](#d-github-releases)
|
||||||
|
- Developing
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
- [Building](#building)
|
||||||
|
|
||||||
## Screenshot
|
## Screenshot
|
||||||
|
|
||||||
![](https://i.ibb.co/1RyKrBz/libreddit-rust.png)
|
![](https://i.ibb.co/1RyKrBz/libreddit-rust.png)
|
||||||
|
|
||||||
|
## Comparison
|
||||||
|
|
||||||
|
This section outlines how Libreddit compares to Reddit.
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
### Elsewhere
|
### Elsewhere
|
||||||
|
@ -42,9 +66,59 @@ If you are looking to compare, the biggest differences I have noticed are:
|
||||||
- Libreddit is written in Rust for speed and memory safety. It uses Actix Web, which was [benchmarked as the fastest web server for single queries](https://www.techempower.com/benchmarks/#hw=ph&test=db).
|
- Libreddit is written in Rust for speed and memory safety. It uses Actix Web, which was [benchmarked as the fastest web server for single queries](https://www.techempower.com/benchmarks/#hw=ph&test=db).
|
||||||
- Unlike Teddit (at the time of writing this), Libreddit does not require a Reddit API key to host.
|
- Unlike Teddit (at the time of writing this), Libreddit does not require a Reddit API key to host.
|
||||||
|
|
||||||
|
|
||||||
|
### Speed
|
||||||
|
|
||||||
|
Lasted tested December 21, 2020.
|
||||||
|
|
||||||
|
Results from Google Lighthouse ([Libreddit Report](https://lighthouse-dot-webdotdevsite.appspot.com/lh/html?url=https%3A%2F%2Flibredd.it), [Reddit Report](https://lighthouse-dot-webdotdevsite.appspot.com/lh/html?url=https%3A%2F%2Fwww.reddit.com%2F)).
|
||||||
|
|
||||||
|
| | Libreddit | Reddit |
|
||||||
|
|---------------------|---------------|-----------|
|
||||||
|
| Requests | 22 | 70 |
|
||||||
|
| Resource Size | 135 KiB | 2,222 KiB |
|
||||||
|
| Time to Interactive | **1.7 s** | **11.5 s**|
|
||||||
|
|
||||||
|
### Privacy
|
||||||
|
|
||||||
|
#### Reddit
|
||||||
|
|
||||||
|
According to Reddit's [privacy policy](https://www.redditinc.com/policies/privacy-policy), they "may [automatically] log information" including:
|
||||||
|
- IP address
|
||||||
|
- User-agent string
|
||||||
|
- Browser type
|
||||||
|
- Operating system
|
||||||
|
- Referral URLs
|
||||||
|
- Device information (e.g., device IDs)
|
||||||
|
- Device settings
|
||||||
|
- Pages visited
|
||||||
|
- Links clicked
|
||||||
|
- The requested URL
|
||||||
|
- Search terms
|
||||||
|
|
||||||
|
The same privacy policy goes on to describe location data may be collected through the use of:
|
||||||
|
- GPS (consensual)
|
||||||
|
- Bluetooth (consensual)
|
||||||
|
- Content associated with a location (consensual)
|
||||||
|
- Your IP Address
|
||||||
|
|
||||||
|
Reddit's [cookie notice](https://www.redditinc.com/policies/cookies) documents the array of cookies used by Reddit including/regarding:
|
||||||
|
- Authentication
|
||||||
|
- Functionality
|
||||||
|
- Analytics and Performance
|
||||||
|
- Advertising
|
||||||
|
- Third-Party Cookies
|
||||||
|
- Third-Party Site
|
||||||
|
|
||||||
|
#### Liberddit
|
||||||
|
|
||||||
|
In production (when running the binary, hosting with docker, or using the official instances), Libreddit logs nothing. When debugging (running from source without `--release`), Libreddit logs post IDs fetched to aid troubleshooting but nothing else.
|
||||||
|
|
||||||
|
Both official domains (`libredd.it` and `libreddit.spike.codes`) use Cloudflare. This may violate certain users' threat models and therefore, selfhosting is welcomed.
|
||||||
|
|
||||||
## Instances
|
## Instances
|
||||||
|
|
||||||
Feel free to [open an issue](https://github.com/spikecodes/libreddit/issues/new) to have your selfhosted instance listed here!
|
Feel free to [open an issue](https://github.com/spikecodes/libreddit/issues/new) to have your [selfhosted instance](#deployment) listed here!
|
||||||
|
|
||||||
- [libredd.it](https://libredd.it) 🇺🇸 (Thank you to [YeapGuy](https://github.com/YeapGuy)!)
|
- [libredd.it](https://libredd.it) 🇺🇸 (Thank you to [YeapGuy](https://github.com/YeapGuy)!)
|
||||||
- [libreddit.spike.codes](https://libreddit.spike.codes) 🇺🇸
|
- [libreddit.spike.codes](https://libreddit.spike.codes) 🇺🇸
|
||||||
|
@ -85,7 +159,7 @@ yay -S libreddit-git
|
||||||
If you're on Linux and none of these methods work for you, you can grab a Linux binary from [the newest release](https://github.com/spikecodes/libreddit/releases/latest).
|
If you're on Linux and none of these methods work for you, you can grab a Linux binary from [the newest release](https://github.com/spikecodes/libreddit/releases/latest).
|
||||||
Currently Libreddit does not have Windows or MacOS binaries but those will be available soon.
|
Currently Libreddit does not have Windows or MacOS binaries but those will be available soon.
|
||||||
|
|
||||||
## Deploy an Instance
|
## Deployment
|
||||||
|
|
||||||
Once installed, deploy Libreddit (unless you're using Docker) by running:
|
Once installed, deploy Libreddit (unless you're using Docker) by running:
|
||||||
|
|
||||||
|
@ -103,7 +177,7 @@ To disable the media proxy built into Libreddit, run:
|
||||||
libreddit --no-default-features
|
libreddit --no-default-features
|
||||||
```
|
```
|
||||||
|
|
||||||
## Building from Source
|
## Building
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/spikecodes/libreddit
|
git clone https://github.com/spikecodes/libreddit
|
||||||
|
|
|
@ -18,7 +18,8 @@ struct PostTemplate {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn render(id: String, sort: Option<String>, comment_id: Option<String>) -> Result<HttpResponse> {
|
async fn render(id: String, sort: Option<String>, comment_id: Option<String>) -> Result<HttpResponse> {
|
||||||
// Log the post ID being fetched
|
// Log the post ID being fetched in debug mode
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
dbg!(&id);
|
dbg!(&id);
|
||||||
|
|
||||||
// Handling sort paramater
|
// Handling sort paramater
|
||||||
|
|
Loading…
Reference in a new issue