From 41a91a6bd914180c386ed4895817010cc187371c Mon Sep 17 00:00:00 2001 From: astra Date: Tue, 8 Oct 2024 18:54:27 -0400 Subject: [PATCH] initial wiring for outbound proxy --- Gemfile | 4 +-- Gemfile.lock | 30 +++++++++++++--------- config/defaults.yml | 1 + config/diaspora.toml.example | 3 +++ config/initializers/diaspora_federation.rb | 3 ++- 5 files changed, 26 insertions(+), 15 deletions(-) diff --git a/Gemfile b/Gemfile index 9c6ee61b7..60a174c08 100644 --- a/Gemfile +++ b/Gemfile @@ -19,8 +19,8 @@ gem "puma", "6.4.2", require: false # Federation -gem "diaspora_federation-json_schema", "1.1.0" -gem "diaspora_federation-rails", "1.1.0" +gem "diaspora_federation-json_schema", git: "https://git.gynoid.me/nocebo/diaspora_federation.git", branch: "outbound-proxy" +gem "diaspora_federation-rails", git: "https://git.gynoid.me/nocebo/diaspora_federation.git", branch: "outbound-proxy" # API and JSON diff --git a/Gemfile.lock b/Gemfile.lock index b34c7b927..c0b4ca9ee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,19 @@ +GIT + remote: https://git.gynoid.me/nocebo/diaspora_federation.git + revision: 2845a664bc16b2a73aed30dd23a07ac375a17949 + branch: outbound-proxy + specs: + diaspora_federation (1.1.0) + faraday (>= 1.0, < 3) + faraday-follow_redirects (~> 0.3) + nokogiri (~> 1.6, >= 1.6.8) + typhoeus (~> 1.0) + valid (~> 1.0) + diaspora_federation-json_schema (1.1.0) + diaspora_federation-rails (1.1.0) + actionpack (>= 5.2, < 8) + diaspora_federation (= 1.1.0) + GEM remote: https://rubygems.org/ specs: @@ -184,16 +200,6 @@ GEM devise_lastseenable (0.0.6) devise rails (>= 3.0.4) - diaspora_federation (1.1.0) - faraday (>= 1.0, < 3) - faraday-follow_redirects (~> 0.3) - nokogiri (~> 1.6, >= 1.6.8) - typhoeus (~> 1.0) - valid (~> 1.0) - diaspora_federation-json_schema (1.1.0) - diaspora_federation-rails (1.1.0) - actionpack (>= 5.2, < 8) - diaspora_federation (= 1.1.0) diaspora_federation-test (1.1.0) diaspora_federation (= 1.1.0) fabrication (~> 2.29) @@ -790,8 +796,8 @@ DEPENDENCIES devise (= 4.9.4) devise-two-factor (= 4.1.0) devise_lastseenable (= 0.0.6) - diaspora_federation-json_schema (= 1.1.0) - diaspora_federation-rails (= 1.1.0) + diaspora_federation-json_schema! + diaspora_federation-rails! diaspora_federation-test (= 1.1.0) factory_bot_rails (= 6.4.3) faraday (= 2.9.0) diff --git a/config/defaults.yml b/config/defaults.yml index 29d4ebdab..fed3a6bde 100644 --- a/config/defaults.yml +++ b/config/defaults.yml @@ -38,6 +38,7 @@ defaults: debug: sql: false federation: false + http_proxy: server: listen: "tcp://127.0.0.1:3000" rails_environment: 'development' diff --git a/config/diaspora.toml.example b/config/diaspora.toml.example index 6401fc043..13fcc6d16 100644 --- a/config/diaspora.toml.example +++ b/config/diaspora.toml.example @@ -65,6 +65,9 @@ ## You probably don't want to uncomment or change this. #pubsub_server = "https://pubsubhubbub.appspot.com/" +## Outbound HTTP proxy +#http_proxy = "http://10.0.0.100:1234" + ## Sidekiq - background processing [configuration.environment.sidekiq] diff --git a/config/initializers/diaspora_federation.rb b/config/initializers/diaspora_federation.rb index 941eae17c..853251167 100644 --- a/config/initializers/diaspora_federation.rb +++ b/config/initializers/diaspora_federation.rb @@ -7,10 +7,11 @@ DiasporaFederation.configure do |config| config.certificate_authorities = AppConfig.environment.certificate_authorities.get - config.webfinger_http_fallback = Rails.env == "development" + config.webfinger_http_fallback = Rails.env.development? config.http_concurrency = AppConfig.settings.typhoeus_concurrency.to_i config.http_verbose = AppConfig.settings.typhoeus_verbose? + ENV["http_proxy"] = AppConfig.settings.http_proxy config.define_callbacks do on :fetch_person_for_webfinger do |diaspora_id|