From 74ced041746a02dc27e69934df6e09c9f64ff37e Mon Sep 17 00:00:00 2001 From: Alexandre Date: Wed, 29 Dec 2021 16:17:25 +0100 Subject: [PATCH] initial build --- flaresolverr/CHANGELOG.md | 44 ++++++++++ flaresolverr/Dockerfile | 82 ++++++++++++++++++ flaresolverr/README.md | 52 +++++++++++ flaresolverr/apparmor.txt | 49 +++++++++++ flaresolverr/config.json | 20 +++++ flaresolverr/icon.png | Bin 0 -> 3300 bytes flaresolverr/logo.png | Bin 0 -> 3300 bytes flaresolverr/rootfs/entrypoint.sh | 16 ++++ .../scripts/00-aaa_dockerfile_backup.sh | 18 ++++ flaresolverr/rootfs/scripts/00-banner.sh | 39 +++++++++ flaresolverr/rootfs/scripts/99-run.sh | 9 ++ 11 files changed, 329 insertions(+) create mode 100644 flaresolverr/CHANGELOG.md create mode 100644 flaresolverr/Dockerfile create mode 100644 flaresolverr/README.md create mode 100644 flaresolverr/apparmor.txt create mode 100644 flaresolverr/config.json create mode 100644 flaresolverr/icon.png create mode 100644 flaresolverr/logo.png create mode 100644 flaresolverr/rootfs/entrypoint.sh create mode 100644 flaresolverr/rootfs/scripts/00-aaa_dockerfile_backup.sh create mode 100644 flaresolverr/rootfs/scripts/00-banner.sh create mode 100644 flaresolverr/rootfs/scripts/99-run.sh diff --git a/flaresolverr/CHANGELOG.md b/flaresolverr/CHANGELOG.md new file mode 100644 index 000000000..45511d7b2 --- /dev/null +++ b/flaresolverr/CHANGELOG.md @@ -0,0 +1,44 @@ + +## 2.6.10 (20-12-2021) +- Update to latest version from laurent22/joplin +- Switch from "master" to "latest" + +## 2.6.9 (18-12-2021) +- Update to latest version from laurent22/joplin +- New standardized logic for Dockerfile build and packages installation + +## 2.5.12 (08-11-2021) +- Update to latest version from laurent22/joplin + +## 2.5.10 (02-11-2021) +- Update to latest version from laurent22/joplin + +## 2.5.8 (31-10-2021) +- Update to latest version from laurent22/joplin + +## 2.4.12 (14-10-2021) +- Update to latest version from laurent22/joplin + +## 2.4.9 (30-09-2021) +- Update to latest version from laurent22/joplin + +## 2.4.8 (16-09-2021) +- Update to latest version from laurent22/joplin + +## 2.4.6 (15-09-2021) +- Update to latest version from laurent22/joplin + +## 2.4.3 (03-09-2021) +- Update to latest version from laurent22/joplin + +## 2.4.2 (31-08-2021) +- Update to latest version from laurent22/joplin +- Allow custom mailer options thanks @Poudenes +- Allow connecting external db thanks @Poudenes + +## 2.4.3 (29-08-2021) +- Update to latest version from laurent22/joplin + +## 12.3.1 (28-08-2021) +- Update to latest version from laurent22/joplin +- Initial release diff --git a/flaresolverr/Dockerfile b/flaresolverr/Dockerfile new file mode 100644 index 000000000..ca08bbedb --- /dev/null +++ b/flaresolverr/Dockerfile @@ -0,0 +1,82 @@ +#==========================# +# ALEXBELGIUM'S DOCKERFILE # +#==========================# +#           _.------. +#       _.-`    ('>.-`"""-. +# '.--'`       _'`   _ .--.) +#    -'         '-.-';`   ` +#    ' -      _.'  ``'--.  +#        '---`    .-'""` +#               /` + +################# +# 1 Build Image # +################# +ARG BUILD_FROM +ARG BUILD_VERSION +FROM flaresolverr/flaresolverr:latest + +################## +# 2 Modify Image # +################## + + + +################## +# 3 Install apps # +################## + +# Add rootfs +COPY rootfs/ / + +# Manual apps +ENV PACKAGES="" + +# Automatic apps & bashio +RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash); fi && \ + if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl); fi && \ + curl -L -f -s "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/zzz_templates/automatic_packages.sh" --output /automatic_packages.sh && \ + chmod 777 /automatic_packages.sh && \ + /automatic_packages.sh "${PACKAGES:-}" && \ + rm /automatic_packages.sh || printf '%s\n' "${PACKAGES:-}" > /ENVFILE + + +################ +# 4 Entrypoint # +################ + +RUN chmod 777 /entrypoint.sh +ENTRYPOINT [ "/usr/bin/env" ] +CMD [ "/entrypoint.sh" ] +#WORKDIR / +#SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +############ +# 5 Labels # +############ + +ARG BUILD_ARCH +ARG BUILD_DATE +ARG BUILD_DESCRIPTION +ARG BUILD_NAME +ARG BUILD_REF +ARG BUILD_REPOSITORY +ARG BUILD_VERSION +LABEL \ + io.hass.name="${BUILD_NAME}" \ + io.hass.description="${BUILD_DESCRIPTION}" \ + io.hass.arch="${BUILD_ARCH}" \ + io.hass.type="addon" \ + io.hass.version=${BUILD_VERSION} \ + maintainer="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.title="${BUILD_NAME}" \ + org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ + org.opencontainers.image.vendor="Home Assistant Add-ons" \ + org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.licenses="MIT" \ + org.opencontainers.image.url="https://github.com/alexbelgium" \ + org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ + org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ + org.opencontainers.image.created=${BUILD_DATE} \ + org.opencontainers.image.revision=${BUILD_REF} \ + org.opencontainers.image.version=${BUILD_VERSION} diff --git a/flaresolverr/README.md b/flaresolverr/README.md new file mode 100644 index 000000000..22c6f4ac3 --- /dev/null +++ b/flaresolverr/README.md @@ -0,0 +1,52 @@ +# Home assistant add-on: Flaresolver + +[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium) + +[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white + +![Supports + Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] + +_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_ + +[![Stargazers repo roster for @alexbelgium/hassio-addons](https://reporoster.com/stars/alexbelgium/hassio-addons)](https://github.com/alexbelgium/hassio-addons/stargazers) + +## About + +FlareSolverr starts a proxy server and it waits for user requests in an idle state using few resources. When some request arrives, it uses puppeteer with the stealth plugin to create a headless browser (Firefox). It opens the URL with user parameters and waits until the Cloudflare challenge is solved (or timeout). The HTML code and the cookies are sent back to the user, and those cookies can be used to bypass Cloudflare using other HTTP clients. + +NOTE: Web browsers consume a lot of memory. If you are running FlareSolverr on a machine with few RAM, do not make many requests at once. With each request a new browser is launched. + +Project homepage : https://github.com/FlareSolverr/FlareSolverr + +Based on the docker image : https://hub.docker.com/r/flaresolverr/flaresolverr + +## Configuration + +Webui can be found at + +## Installation + +The installation of this add-on is pretty straightforward and not different in +comparison to installing any other Hass.io add-on. + +1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance. +1. Install this add-on. +1. Click the `Save` button to store your configuration. +1. Start the add-on. +1. Check the logs of the add-on to see if everything went well. +1. Carefully configure the add-on to your preferences, see the official documentation for for that. + +## Support + +Create an issue on github + +[repository]: https://github.com/alexbelgium/hassio-addons +[smb-shield]: https://img.shields.io/badge/smb-yes-green.svg +[openvpn-shield]: https://img.shields.io/badge/openvpn-yes-green.svg +[ingress-shield]: https://img.shields.io/badge/ingress-yes-green.svg +[ssl-shield]: https://img.shields.io/badge/ssl-yes-green.svg +[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg +[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg diff --git a/flaresolverr/apparmor.txt b/flaresolverr/apparmor.txt new file mode 100644 index 000000000..d904cf768 --- /dev/null +++ b/flaresolverr/apparmor.txt @@ -0,0 +1,49 @@ +#include + +profile joplin flags=(attach_disconnected,mediate_deleted) { + #include + + capability, + file, + mount, + umount, + remount, + + capability setgid, + capability setuid, + capability sys_admin, + capability dac_read_search, + capability dac_override, + capability sys_rawio, + +# S6-Overlay + /bin/** ix, + /usr/bin/** ix, + /usr/lib/bashio/** ix, + /etc/s6/** rix, + /run/s6/** rix, + /etc/services.d/** rwix, + /etc/cont-init.d/** rwix, + /etc/cont-finish.d/** rwix, + /init rix, + /var/run/** mrwkl, + /var/run/ mrwkl, + /dev/i2c-1 mrwkl, + # Files required + /dev/sda1 mrwkl, + /dev/sdb1 mrwkl, + /dev/mmcblk0p1 mrwkl, + /dev/ttyUSB0 mrwkl, + /dev/* mrwkl, + /tmp/** mrkwl, + + # Data access + /data/** rw, + + # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container + ptrace (trace,read) peer=docker-default, + + # docker daemon confinement requires explict allow rule for signal + signal (receive) set=(kill,term) peer=/usr/bin/docker, + +} diff --git a/flaresolverr/config.json b/flaresolverr/config.json new file mode 100644 index 000000000..4cd563430 --- /dev/null +++ b/flaresolverr/config.json @@ -0,0 +1,20 @@ +{ + "name": "FlareSolverr", + "version": "2.1.0", + "upstream": "2.1.0", + "slug": "flaresolverr", + "description": "Proxy server to bypass Cloudflare protection ", + "url": "https://github.com/alexbelgium/hassio-addons", + "webui": "[PROTO:ssl]://[HOST]:[PORT:8191]", + "ports": { + "8191/tcp": 8191 + }, + "apparmor": true, + "ports_description": { + "8191/tcp": "Web interface" + }, + "environment": {}, + "options": {}, + "schema": {}, + "arch": ["aarch64", "amd64", "armhf", "armv7"] +} diff --git a/flaresolverr/icon.png b/flaresolverr/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5af7fb476edbcbb38aff2c3a513a651a50fedc GIT binary patch literal 3300 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 F{|DL>Ut0hG literal 0 HcmV?d00001 diff --git a/flaresolverr/logo.png b/flaresolverr/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5af7fb476edbcbb38aff2c3a513a651a50fedc GIT binary patch literal 3300 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 F{|DL>Ut0hG literal 0 HcmV?d00001 diff --git a/flaresolverr/rootfs/entrypoint.sh b/flaresolverr/rootfs/entrypoint.sh new file mode 100644 index 000000000..a948f3bbb --- /dev/null +++ b/flaresolverr/rootfs/entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +echo "Starting..." + +#################### +# Starting scripts # +#################### + +for SCRIPTS in /scripts/*; do + [ -e "$SCRIPTS" ] || continue + echo "$SCRIPTS: executing" + chown $(id -u):$(id -g) $SCRIPTS + chmod a+x $SCRIPTS + sed -i 's|/usr/bin/with-contenv bashio|/usr/bin/env bashio|g' $SCRIPTS || true + /./$SCRIPTS || echo "$SCRIPTS: exiting $?" +done diff --git a/flaresolverr/rootfs/scripts/00-aaa_dockerfile_backup.sh b/flaresolverr/rootfs/scripts/00-aaa_dockerfile_backup.sh new file mode 100644 index 000000000..4f9ed9c51 --- /dev/null +++ b/flaresolverr/rootfs/scripts/00-aaa_dockerfile_backup.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# If dockerfile failed install manually +if [ -e "/ENVFILE" ]; then + echo "Executing script" + PACKAGES=$(/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash); fi && + if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl); fi && + curl -L -f -s "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/zzz_templates/automatic_packages.sh" --output /automatic_packages.sh && + chmod 777 /automatic_packages.sh && + eval /./automatic_packages.sh "$PACKAGES" && + rm /automatic_packages.sh + ) >/dev/null + +fi diff --git a/flaresolverr/rootfs/scripts/00-banner.sh b/flaresolverr/rootfs/scripts/00-banner.sh new file mode 100644 index 000000000..0ac294e9a --- /dev/null +++ b/flaresolverr/rootfs/scripts/00-banner.sh @@ -0,0 +1,39 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Displays a simple add-on banner on startup +# ============================================================================== + +if bashio::supervisor.ping; then + bashio::log.blue \ + '-----------------------------------------------------------' + bashio::log.blue " Add-on: $(bashio::addon.name)" + bashio::log.blue " $(bashio::addon.description)" + bashio::log.blue \ + '-----------------------------------------------------------' + + bashio::log.blue " Add-on version: $(bashio::addon.version)" + if bashio::var.true "$(bashio::addon.update_available)"; then + bashio::log.magenta ' There is an update available for this add-on!' + bashio::log.magenta \ + " Latest add-on version: $(bashio::addon.version_latest)" + bashio::log.magenta ' Please consider upgrading as soon as possible.' + else + bashio::log.green ' You are running the latest version of this add-on.' + fi + + bashio::log.blue " System: $(bashio::info.operating_system)" \ + " ($(bashio::info.arch) / $(bashio::info.machine))" + bashio::log.blue " Home Assistant Core: $(bashio::info.homeassistant)" + bashio::log.blue " Home Assistant Supervisor: $(bashio::info.supervisor)" + + bashio::log.blue \ + '-----------------------------------------------------------' + bashio::log.blue \ + ' Please, share the above information when looking for help' + bashio::log.blue \ + ' or support in, e.g., GitHub, forums' + bashio::log.green \ + ' https://github.com/alexbelgium/hassio-addons' + bashio::log.blue \ + '-----------------------------------------------------------' +fi diff --git a/flaresolverr/rootfs/scripts/99-run.sh b/flaresolverr/rootfs/scripts/99-run.sh new file mode 100644 index 000000000..8aa7d6879 --- /dev/null +++ b/flaresolverr/rootfs/scripts/99-run.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bashio + +bashio::log.warning "Warning - minimum configuration recommended : 2 cpu cores and 4 GB of memory. Otherwise the system will become unresponsive and crash." + +############## +# LAUNCH APP # +############## + +node ./dist/server.js