1
0
Fork 0
mirror of https://github.com/benbusby/farside.git synced 2025-04-20 10:58:42 +00:00

Refactor project to new name

The name of the project is being refactored from Privacy Revolver to
Farside. The reasoning behind this is:
1. A shorter name is easier to remember
2. It can stand for "FOSS alternative redirecting service" (which I know
doesn't encapsulate all letters from "farside", but it's close enough).

This commit also includes improvements to the update script for
determining how far along the script is.
This commit is contained in:
Ben Busby 2021-11-07 12:29:06 -07:00
parent 06bb8403dd
commit 8042dcad0c
No known key found for this signature in database
GPG key ID: 339B7B7EB5333D14
8 changed files with 45 additions and 30 deletions

View file

@ -1,5 +1,16 @@
# Privacy Revolver # Farside
FOSS alternative redirecting service
[![Elixir CI](https://github.com/benbusby/privacy-revolver/actions/workflows/elixir.yml/badge.svg)](https://github.com/benbusby/privacy-revolver/actions/workflows/elixir.yml) [![Elixir CI](https://github.com/benbusby/privacy-revolver/actions/workflows/elixir.yml/badge.svg)](https://github.com/benbusby/privacy-revolver/actions/workflows/elixir.yml)
A smart redirecting proxy for privacy-friendly frontends A tool for evenly distributing traffic across various open source alternative frontends
### Development
- Install [redis](https://redis.io)
- Install [elixir](https://elixir-lang.org/install.html)
- Start redis: `redis-server /usr/local/etc/redis.conf`
- Install dependencies: `mix deps.get`
- Initialize redis contents: `mix run update.exs`
- Run Farside: `mix run --no-halt`
- Uses localhost:4001

View file

@ -1,6 +1,6 @@
import Config import Config
config :privacy_revolver, config :farside,
redis_conn: "redis://localhost:6379", redis_conn: "redis://localhost:6379",
fallback_str: "-fallback", fallback_str: "-fallback",
update_file: ".update-results", update_file: ".update-results",

View file

@ -0,0 +1,17 @@
defmodule Farside.Application do
@redis_conn Application.fetch_env!(:farside, :redis_conn)
@moduledoc false
use Application
@impl true
def start(_type, _args) do
children = [
Plug.Cowboy.child_spec(scheme: :http, plug: Farside.Router, options: [port: 4001]),
{Redix, {@redis_conn, [name: :redix]}}
]
opts = [strategy: :one_for_one, name: Farside.Supervisor]
Supervisor.start_link(children, opts)
end
end

View file

@ -1,5 +1,5 @@
defmodule PrivacyRevolver.Router do defmodule Farside.Router do
@fallback_str Application.fetch_env!(:privacy_revolver, :fallback_str) @fallback_str Application.fetch_env!(:farside, :fallback_str)
use Plug.Router use Plug.Router

View file

@ -1,17 +0,0 @@
defmodule PrivacyRevolver.Application do
@redis_conn Application.fetch_env!(:privacy_revolver, :redis_conn)
@moduledoc false
use Application
@impl true
def start(_type, _args) do
children = [
Plug.Cowboy.child_spec(scheme: :http, plug: PrivacyRevolver.Router, options: [port: 4001]),
{Redix, {@redis_conn, [name: :redix]}}
]
opts = [strategy: :one_for_one, name: PrivacyRevolver.Supervisor]
Supervisor.start_link(children, opts)
end
end

View file

@ -1,9 +1,9 @@
defmodule PrivacyRevolver.MixProject do defmodule Farside.MixProject do
use Mix.Project use Mix.Project
def project do def project do
[ [
app: :privacy_revolver, app: :farside,
version: "0.1.0", version: "0.1.0",
elixir: "~> 1.8", elixir: "~> 1.8",
start_permanent: Mix.env() == :prod, start_permanent: Mix.env() == :prod,
@ -15,7 +15,7 @@ defmodule PrivacyRevolver.MixProject do
def application do def application do
[ [
extra_applications: [:logger], extra_applications: [:logger],
mod: {PrivacyRevolver.Application, []} mod: {Farside.Application, []}
] ]
end end

View file

@ -1,8 +1,8 @@
defmodule PrivacyRevolverTest do defmodule FarsideTest do
use ExUnit.Case use ExUnit.Case
use Plug.Test use Plug.Test
alias PrivacyRevolver.Router alias Farside.Router
@opts Router.init([]) @opts Router.init([])

View file

@ -8,9 +8,9 @@ defmodule Service do
end end
defmodule Instances do defmodule Instances do
@fallback_str Application.fetch_env!(:privacy_revolver, :fallback_str) @fallback_str Application.fetch_env!(:farside, :fallback_str)
@update_file Application.fetch_env!(:privacy_revolver, :update_file) @update_file Application.fetch_env!(:farside, :update_file)
@services_json Application.fetch_env!(:privacy_revolver, :services_json) @services_json Application.fetch_env!(:farside, :services_json)
def init() do def init() do
File.rename(@update_file, "#{@update_file}-prev") File.rename(@update_file, "#{@update_file}-prev")
@ -33,7 +33,9 @@ defmodule Instances do
# Loop through all instances and check each for availability # Loop through all instances and check each for availability
for service <- json do for service <- json do
IO.puts "======== " <> service.type
result = Enum.filter(service.instances, fn(instance_url) -> result = Enum.filter(service.instances, fn(instance_url) ->
IO.puts " " <> instance_url
request(instance_url <> service.test_url) == :good request(instance_url <> service.test_url) == :good
end) end)
@ -43,6 +45,8 @@ defmodule Instances do
end end
def add_to_redis(service, instances) do def add_to_redis(service, instances) do
IO.puts " --------"
IO.inspect "OK: " <> instances
# Remove previous list of instances # Remove previous list of instances
Redix.command(:redix, [ Redix.command(:redix, [
"DEL", "DEL",