View deleted stuff from reddit
Find a file
2017-11-11 23:56:21 +01:00
config Added support for permalinks 2017-09-12 09:14:31 +02:00
pug Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
sass Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
static Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
.gitignore Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
about.html Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
compile.sh Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
README.md Added a bookmarklet for page 2017-11-04 20:56:55 +01:00
search.html Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
subreddit.html Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00
thread.html Can now display subreddits! Also started using sass and pug 2017-11-11 23:56:21 +01:00

Removeddit

Removeddit is a site for viewing removed and deleted comments from Reddit. Usage: go to any reddit thread and change the reddit in the URL to removeddit. The site will only display the removed comments and thier parents, not the full thread.

This is a done by comparing the comments found from Reddit API and comments from Jason Baumgartners Pushshift Reddit API. The frontend is written with a fuckton of promises and some Lodash. You can use this code however you want, as long as it's non-commercial (and preferably open source).

The "I just want to get this shit running" guide

Using Ubuntu 16.04 and nginx

sudo git clone https://github.com/JubbeArt/removeddit.git /var/www/removeddit
sudo apt install -y nginx
sudo cp /var/www/removeddit/config/basic /etc/nginx/sites-available/default

Create a reddit app here, select installed app. For "redirect url" it doesn't really matter in this case, you can pick http://localhost.

Copy the client ID for your app set it as a variable in id.js, e.g. with

sudo nano /var/www/removeddit/static/js/id.js
# Insert with ctrl-shift-v
# Save with ctrl-o, exit with ctrl-x

Restart nginx and visit "localhost"

sudo service nginx restart

The "I care about HTTPS and security" guide

In this part we'll set up nginx with SSL and set up a free renewing SSL certificates with Let's Encrypt. I assume you've already done the guide above.

Nginx.conf

Add the following to /etc/nginx/nginx.conf in the http-block (you can read about them here)

server_tokens off;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

In the same file you also want to change gzip on to gzip off (read more here).

Nginx server config

Copy the ssl config and create a soft link. Create folder for logs and also remove the default config

sudo cp /var/www/removeddit/config/ssl /etc/nginx/sites-available/removeddit.com
sudo ln -s /etc/nginx/sites-available/removeddit.com /etc/nginx/sites-enabled/removeddit.com
sudo mkdir /var/log/nginx/removeddit
sudo rm /etc/nginx/sites-enabled/default

Change both the "server_name" in the config to your domain name.

SSL with Let's encrypt

Read the full guide here. Start of by installing the Let's Encrypt client certbot

sudo apt install -y software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install -y python-certbot-nginx 

Copy the Let's Encrypt config file for our site

sudo mkdir /etc/letsencrypt/configs
cp /var/www/removeddit/config/letsencrypt.conf /etc/letsencrypt/configs/removeddit.com.conf

In this config file change the domains and the email address for your own. The emails tells you when the certificates are close to expiring.

This is when the webmasters start praying to God, for only He can deside the fate of the certbot. Forgive me, Father, for I have sinned. Just don't fuck up certs you asshole.

sudo certbot --config /etc/letsencrypt/configs/removeddit.com.conf certonly

You'll now have a valid SSL certificate (hopefully)! You now have to uncomment the ssl_certificate and ssl_certificate_key in /etc/nginx/sites-available/removeddit.com and maybe change the path depending on where the certs are located (check in /etc/letsencrypt/live/).

Automated renewal of certs

The certificate expires after 90 days so we want a way to atomatically update the certs. There are multiple ways of doing this but I find the easiest to be cron jobs.

First we'll test if renewing atcutally works with

sudo certbot renew --dry-run

If everything works fine we can create a cron with sudo crontab -e and select an editor your comfortable with (I like nano). Add the following lines at the bottom

# Let's Encrypt cert renewal for all sites (runs every day at 04:30)
30 4 * * * certbot renew --post-hook "systemctl reload nginx"

Then just restart nginx and that should do it!

This guide was mostly written for myself, you learn a shitton writing guides, highly recommended. Hopefully you learned something too.