Libreddit - An alternative private front-end to Reddit

Overview

Libreddit

An alternative private front-end to Reddit

screenshot


10 second pitch: Libreddit is a portmanteau of "libre" (meaning freedom) and "Reddit". It is a private front-end like Invidious but for Reddit. Browse the coldest takes of r/unpopularopinion without being tracked.

  • ๐Ÿš€ Fast: written in Rust for blazing fast speeds and memory safety
  • โ˜๏ธ Light: no JavaScript, no ads, no tracking, no bloat
  • ๐Ÿ•ต Private: all requests are proxied through the server, including media
  • ๐Ÿ”’ Secure: strong Content Security Policy prevents browser requests to Reddit

BTC: bc1qwyxjnafpu3gypcpgs025cw9wa7ryudtecmwa6y

XMR: 45FJrEuFPtG2o7QZz2Nps77TbHD4sPqxViwbdyV9A6ktfHiWs47UngG5zXPcLoDXAc8taeuBgeNjfeprwgeXYXhN3C9tVSR


Instances

Feel free to open an issue to have your selfhosted instance listed here!

Website Country Cloudflare
libredd.it (official) ๐Ÿ‡บ๐Ÿ‡ธ US
libreddit.spike.codes (official) ๐Ÿ‡บ๐Ÿ‡ธ US
libreddit.dothq.co ๐Ÿ‡บ๐Ÿ‡ธ US
libreddit.kavin.rocks ๐Ÿ‡ฎ๐Ÿ‡ณ IN โœ…
libreddit.bcow.xyz ๐Ÿ‡บ๐Ÿ‡ธ US
libreddit.40two.app ๐Ÿ‡ณ๐Ÿ‡ฑ NL
reddit.invak.id ๐Ÿ‡ง๐Ÿ‡ฌ BG
reddit.phii.me ๐Ÿ‡บ๐Ÿ‡ธ US
lr.riverside.rocks ๐Ÿ‡บ๐Ÿ‡ธ US
libreddit.silkky.cloud ๐Ÿ‡ซ๐Ÿ‡ฎ FI
libreddit.database.red ๐Ÿ‡บ๐Ÿ‡ธ US โœ…
libreddit.exonip.de ๐Ÿ‡ฉ๐Ÿ‡ช DE
libreddit.domain.glass ๐Ÿ‡บ๐Ÿ‡ธ US โœ…
libreddit.sugoma.tk ๐Ÿ‡บ๐Ÿ‡ธ US
libreddit.trevorthalacker.com ๐Ÿ‡บ๐Ÿ‡ธ US โœ…
reddit.artemislena.eu ๐Ÿ‡ฉ๐Ÿ‡ช DE
r.nf ๐Ÿ‡ฉ๐Ÿ‡ช DE โœ…
libreddit.awesomehub.io ๐Ÿ‡ซ๐Ÿ‡ฎ FI
libreddit.some-things.org ๐Ÿ‡จ๐Ÿ‡ญ CH
reddit.stuehieyr.com ๐Ÿ‡ฉ๐Ÿ‡ช DE
lr.mint.lgbt ๐Ÿ‡จ๐Ÿ‡ฆ CA
spjmllawtheisznfs7uryhxumin26ssv2draj7oope3ok3wuhy43eoyd.onion ๐Ÿ‡ฎ๐Ÿ‡ณ IN
fwhhsbrbltmrct5hshrnqlqygqvcgmnek3cnka55zj4y7nuus5muwyyd.onion ๐Ÿ‡ฉ๐Ÿ‡ช DE
dflv6yjt7il3n3tggf4qhcmkzbti2ppytqx3o7pjrzwgntutpewscyid.onion ๐Ÿ‡บ๐Ÿ‡ธ US
kphht2jcflojtqte4b4kyx7p2ahagv4debjj32nre67dxz7y57seqwyd.onion ๐Ÿ‡ณ๐Ÿ‡ฑ NL
inytumdgnri7xsqtvpntjevaelxtgbjqkuqhtf6txxhwbll2fwqtakqd.onion ๐Ÿ‡จ๐Ÿ‡ญ CH

A checkmark in the "Cloudflare" category here refers to the use of the reverse proxy, Cloudflare. The checkmark will not be listed for a site which uses Cloudflare DNS but rather the proxying service which grants Cloudflare the ability to monitor traffic to the website.


About

Find Libreddit on ๐Ÿ’ฌ Matrix, ๐Ÿ‹ Docker, :octocat: GitHub, and ๐ŸฆŠ GitLab.

Built with

  • Rust - Programming language
  • Hyper - HTTP server and client
  • Askama - Templating engine
  • Rustls - TLS library

Info

Libreddit hopes to provide an easier way to browse Reddit, without the ads, trackers, and bloat. Libreddit was inspired by other alternative front-ends to popular services such as Invidious for YouTube, Nitter for Twitter, and Bibliogram for Instagram.

Libreddit currently implements most of Reddit's (signed-out) functionalities but still lacks a few features.

How does it compare to Teddit?

Teddit is another awesome open source project designed to provide an alternative frontend to Reddit. There is no connection between the two and you're welcome to use whichever one you favor. Competition fosters innovation and Teddit's release has motivated me to build Libreddit into an even more polished product.

