From 1f524d25bcaf4d40e5d8565f5642a33b91e839ba Mon Sep 17 00:00:00 2001 From: Arya Kiran Date: Wed, 8 May 2024 11:55:11 +0530 Subject: [PATCH] add priviblur; inv -> ratelimiters.log --- privfrontends/configs/priviblur/config.toml | 68 +++++++++++++++++++++ privfrontends/templates/Caddyfile.j2 | 10 +++ privfrontends/templates/eu/misc.Caddyfile | 5 ++ privfrontends/vars.yaml | 18 ++++++ 4 files changed, 101 insertions(+) create mode 100644 privfrontends/configs/priviblur/config.toml diff --git a/privfrontends/configs/priviblur/config.toml b/privfrontends/configs/priviblur/config.toml new file mode 100644 index 0000000..4c85bbf --- /dev/null +++ b/privfrontends/configs/priviblur/config.toml @@ -0,0 +1,68 @@ +# Controls deployment options +[deployment] + host = "127.0.0.1" + port = 8000 + + # Amount of worker Priviblur instances to spawn. Increases speed significantly. + workers = 4 + + # # If you're running Priviblur behind a remote proxy, one or more of the following must be set + # # can also be set via env variables by captialzing and prefixing with PRIVIBLUR_ + # # + # # For more information see + # # https://sanic.dev/en/guide/advanced/proxy-headers.html + # # + # # Default: None + # # + # forwarded_secret = + # real_ip_header = + # proxies_count = + +# Controls redis cache options +# Ignore to disable the cache +# +[cache] + url = priviblur-redis:6379 + + # Number of seconds to cache poll results from active polls + cache_active_poll_results_for = 3600 + + # Number of seconds to cache poll results from expired polls + cache_expired_poll_results_for = 86400 + + # Number of seconds to cache feed (explore, search, etc) results for + cache_feed_for = 3600 + + # Number of seconds to cache blog feed (blog posts, blog search, blog tagged posts, etc) results for + cache_blog_feed_for = 3600 + + # Number of seconds to cache individual posts for + cache_blog_post_for = 300 + +# Controls behaviors pertaining to the way Priviblur requests Tumblr +[priviblur_backend] + # # Timeout for requests to Tumblr's API + main_response_timeout = 10 + + # # Timeout for fetching image responses from Tumblr + image_response_timeout = 30 + + +# Controls logging behavior +# +# Use Python's numerical logging levels +# https://docs.python.org/3/howto/logging.html#logging-levels +# [logging] + # # Sanic (Server)'s logging level' + # sanic_logging_level = 30 + + # # Priviblur's logging level + # priviblur_logging_level = 30 + + # # Priviblur extractor's logging level + # priviblur_extractor_logging_level = 20 + + +# [misc] + # # Enable sanic's dev mode + # dev_mode = false diff --git a/privfrontends/templates/Caddyfile.j2 b/privfrontends/templates/Caddyfile.j2 index 7415670..7f3364c 100644 --- a/privfrontends/templates/Caddyfile.j2 +++ b/privfrontends/templates/Caddyfile.j2 @@ -144,6 +144,11 @@ inv.{{ server_prefix }}.projectsegfau.lt i.{{ server_prefix }}.psf.lt { rewrite /vi/* ?host=i.ytimg.com } header -X-Frame-Options + log { + # This is temporarily required to monitor nitter traffic due to scrapers being more active, so we need to monitor and rate limit them at a later date. + output file /var/log/caddy/ratelimiters.log + format json + } import def import torloc inv } @@ -271,3 +276,8 @@ pi.{{ server_prefix }}.psf.lt { header -X-Frame-Options import def } +priviblur.{{ server_prefix }}.projectsegfau.lt priviblur.projectsegfau.lt pb.psf.lt pb.{{ server_prefix }}.psf.lt { + import def + reverse_proxy :9084 + import torloc priviblur +} diff --git a/privfrontends/templates/eu/misc.Caddyfile b/privfrontends/templates/eu/misc.Caddyfile index 315a75f..e5caf5c 100644 --- a/privfrontends/templates/eu/misc.Caddyfile +++ b/privfrontends/templates/eu/misc.Caddyfile @@ -6,6 +6,11 @@ inv.bp.projectsegfau.lt, i.bp.psf.lt, invidious.projectsegfau.lt, inv.projectseg reverse_proxy localhost:7573 { header_up Host "invidious.projectsegfau.lt" } + log { + # This is temporarily required to monitor nitter traffic due to scrapers being more active, so we need to monitor and rate limit them at a later date. + output file /var/log/caddy/ratelimiters.log + format json + } @pipedproxy { path /videoplayback path /videoplayback/* diff --git a/privfrontends/vars.yaml b/privfrontends/vars.yaml index 0115f3c..9a45c1b 100644 --- a/privfrontends/vars.yaml +++ b/privfrontends/vars.yaml @@ -242,6 +242,24 @@ apps: REDIS_REPLICATION_MODE: master mounts: - "{{data_dir}}/teddit/redis-data:/data" + priviblur: + needs_configs_dir: true + needs_data_dir: true + docker_settings: + services: + - name: priviblur + image: quay.io/pussthecat.org/priviblur:latest + ports: + - "9084:8000" + mounts: + - "{{configs_dir}}/priviblur/config.toml:/priviblur/config.toml:Z,ro" + - name: priviblur-redis + image: redis:6.2.5-alpine + command: redis-server + environment: + REDIS_REPLICATION_MODE: master + mounts: + - "{{data_dir}}/priviblur/redis-data:/data" watchtower: needs_configs_dir: false needs_data_dir: false