Commit graph

19 commits

Author SHA1 Message Date
Ben Busby fb286398bc
Fix Wikiless auto update workflow
Wikiless updated their instance json with a couple of changes that broke
Farside's auto update workflow:
- The protocol for each instance is now included by default (no need to prepend
  "https://")
- The instances are differentiated between regular, onion, and i2p (no need to
  check for ".onion" in regular instance URLs)
2022-06-21 14:04:59 -06:00
Ben Busby 29178e02c3
Use 'generator' field to filter SearXNG instances
See #23

More info: searxng/searxng#1046
2022-04-05 16:06:05 -06:00
Ben Busby 20347822da
Support SearXNG
Added a new seperate service for only redirecting to SearXNG instances.
Note that plain "searx" redirects will use both SearX and SearXNG
instances for those who don't have a preference between the two.

Closes #23
2022-03-18 13:28:45 -06:00
Ben Busby 21646f8f29
Add support for Wikiless instances
"A free open source alternative Wikipedia front-end focused on privacy"
- https://codeberg.org/orenom/Wikiless
2022-02-24 17:27:34 -07:00
Austin Huang 2cd82adeb9
Auto update teddit and Scribe instances (#15) 2022-02-03 15:10:48 -07:00
Ben Busby 79f24a59f1
Allow manually triggering auto-update workflow 2022-01-26 16:16:59 -07:00
Ben Busby 7cb19579c9
Auto update list of invidious instances
Adds Invidious to the auto-update nightly CI build

Closes #12
2022-01-26 16:11:46 -07:00
Ben Busby 719beb90df
Auto update whoogle instances from CI 2021-12-23 17:33:44 -07:00
Ben Busby 919dd6f602
Support teddit, piped, and simplytranslate
- teddit (https://teddit.net/about)
  A free and open source alternative Reddit front-end focused on
  privacy. Inspired by the Nitter project.

- Piped (https://github.com/TeamPiped/Piped)
  An alternative privacy-friendly YouTube frontend which is efficient
  by design.

- SimplyTranslate (https://simple-web.org/projects/simplytranslate.html)
  We aim to provide fast and private translations to the user without
  wasting much overhead for extensive styling or JavaScript

___

Also adds SimplyTranslate to the github pipeline, since they provide a
list of the service's public instances.

Closes #4
2021-12-15 17:12:59 -07:00
Ben Busby ac1fa36f6c
Fix instance update commit as gh-bot 2021-11-29 17:45:33 -07:00
Ben Busby 17f83649c1
Print instances found in workflow to log 2021-11-28 18:17:44 -07:00
Ben Busby d172c5d467
Simplify CI commit in "update" workflow
The steps taken to commit the changes to services.json were overly complicated.
This simplifies the steps to just `exit 0` if there are no changes to commit.
2021-11-27 17:52:21 -07:00
Ben Busby 0d93fee725
Fix sed command in instance update workflow 2021-11-26 17:46:49 -07:00
Ben Busby 8e3455a790
Automate updates for list of searx instances (#3)
* Create nightly update workflow for instances

A nightly GitHub Actions CI workflow has been added to fetch new
instances of supported services within Farside.

Currently only Searx is supported, but obviously others could be added
if there are similarly easy ways to fetch and filter instances
programmatically.

services.json has also been updated with the initial results of the
workflow script.

* Set headers for every HTTPoison request

This serves as a workaround for bot blocking via filtron.

* Expand filtering of searx instances

New filter enforces:
- No Cloudflare
- Good TLS config
- Good HTTP header config
- Vanilla instances or forks
- Instances with 100% search success
2021-11-26 09:12:46 -07:00
Ben Busby ff97d258f0
Use quantum core for update scheduling
Rather than requiring a traditional crontab install, the app now
leverages quantum-core (link below) to schedule the instance update/sync
task every 5 minutes. Some updates as a result:

  - The new job is scheduled at runtime in server.ex.
  - The update.exs script was refactored to be compiled along with the
    rest of the app as instances.ex.
  - Scheduler and Server modules were added for creating and executing
    the new update task
  - All shell scripts were removed, as they are no longer needed

https://github.com/quantum-elixir/quantum-core
2021-11-24 09:35:21 -07:00
Ben Busby f33279c41b
Test for valid service redirects
Updates testing to iterate through all available services and validate
that each one correctly produces a 302 redirect.
2021-11-10 11:47:03 -07:00
Ben Busby 85123cb524
Use elixir 1.12 and otp 24 in build/test 2021-11-09 15:22:32 -07:00
Ben Busby 39c244d970
Skip querying all instances w/ "test mode"
Now allows setting FARSIDE_TEST to skip individually fetching each
instance, and instead just adds all of them to redis instantly. This
allows for an easier time in CI builds, for both the sake of speed and
to prevent a scenario where many simultaneous builds have a noticeable
impact on actual instances.
2021-11-09 15:12:58 -07:00
Ben Busby 83bcad2eda
Add elixir CI 2021-10-26 21:21:00 -06:00