If you are looking to compare, the biggest differences I have noticed are:

  • Libreddit is themed around Reddit's redesign whereas Teddit appears to stick much closer to Reddit's old design. This may suit some users better as design is always subjective.
  • Libreddit is written in Rust for speed and memory safety. It uses Hyper, a speedy and lightweight HTTP server/client implementation.

Comparison

This section outlines how Libreddit compares to Reddit.

Speed

Lasted tested Jan 17, 2021.

Results from Google Lighthouse (Libreddit Report, Reddit Report).

Libreddit Reddit
Requests 20 70
Resource Size (card ui) 1,224 KiB 1,690 KiB
Time to Interactive 1.5 s 11.2 s

Privacy

Reddit

Logging: According to Reddit's 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

Location: 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

Cookies: Reddit's cookie notice documents the array of cookies used by Reddit including/regarding:

  • Authentication
  • Functionality
  • Analytics and Performance
  • Advertising
  • Third-Party Cookies
  • Third-Party Site

Libreddit

For transparency, I hope to describe all the ways Libreddit handles user privacy.

Logging: In production (when running the binary, hosting with docker, or using the official instances), Libreddit logs when Reddit is ratelimiting Libreddit and when Reddit's JSON responses can't be parsed. When debugging (running from source without --release), Libreddit logs post IDs and URL paths fetched to aid with troubleshooting.

DNS: Both official domains (libredd.it and libreddit.spike.codes) use Cloudflare as the DNS resolver. Though, the sites are not proxied through Cloudflare meaning Cloudflare doesn't have access to user traffic.

Cookies: Libreddit uses optional cookies to store any configured settings in the settings menu. This is not a cross-site cookie and the cookie holds no personal data, only a value of the possible layout.

Hosting: The official instances are hosted on Replit which monitors usage to prevent abuse. I can understand if this invalidates certain users' threat models and therefore, selfhosting and browsing through Tor are welcomed.


Installation

1) Cargo

Make sure Rust stable is installed along with cargo, Rust's package manager.

cargo install libreddit

2) Docker

Deploy the Docker image of Libreddit:

docker pull spikecodes/libreddit
docker run -d --name libreddit -p 8080:8080 spikecodes/libreddit

Deploy using a different port (in this case, port 80):

docker pull spikecodes/libreddit
docker run -d --name libreddit -p 80:8080 spikecodes/libreddit

To deploy on arm64 platforms, simply replace spikecodes/libreddit in the commands above with spikecodes/libreddit:arm.

To deploy on armv7 platforms, simply replace spikecodes/libreddit in the commands above with spikecodes/libreddit:armv7.

3) AUR

For ArchLinux users, Libreddit is available from the AUR as libreddit-git.

yay -S libreddit-git

4) GitHub Releases

If you're on Linux and none of these methods work for you, you can grab a Linux binary from the newest release.

5) Replit

Note: Replit is a free option but they are not private and will monitor server usage to prevent abuse. If you need a free and easy setup, this method may work best for you.

  1. Create a Replit account (see note above)
  2. Visit the official Repl and fork it
  3. Hit the run button to download the latest Libreddit version and start it

In the web preview (defaults to top right), you should see your instance hosted where you can assign a custom domain.


Deployment

Once installed, deploy Libreddit to 0.0.0.0:8080 by running:

libreddit

Change Default Settings

Assign a default value for each setting by passing environment variables to Libreddit in the format LIBREDDIT_DEFAULT_{X}. Replace {X} with the setting name (see list below) in capital letters.

Name Possible values Default value
THEME ["system", "light", "dark", "black", "dracula", "nord", "laserwave", "violet", "gold"] system
FRONT_PAGE ["default", "popular", "all"] default
LAYOUT ["card", "clean", "compact"] card
WIDE ["on", "off"] off
COMMENT_SORT ["hot", "new", "top", "rising", "controversial"] hot
POST_SORT ["confidence", "top", "new", "controversial", "old"] confidence
SHOW_NSFW ["on", "off"] off
USE_HLS ["on", "off"] off
HIDE_HLS_NOTIFICATION ["on", "off"] off

Examples

LIBREDDIT_DEFAULT_SHOW_NSFW=on libreddit
LIBREDDIT_DEFAULT_WIDE=on LIBREDDIT_DEFAULT_THEME=dark libreddit -r

Proxying using NGINX

NOTE If you're proxying Libreddit through a NGINX Reverse Proxy, add

proxy_http_version 1.1;

to your NGINX configuration file above your proxy_pass line.

SystemD

You can use the SystemD service available in contrib/libreddit.service (install it on /etc/systemd/system/libreddit.service).

That service can be optionally configured in terms of environment variables by creating a file in /etc/libreddit.conf. Use the contrib/libreddit.conf as a template. You can also add the LIBREDDIT_DEFAULT__{X} settings explained above.

When "Proxying using NGINX" where the proxy is on the same machine, you should guarantee nginx waits for this service to start. Edit /etc/systemd/system/libreddit.service.d/reverse-proxy.conf:

[Unit]
Before=nginx.service

Building

