From 4a824e449bc240de39dc647ea551c1ad9662bf6c Mon Sep 17 00:00:00 2001 From: Ben Busby Date: Wed, 24 Nov 2021 16:10:00 -0700 Subject: [PATCH] Set headers for every HTTPoison request This serves as a workaround for bot blocking via filtron. --- config/config.exs | 8 +++++++- lib/farside/instances.ex | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/config/config.exs b/config/config.exs index cbed1ef..36ede2f 100644 --- a/config/config.exs +++ b/config/config.exs @@ -8,4 +8,10 @@ config :farside, fallback_suffix: "-fallback", previous_suffix: "-previous", services_json: "services.json", - index: "index.eex" + index: "index.eex", + headers: [ + {"User-Agent", "Mozilla/5.0 (Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0"}, + {"Accept", "text/html"}, + {"Accept-Language", "en-US,en;q=0.5"}, + {"Accept-Encoding", "gzip, deflate, br"} + ] diff --git a/lib/farside/instances.ex b/lib/farside/instances.ex index 203ddfa..a451026 100644 --- a/lib/farside/instances.ex +++ b/lib/farside/instances.ex @@ -3,6 +3,7 @@ defmodule Farside.Instances do @update_file Application.fetch_env!(:farside, :update_file) @services_json Application.fetch_env!(:farside, :services_json) @service_prefix Application.fetch_env!(:farside, :service_prefix) + @headers Application.fetch_env!(:farside, :headers) def sync() do File.rename(@update_file, "#{@update_file}-prev") @@ -21,7 +22,7 @@ defmodule Farside.Instances do System.get_env("FARSIDE_TEST") -> :good true -> - case HTTPoison.get(url) do + case HTTPoison.get(url, @headers) do {:ok, %HTTPoison.Response{status_code: 200}} -> # TODO: Add validation of results, not just status code :good