summaryrefslogtreecommitdiff
path: root/.github/workflows
AgeCommit message (Collapse)Author
2023-01-04Add cf filter to nightly build, update servicesBen Busby
The cloudflare filter has been added back into the nightly build. Now that the filtering method uses direct querying of the instance IP(s), it should be more reliable than the namespace lookup (and more accurate). services.json has been updated with the latest filtered results from services-full.json as well.
2022-12-11Add auto update instances for libreddit (#80)sian1468
* Change libreddit's fallback URL to official instance's URL * Add auto update instances for libreddit
2022-11-07Remove version req from searx instance auto-updateBen Busby
The majority of searx instances returned by https://searx.space/data/instances.json seem to be running non-release versions of searx (i.e. versions like "2022.11.06-ae54c7d5" and not "1.0.0"). Since the version itself doesn't indicate reliability alone imo, I don't think it's necessary to exclude instances based on this criteria in the auto-update nightly build.
2022-10-31Use erlef/setup-beam, bump gha versions (#76)Kian-Meng Ang
Remove extra redirection. See https://github.com/erlef/setup-beam/issues/20
2022-10-31Remove Redis dep, replace w/ native Elixir libBen Busby
This removes the dependency on Redis for core app functionality. Rather than using the key/value store provided by Redis, Farside now uses a key/val store provided by [cubdb](https://github.com/lucaong/cubdb) for identical functionality but without reliance on a non-Elixir service. This solution was chosen instead of ets, because storing instance data in memory leads to a period of broken functionality whenever the app restarts and hasn't re-populated instance data yet. It was also chosen instead of dets, because the documentation for dets was pretty hard to understand at first glance. Tests and the CI build were updated to reflect the removed dependency on Redis. New environment variable `FARSIDE_DATA_DIR` can be used to point to a directory where the instance data can be stored by cubdb. Co-authored-by: Jason Clark <mithereal@gmail.com>
2022-10-20Remove Wikiless from nightly auto-update buildBen Busby
The wikiless repo has been removed by Codeberg until the maintainer makes some changes requested by Wikimedia. Follow https://orenom.fi for updates.
2022-09-15Manually clear out dead bibliogram instancesBen Busby
Also removes bibliogram from the auto-updater Bibliogram is discontinued, and many instances are going offline as a result. This clears out the ones that have already been deactivated, but the better solution would probably be to stop supporting bibliogram.
2022-08-04Remove cloudflare filter from update workflowBen Busby
The cloudflare filter, when performed as part of the github action workflow, doesn't seem to work nearly as reliably when run on an actual machine. The farside server will instead run the un-cloudflare script whenever it pulls in new changes to services-full.json, which should be a much more reliable approach to filtering out cloudflare instances.
2022-08-01[CI] Check for NOERROR return status in dig queryBen Busby
2022-08-01Add missing flag for sed replacement in update workflowBen Busby
2022-08-01Auto update bibliogram instances w/ instance apiBen Busby
Closes #57
2022-07-31Handle dig return code 9 in update workflowBen Busby
If dig returns exit code 9 (no reply from server) when checking an instance for cloudflare records, it shouldn't fail the CI build but rather just skip adding the instance to the non-cloudflare services list. This should be re-evaluated soon to see if the CI build routinely has issues with getting a server reply. If so, a different approach needs to be taken to check if an instance is using cloudflare.
2022-07-28Force remove cf filter output in auto update workflowBen Busby
2022-07-27Use full service list in auto update workflowBen Busby
2022-07-27Use full service list for testsBen Busby
The filtered service list isn't guaranteed to have more than one instance per service, which fails a test that was designed to ensure back-to-back requests don't use the same instance. Using the full services json file more accurately tests the intended functionality for Farside.
2022-07-27Exclude Cloudflare instances from services.json by defaultBen Busby
This updates the services json file to exclude all instances that are detected to be using Cloudflare nameservers. A separate "services-full.json" file will continue to be tracked in the repo, which will include the full list of all instances for each service and can be used with the `FARSIDE_SERVICES_JSON` environment variable for anyone wanting to access the full instance list for each service. See #43
2022-07-13Exclude i2p address from searx(ng) auto updateBen Busby
2022-06-21Fix Wikiless auto update workflowBen Busby
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-04-05Use 'generator' field to filter SearXNG instancesBen Busby
See #23 More info: searxng/searxng#1046
2022-03-18Support SearXNGBen Busby
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-02-24Add support for Wikiless instancesBen Busby
"A free open source alternative Wikipedia front-end focused on privacy" - https://codeberg.org/orenom/Wikiless
2022-02-03Auto update teddit and Scribe instances (#15)Austin Huang
2022-01-26Allow manually triggering auto-update workflowBen Busby
2022-01-26Auto update list of invidious instancesBen Busby
Adds Invidious to the auto-update nightly CI build Closes #12
2021-12-23Auto update whoogle instances from CIBen Busby
2021-12-15Support teddit, piped, and simplytranslateBen Busby
- 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-11-29Fix instance update commit as gh-botBen Busby
2021-11-28Print instances found in workflow to logBen Busby
2021-11-27Simplify CI commit in "update" workflowBen Busby
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-26Fix sed command in instance update workflowBen Busby
2021-11-26Automate updates for list of searx instances (#3)Ben Busby
* 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-24Use quantum core for update schedulingBen Busby
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-10Test for valid service redirectsBen Busby
Updates testing to iterate through all available services and validate that each one correctly produces a 302 redirect.
2021-11-09Use elixir 1.12 and otp 24 in build/testBen Busby
2021-11-09Skip querying all instances w/ "test mode"Ben Busby
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-10-26Add elixir CIBen Busby