git clone https://github.com/spikecodes/libreddit
cd libreddit
cargo run
Comments
  • Bug Report | Proxied media issues

    Bug Report | Proxied media issues

    Describe the bug

    Libreddit proxies videos synchronously. This causes videos on some devices to buffer for a long time (while Libreddit downloads the videos to the stack) and makes videos on other devices (such as iOS and MacOS devices) no longer compliant with the playback formats.

    Problems

    ~~1. Video playback is slow in Vivaldi~~

    I assume this issue happens in other browsers as well, though I've only tested this issue in Firefox, Vivaldi and Brave. Each rendering engine handles media differently. The video buffers for a long time (I measured 30 seconds for one video) before playing.

    2. Video playback is broken in WebKit-based browsers

    I haven't found this to be an issue in Firefox or Brave but it appears WebKit handles media differently than Gecko and Chromium do. Based on my research, it appears the slashed grey play button shows that the proxied MP4s aren't "compliant" with WebKit video guidelines.

    ~~3. Videos have no audio~~

    This is less of a bug and more of a missing feature as Reddit stores the audio and video separately. Below, I proposed different solutions that could "mux" (combine) the audio and video clips before the users play them. image


    Proposed video solutions

    :heavy_check_mark: 1. Stream both Reddit headers and the media body through Tide

    Currently, Tide supports streaming a Body from a reader but I don't believe the same applies for headers (we will see). This solution would be ideal as it would require the least major changes to the codebase.

    2. Download the media to the instance's storage for faster fetching

    This solution would require quite a lot of storage on the hosted instance which may make it unsuitable for Repl.it (which has a size limit for REPLs). Storing the media would allow the video to be merged with the audio which would fix #14. This is the method used by Teddit for proxied media.

    3. Stream the request through an alternative HTTP server that supports it


    Proposed audio solutions

    1. Combine the audio and video server-side

    The only video solution that I could see working with this is downloading the entire media offline before muxing and serving them again.

    :heavy_check_mark: 2. Use JavaScript to combine the Reddit-proxied audio and video client side

    Ideally, Libreddit would work entirely without JavaScript but if the other solutions are not possible, then it may be required. Reddit serves a HLS url for posts which is likely what Libreddit would use in this scenario. This approach is also taken by Nitter.

    The HLS url stream can be parsed from Reddit's API:

    post["data"]["secure_media"]["reddit_video"]["hls_url"]
    

    Additional context

    I have concluded that #145, #76, and #14 all stem from the method Libreddit uses to proxy content so I have unified these issues under a single bug report.

    bug 
    opened by spikecodes 35
  • Support displaying awards

    Support displaying awards

    Implements the feature request: https://github.com/spikecodes/libreddit/issues/24

    TODO:

    • [x] Parse awards
    • [x] Make awards a property of posts
    • [x] Display awards for comments
    • [x] Display awards for posts
    • [x] Clean up the code

    I am keeping this pull request open to track the changes, and so the creation of the project is aware this issue is being worked on.

    opened by DiegoMagdaleno 21
  • Bug Report | Media unplayable on WebKit-based browsers

    Bug Report | Media unplayable on WebKit-based browsers

    Describe the bug Reddit GIFs + videos on Libreddit are unplayable.

    To reproduce Steps to reproduce the behavior:

    1. Go to this video. Another video example. GIF example.
    2. A play button with a line through it appears

    Expected behavior GIFs/videos should be playable. Iโ€™m not sure why Safari on iOS isnโ€™t able to play them on Libreddit. Those very same GIFs and videos play well on Reddit.

    Additional context Reproduced on all of Libredditโ€™s working instances.

    405634D4-A994-4AEE-AABC-8450AA0DC310

    bug 
    opened by Mennaruuk 19
  • Subscribing to subreddits (favorites)

    Subscribing to subreddits (favorites)

    Implements basic subreddit subscriptions/favourites (#23), managed through each sub's sidebar.

    I've never written in Rust before so the code is pretty rough.

    Changes in code/Implementation details

    • Subscription list is a comma-separated list of subreddit names, saved under the subscriptions cookie.
    • Adding a sub to the list requires clicking the "subscribe" button in the sidebar
      • Subscribe is a GET request to /r/{{ subreddit }}/subscribe/, which will add that sub to the cookie
    • Removing a sub requires clicking "unsubscribe" in the sidebar or in settings
      • Unsubscribe is a GET request to /r/{{ subreddit }}/unsubscribe/ which will remove that sub from the subscriptions cookie or delete the cookie if it's the last one
      • GET is used instead of POST because I ran into strange behaviour when trying to loop over the unsubscribe forms in settings. It seems looping with forms results in the first form tag being ignored.

    Visual changes

    • A new subscriptions dropdown (uses details now but I might test hover in the future)
      • If you've subscribed to a subreddit, it will appear
      • It's a vertical list similar in appearance to the sort bar
      • The active subreddit is highlighted in the accent colour
    • Margins in the main element have been reduced to allow for an element to fit in above. The navbar padding has become body padding.
    • Other elements near the subscriptions dropdown have had their styles tweaked.

    Sub list considerations

    ~~The sub list currently appears as an extra horizontal bar (in the style of the sort bar) under the navbar.~~

    The sub list was previously a horizontal bar. Now it's a drop-down button that should stay at the top left of the main content or be centred under the nav bar on mobile.

    If we place it inside the navbar, it makes it way too tall, especially on mobile. Other sub lists like on RES or teddit are part of the navbar but those bars aren't fixed.

    ~~Another idea is to use a dropdown menu for a vertical list like new Reddit.~~

    Reddit has a drop-down button in the navbar, but it was a bit messy trying to fit the button (& a smaller symbol variant) with everything else in the mobile navbar.

    opened by mcrossman 18
  • Bug Report | No audio for proxied videos

    Bug Report | No audio for proxied videos

    Steps to reproduce:

    1. Find a post consisting of a single video hosted by Reddit,
    2. Visit it on libreddit using Firefox. (Have not tested to see if this bug exists for other browsers.)

    Result: the video is proxied and playable by the browser's native player (yeay!) but loses the audio track (boo!).

    Example URL: https://libredd.it/r/valkyrae/comments/klhie9/rock_mannn/.

    Expected: head audio when playing the video.

    bug 
    opened by Zegnat 18
  • Bug Report | Video problems on Vivaldi

    Bug Report | Video problems on Vivaldi

    Describe the bug When browsing libreddit on the Vivaldi Browser, there are many issues with video. The video has no audio, it just buffers endlessly most of the time, when you press play the videos get smaller and are forced into a wider aspect ratio, while still buffering, although they return to normal if they do eventually play. Sometimes you press play and it appears to cause an error in the browser, as the whole window goes gray like it does when you first open the browser. Sometimes videos are just black and don't even buffer. Finally, long videos will only play the first few seconds, and will only appear to be a few seconds long.

    To reproduce Steps to reproduce the behavior:

    1. Open the Vivaldi browser
    2. Go to libredd.it
    3. Look for videos in the feed
    4. Try to play them
    5. See issue

    Expected behavior The video will play on click (or even automatically), with audio, and will play the entirety of the video Additional context N/A

    bug 
    opened by iam-cult 14
  • Bug Report | www.

    Bug Report | www.

    Describe the bug I have to manually remove www. from URL to access Libreddit's official instances.

    To reproduce Steps to reproduce the behavior:

    1. Go to https://www.libreddit.spike.codes

    Expected behavior I think www. should redirect to the site without www. That way, people won't have to face an error. This isn't a huge issue for computer users (if users want to not touch Reddit.com, they can use Privacy Redirect), but it's a problem when I'm on Safari and I find a Reddit search. Unfortunately, iOS doesn't allow custom redirecting, so I'm left with manually selecting all of www.reddit.com, deleting it, and instead typing libredd.it.

    Additional context Is there a way to do something like this for libredd.it and libreddit.spikes.codes? image

    bug 
    opened by Mennaruuk 14
  • Bug Report | Empty flairs showing

    Bug Report | Empty flairs showing

    Describe the bug There is a small post flair that shows up on some posts randomly and for no apparent reason. When I go down posts in a subreddit and find a culprit post, this flair is at the start of the title. When I click the post, the flair moves to the end of the title.

    To reproduce Steps to reproduce the behavior:

    1. I archived r/askhistorians on Libreddit in case this slips away. Check out the first two unstickied posts.
    2. Go to this post on r/askhistorians
    3. Check for the small post flair

    Expected behavior I checked the Reddit post, and it didn't seem to have any flair, so theoretically there shouldn't be a flair on Libreddit.

    Additional context Here's a comparison screenshot: libreddit Also how the flair ends up trailing the title when you click the post: atend



    (I have one more question: I see there's whitespace after text in the flair. Is this a bug or a feature?) image

    bug 
    opened by Mennaruuk 13
  • nginx reverse proxying

    nginx reverse proxying

    I saw some of the alternative instances are hosted behind Apache or nginx. I have had absolutely no success getting libreddit to work with nginx. I've been trying the following configuration to no avail:

    server {
        listen 443 ssl http2;
        server_name libreddit.${NGINX_HOST};
    
        location / {
            set $libreddit http://libreddit:8080;
            proxy_pass $libreddit;
        }
    }
    

    I get a bad gateway on each index hit: [error] 34#34: *93 upstream prematurely closed connection while reading response header from upstream

    I'm running my instance from Docker and building the image off the latest master commit. The instance is accessible from both containers:

    [email protected]:/# curl -I libreddit:8080
    HTTP/1.1 200 OK
    content-length: 36365
    content-security-policy: default-src 'none'; manifest-src 'self'; media-src 'self'; style-src 'self' 'unsafe-inline'; base-uri 'none'; img-src 'self' data:; form-action 'self'; frame-ancestors 'none';
    content-type: text/html
    date: Tue, 16 Feb 2021 20:09:31 GMT
    referrer-policy: no-referrer
    x-content-type-options: nosniff
    x-frame-options: DENY
    
    [email protected]:/usr/src/libreddit# curl -I localhost:8080
    HTTP/1.1 200 OK
    content-length: 36365
    content-security-policy: default-src 'none'; manifest-src 'self'; media-src 'self'; style-src 'self' 'unsafe-inline'; base-uri 'none'; img-src 'self' data:; form-action 'self'; frame-ancestors 'none';
    content-type: text/html
    date: Tue, 16 Feb 2021 20:11:40 GMT
    referrer-policy: no-referrer
    x-content-type-options: nosniff
    x-frame-options: DENY
    

    Any help getting this configuration to work would much appreciated.

    question 
    opened by h1nk 12
  • Cannot import large amount of Subscriptions

    Cannot import large amount of Subscriptions

    Describe the bug

    I cannot import my subscriptions because I have too many subscriptions. Opening the link in libreddit does open a new multireddit, but the multireddit cannot be subscribed to.

    To reproduce

    1. Subscribe to over 250 subreddits.
    2. Open the multireddit link in libreddit.
    3. Note that some subreddits are not included.
    4. Click/tap Subscribe to Multireddit.
    5. Subreddits are not subscribed to.

    Expected behavior

    Subscriptions should import.

    Additional context

    A workaround to import the full list would also be nice, instead of having to create multiple multireddit links.

    bug 
    opened by MetalNeo 11
  • Armv7 docker build?

    Armv7 docker build?

    Good day, the other day I found this project and wanted to try it out on a free Raspberry I had lying around. However (logically) the arm64 image does not work on the armv7 raspberry. I tried to change the dockerfile so that it compiles but failed. Is there any chance of getting an official armv7 image?

    enhancement 
    opened by kjboa 10
  • PSA: new fork, contributors wanted

    PSA: new fork, contributors wanted

    @PAI5REECHO and I started a fork, libbacon/libbacon, in response to the stasis of the libreddit project (see #585). Contributors are wanted. Please raise new issues/PRs, especially if you have ones in this repo. Hopefully we can breathe life into this project once again.

    @spikecodes: Thank you once again for building libreddit. Please let us know when you are back, and if you would like us to synchronize the fork against libreddit.

    opened by Daniel-Valentine 0
  • Replit deploy fails

    Replit deploy fails

    I am using the replit deploy option on libreddit's README, where replit predicts the project as a rust-based one. Is that correct?

    image

    And it eventually fails when I run:

    while true; do wget -O libreddit https://github.com/spikecodes/libreddit/releases/latest/download/libreddit;chmod +x libreddit;./libreddit -H 63115200;sleep 1;done
    sh: line 1: wget: command not found
    chmod: cannot access 'libreddit': No such file or directory
    sh: line 1: ./libreddit: No such file or directory
    sh: line 1: wget: command not found
    chmod: cannot access 'libreddit': No such file or directory
    sh: line 1: ./libreddit: No such file or directory
    sh: line 1: wget: command not found
    chmod: cannot access 'libreddit': No such file or directory
    sh: line 1: ./libreddit: No such file or directory
    sh: line 1: wget: command not found
    chmod: cannot access 'libreddit': No such file or directory
    sh: line 1: ./libreddit: No such file or directory
    sh: line 1: wget: command not found
    chmod: cannot access 'libreddit': No such file or directory
    sh: line 1: ./libreddit: No such file or directory
    signal: terminated
    
    opened by arunsathiya 1
  • list a selfhosted instance

    list a selfhosted instance

    hi, i would like to have my instance listed on this github page.

    https://libreddit.drunkcord.com server is located in Germany using cloudflare reverse proxy: no

    opened by s1522711 0
  • ๐Ÿ› Bug Report: the official libredd.it instance brings to a different website

    ๐Ÿ› Bug Report: the official libredd.it instance brings to a different website

    Describe the bug

    the offical instance at libredd.it instead of bringing to the libreddit interface brings to a "chatify" interface, the website is also been flagged as malicious on virustotal.com by "heimdal security"

    bug 
    opened by ascreenwithlegs 0
Releases(v0.22.9)
  • v0.22.9(May 29, 2022)

    What's Changed

    • Fix dark theme hidden in settings 5f20e8ee2700180fa99ce22feb9202373fe0710c
    • Fix HTML encoding in templating by @ClockVapor in https://github.com/spikecodes/libreddit/pull/404
    • Fix "Post url contains non-ASCII characters" error. by @Midblyte in https://github.com/spikecodes/libreddit/pull/479
    • Change localhost to 0.0.0.0 in contrib/libreddit.conf so that it doesnt complain about localhost not being a valid addr by @gi-yt in https://github.com/spikecodes/libreddit/pull/498
    • remove 40two.app - dead/serves ads by @sybenx in https://github.com/spikecodes/libreddit/pull/517
    • Removed libreddit.alefvanoon.xyz instance by @guaddy in https://github.com/spikecodes/libreddit/pull/516

    New Contributors

    • @Midblyte made their first contribution in https://github.com/spikecodes/libreddit/pull/479
    • @sybenx made their first contribution in https://github.com/spikecodes/libreddit/pull/517
    • @guaddy made their first contribution in https://github.com/spikecodes/libreddit/pull/516

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.22.8...v0.22.9

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.82 MB)
    libreddit.sha512(155 bytes)
  • v0.22.8(May 21, 2022)

    What's Changed

    • CI: Add docker build caching by @HarshCasper in https://github.com/spikecodes/libreddit/pull/493
    • Add reddit.dr460nf1r3.org instance by @dr460nf1r3 in https://github.com/spikecodes/libreddit/pull/504
    • Restore post sorting preference by link by @ClockVapor in https://github.com/spikecodes/libreddit/pull/406
    • Remove silkky.cloud instance. https://github.com/spikecodes/libreddit/issues/510
    • Made instance url consistant by @BobIsMyManager in https://github.com/spikecodes/libreddit/pull/511
    • Embed css themes to simplify adding and testing new themes. by @mikupls in https://github.com/spikecodes/libreddit/pull/489
    • Harden Systemd configuration by @erdnaxe in https://github.com/spikecodes/libreddit/pull/453

    New Contributors

    • @HarshCasper made their first contribution in https://github.com/spikecodes/libreddit/pull/493
    • @dr460nf1r3 made their first contribution in https://github.com/spikecodes/libreddit/pull/504
    • @BobIsMyManager made their first contribution in https://github.com/spikecodes/libreddit/pull/511
    • @erdnaxe made their first contribution in https://github.com/spikecodes/libreddit/pull/453

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.22.7...v0.22.8

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.80 MB)
    libreddit.sha512(155 bytes)
  • v0.22.7(May 15, 2022)

    What's Changed

    • โœ๏ธfix: Tries to add better readability - โžก๏ธ fix: Moves funding links to correct file by @walkxcode in https://github.com/spikecodes/libreddit/pull/477
    • Add new instance to list of public instances by @5trongthany in https://github.com/spikecodes/libreddit/pull/478
    • Let native elements use theme accent colour by @EnderDev in https://github.com/spikecodes/libreddit/pull/509
    • Add lr.vern.cc to instance list by @gi-yt in https://github.com/spikecodes/libreddit/pull/505
    • โœ๏ธ Fix link to Cloudflare in README.md by @nchristopher in https://github.com/spikecodes/libreddit/pull/506
    • Fix multireddit subscription redirect url bb7fb1313d1fb05644a8feb7fa93a3b2d261b23a
    • Update instances https://github.com/spikecodes/libreddit/commit/1c50c8f30dfc19e5f43073b8b31d17d2d77943df

    New Contributors

    • @walkxcode made their first contribution in https://github.com/spikecodes/libreddit/pull/477
    • @5trongthany made their first contribution in https://github.com/spikecodes/libreddit/pull/478
    • @gi-yt made their first contribution in https://github.com/spikecodes/libreddit/pull/505
    • @nchristopher made their first contribution in https://github.com/spikecodes/libreddit/pull/506

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.22.6...v0.22.7

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.81 MB)
    libreddit.sha512(155 bytes)
  • v0.22.6(Apr 3, 2022)

  • v0.22.5(Mar 26, 2022)

  • v0.22.4(Mar 26, 2022)

  • v0.22.3(Mar 26, 2022)

  • v0.22.2(Mar 16, 2022)

  • v0.22.1(Mar 14, 2022)

  • v0.22.0(Mar 13, 2022)

    What's Changed

    • leddit.xyz instance location change by @kzshantonu in https://github.com/spikecodes/libreddit/pull/387
    • Fix and improve admin/mod distinguishers by @674Y3r in https://github.com/spikecodes/libreddit/pull/386
    • Add libreddit.bus-hit.me to instances by @austinhuang0131 in https://github.com/spikecodes/libreddit/pull/398
    • Remove Cloudflare Proxy from libreddit.drivet.xyz by @GhostSlayer in https://github.com/spikecodes/libreddit/pull/360
    • Changed location of my VPS :) by @EsmailELBoBDev2 in https://github.com/spikecodes/libreddit/pull/415
    • add my instances by @kylrth in https://github.com/spikecodes/libreddit/pull/446
    • new DE instance by @kzshantonu in https://github.com/spikecodes/libreddit/pull/429
    • Update instances by @austinhuang0131 in https://github.com/spikecodes/libreddit/pull/421
    • Add user listing buttons by @ClockVapor in https://github.com/spikecodes/libreddit/pull/400

    New Contributors

    • @kzshantonu made their first contribution in https://github.com/spikecodes/libreddit/pull/387
    • @674Y3r made their first contribution in https://github.com/spikecodes/libreddit/pull/386
    • @austinhuang0131 made their first contribution in https://github.com/spikecodes/libreddit/pull/398
    • @GhostSlayer made their first contribution in https://github.com/spikecodes/libreddit/pull/360
    • @kylrth made their first contribution in https://github.com/spikecodes/libreddit/pull/446

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.21.6...v0.22.0

    Source code(tar.gz)
    Source code(zip)
    libreddit(13.74 MB)
    libreddit.sha512(155 bytes)
  • v0.21.7(Jan 6, 2022)

  • v0.21.6(Jan 6, 2022)

  • v0.21.5(Jan 6, 2022)

    What's Changed

    • Fix sort button scrollbars 8b8f55e09aeafdeaaa81404f83a09c58c9d65bac
    • Search fixes by @andrew-kaufman in https://github.com/spikecodes/libreddit/pull/384

    New Contributors

    • @andrew-kaufman made their first contribution in https://github.com/spikecodes/libreddit/pull/384

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.21.4...v0.21.5

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.36 MB)
    libreddit.sha512(155 bytes)
  • v0.21.4(Dec 29, 2021)

  • v0.21.3(Dec 29, 2021)

  • v0.21.2(Dec 28, 2021)

  • v0.21.1(Dec 28, 2021)

  • v0.21.0(Dec 28, 2021)

  • v0.20.5(Dec 28, 2021)

  • v0.20.4(Dec 27, 2021)

  • v0.20.3(Dec 27, 2021)

    What's Changed

    • Rewrite Reddit post links to Libreddit equivalents 7aeabfc4bc62e145bc8f16789c6ef3c574b4dd6a
    • docs: add the missing AUTOPLAY_VIDEOS in README by @xatier in https://github.com/spikecodes/libreddit/pull/361
    • Don't create hrefs to u/[deleted] by @alyaeanyx in https://github.com/spikecodes/libreddit/pull/367
    • Refactor Media parsing by @mikupls in https://github.com/spikecodes/libreddit/pull/334
    • add new instance by @EsmailELBoBDev2 in https://github.com/spikecodes/libreddit/pull/369

    New Contributors

    • @xatier made their first contribution in https://github.com/spikecodes/libreddit/pull/361
    • @alyaeanyx made their first contribution in https://github.com/spikecodes/libreddit/pull/367
    • @EsmailELBoBDev2 made their first contribution in https://github.com/spikecodes/libreddit/pull/369

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.20.2...v0.20.3

    Source code(tar.gz)
    Source code(zip)
  • v0.20.2(Nov 30, 2021)

  • v0.20.1(Nov 28, 2021)

  • v0.20.0(Nov 28, 2021)

    What's Changed

    • Update privacy policy https://github.com/spikecodes/libreddit/commit/beada1f2b2a63aefbcdcd87f0aca0544a3d1fe84
    • Added rosebox theme by @x6r in https://github.com/spikecodes/libreddit/pull/237
    • Support displaying awards by @DiegoMagdaleno in https://github.com/spikecodes/libreddit/pull/168
    • Filter subreddits and users by @ClockVapor in https://github.com/spikecodes/libreddit/pull/317
    • Set sub and user descriptions to overflow-wrap: anywhere by @ClockVapor in https://github.com/spikecodes/libreddit/pull/345

    New Contributors

    • @x6r made their first contribution in https://github.com/spikecodes/libreddit/pull/237
    • @DiegoMagdaleno made their first contribution in https://github.com/spikecodes/libreddit/pull/168

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.19.1...v0.20.0

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.31 MB)
    libreddit.sha512(155 bytes)
  • v0.19.1(Nov 24, 2021)

  • v0.19.0(Nov 24, 2021)

  • v0.18.2(Nov 23, 2021)

    • Add Glitch deployment option https://github.com/spikecodes/libreddit/issues/339
    • Shrink and embolden comment scores to fit better 2878d9c799f18cab42b10e2376242009e53e2c57
    • Fix HLS + autoplay from breaking videos 923ff776bd5e88245dd8c39e55fa82594a3817cb

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.18.1...v0.18.2

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.23 MB)
    libreddit.sha512(155 bytes)
  • v0.18.1(Nov 22, 2021)

  • v0.18.0(Nov 22, 2021)

    Huge thanks @mikupls for their many contributions to Libreddit recently! โค

    What's Changed

    • Link subscriptions in settings to their respective feeds 722019081148a17ab329ac4244641ad2631d50b7
    • Collapse (sticky) bot comments by default. by @mikupls in https://github.com/spikecodes/libreddit/pull/321
    • Add text post previews. by @mikupls in https://github.com/spikecodes/libreddit/pull/328
    • Hide text post previews in Compact mode by @rubenelshof in https://github.com/spikecodes/libreddit/pull/329
    • Format post and comment votes with a decimal place, like vanilla reddit does. by @mikupls in https://github.com/spikecodes/libreddit/pull/324
    • Render markdown correctly in text post previews by using selftext_html. by @mikupls in https://github.com/spikecodes/libreddit/pull/335

    New Contributors

    • @rubenelshof made their first contribution in https://github.com/spikecodes/libreddit/pull/329

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.17.0...v0.18.0

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.23 MB)
    libreddit.sha512(155 bytes)
  • v0.17.0(Nov 15, 2021)

    What's Changed

    • Add libreddit.pussthecat.org by @TheFrenchGhosty in https://github.com/spikecodes/libreddit/pull/310
    • Move libreddit.dothq.co to German server by @EnderDev in https://github.com/spikecodes/libreddit/pull/311
    • Remove cloudflare checkmark from my instance. by @FireMasterK in https://github.com/spikecodes/libreddit/pull/313
    • Add Riverside onion by @RiversideRocks in https://github.com/spikecodes/libreddit/pull/314
    • Change healthcheck script to utilise "wget" by @Chengings in https://github.com/spikecodes/libreddit/pull/309
    • Fix "Follow" button not changing to "Unfollow" by @ClockVapor in https://github.com/spikecodes/libreddit/pull/316
    • Add "open in reddit" by @mikupls in https://github.com/spikecodes/libreddit/pull/304
    • Update crates and optimize parameters 34ea6795194351f0faa6d6531262c74a299f7742

    New Contributors

    • @TheFrenchGhosty made their first contribution in https://github.com/spikecodes/libreddit/pull/310
    • @Chengings made their first contribution in https://github.com/spikecodes/libreddit/pull/309
    • @ClockVapor made their first contribution in https://github.com/spikecodes/libreddit/pull/316

    Full Changelog: https://github.com/spikecodes/libreddit/compare/v0.16.0...v0.17.0

    Source code(tar.gz)
    Source code(zip)
    libreddit(14.22 MB)
    libreddit.sha512(155 bytes)
Owner
Spike
Privacy advocate building open source software
Spike
Private swaps for Secret Network using a private entropy pool & differential privacy.

WIP SecretSwap: Anon Edition Private swaps for Secret Network! Uses private entropy pool for differential privacy when reporting pools sizes. Swap amo

Enigma 5 Apr 5, 2022
Programming language from down under, inspired by this Reddit post.

aussie++ Programming language from down under, inspired by this Reddit post. View live demo here. Special thanks to MarkWhyBird, louis100, and others

Zack Radisic 506 Sep 24, 2022
Uradhura is a telegram bot that fetches information and media from reddit

Pathetic little Telegram bot that fetches information from Reddit posts(with gif, image(post with single image) and video)

The Penguins Org 3 May 28, 2022
A simple clone of reddit r/place

Run First install rustup with instructions on Rustup. Then run it: cargo run Endpoints There is two endpoints, one for getting canvas and the other fo

Kaveh 1 Sep 12, 2022
Blueboat is an open-source alternative to Cloudflare Workers. The monolithic engine for serverless web apps.

Blueboat Blueboat is an open-source alternative to Cloudflare Workers. Blueboat aims to be a developer-friendly, multi-tenant platform for serverless

Heyang Zhou 1.8k Sep 26, 2022
Alternative basic focus movement for the sway and i3 window managers.

sway-overfocus Alternative basic focus movement for the sway and i3 window managers. The primary goal of this program is to create one set of keybinds

null 38 Aug 21, 2022
Polydrive an experimental open source alternative to Google Drive

Polydrive is an experimental open source alternative to Google Drive. It allows users to synchronize their files on multiple devices.

null 3 Apr 20, 2022
An open source artifact manager. Written in Rust back end and an Vue front end to create a fast and modern experience

nitro_repo Nitro Repo is an open source free artifact manager. Written with a Rust back end and a Vue front end to create a fast and modern experience

Wyatt Jacob Herkamp 23 Aug 26, 2022
Seed is a Rust front-end framework for creating fast and reliable web apps with an Elm-like architecture.

Seed is a Rust front-end framework for creating fast and reliable web apps with an Elm-like architecture.

null 3.4k Sep 28, 2022
This is a simple lnd poller and web front-end to see and read boosts and boostagrams.

Helipad This package will poll a Lightning LND node for invoices related to Podcasting 2.0 and display them in a web interface. It's intended for use

Podcastindex.org 23 Jul 4, 2022
A TUI front-end for the Debug Adapter Protocol.

Pesticide A TUI front-end for the Debug Adapter Protocol. Motivation I am an avid kakoune user. Kak is a very niche text editor with few users. As suc

raiguard 6 Jun 17, 2022
A run-codes cli front end with some extra features

run-cli Run-cli A run-codes cli front end with some extra features Report Bug ยท Request Feature Table of Contents About The Project Built With Getting

Matheus Vieira 10 Aug 12, 2022
๐Ÿ€ Building a federated alternative to reddit in rust

Lemmy A link aggregator / Reddit clone for the fediverse. Join Lemmy ยท Documentation ยท Report Bug ยท Request Feature ยท Releases ยท Code of Conduct About

LemmyNet 6.7k Sep 21, 2022
An end-to-end encrypted, anonymous IP-hiding, decentralized, audio/video/file sharing/offline messaging multi-device platform built for both communications and application security and performance.

An end-to-end encrypted, anonymous IP-hiding, decentralized, audio/video/file sharing/offline messaging multi-device platform built for both communications and application security and performance.

null 2 Apr 27, 2022
An End-to-End Privacy Computing Protocol on Layer 2

Eigen Network Eigen Network is an end-to-end privacy computation network for a better digital economy based on hybrid privacy computation protocols an

Eigen Lab 23 Sep 23, 2022
End-to-end encryption and mutual authentication for distributed applications.

โœจ Hands-on Introduction: Build end-to-end encrypted, mutually-authenticated, secure messaging in Rust โœจ Rust and Elixir libraries for end-to-end encry

Ockam | Trust for Data-in-Motion 2.1k Sep 22, 2022
NymDrive is a complete, end-to-end encrypted file syncing daemon that runs over the Nym network.

NymDrive NymDrive is a complete, end-to-end encrypted file syncing daemon that runs over the Nym network. Features Active file monitoring of changes i

Hans Bricks 16 Jul 12, 2022
Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.

The Nym Privacy Platform The platform is composed of multiple Rust crates. Top-level executable binary crates include: nym-mixnode - shuffles Sphinx p

Nym 596 Sep 22, 2022
An open source desktop wallet for nano and banano with end-to-end encrypted, on chain messaging using the dagchat protocol.

An open source wallet with end-to-end encrypted, on chain messaging for nano and banano using the dagchat protocol.

derfarctor 15 Jul 19, 2022
Vector is a high-performance, end-to-end (agent & aggregator) observability data pipeline that puts you in control of your observability data

Quickstart โ€ข Docs โ€ข Guides โ€ข Integrations โ€ข Chat โ€ข Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabilit

Vector 11.3k Sep 26, 2022