From 6c38e14510a6b2959b8714247d9cbf635f6aa152 Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Mon, 27 Feb 2023 16:35:06 -0300 Subject: [PATCH 01/27] refactor: solve invalid quotes params --- docker/php/config.php | 10 +++++----- docker/server/nginx.dockerfile | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docker/php/config.php b/docker/php/config.php index f90b765..2ebe995 100644 --- a/docker/php/config.php +++ b/docker/php/config.php @@ -1,10 +1,10 @@ "${CONFIG_GOOGLE_DOMAIN}", - "google_language" => "${CONFIG_GOOGLE_LANGUAGE}", + "google_domain" => ${CONFIG_GOOGLE_DOMAIN}, + "google_language" => ${CONFIG_GOOGLE_LANGUAGE}, "invidious_instance_for_video_results" => "${CONFIG_INVIDIOUS_INSTANCE}", - "wikipedia_language" => "${CONFIG_WIKIPEDIA_LANGUAGE}", + "wikipedia_language" => ${CONFIG_WIKIPEDIA_LANGUAGE}, "disable_bittorent_search" => ${CONFIG_DISABLE_BITTORRENT_SEARCH}, "bittorent_trackers" => "${CONFIG_BITTORRENT_TRACKERS}", @@ -21,8 +21,8 @@ "proxitok" => "${APP_PROXITOK}", // tiktok "wikiless" => "${APP_WIKILESS}", // wikipedia "quetre" => "${APP_QUETRE}", // quora - "libremdb" => "${APP_LIBREMDB}", // imdb, - "breezewiki" => "${APP_BREEZEWIKI}", // fandom, + "libremdb" => "${APP_LIBREMDB}", // imdb + "breezewiki" => "${APP_BREEZEWIKI}", // fandom "anonymousoverflow" => "${APP_ANONYMOUS_OVERFLOW}", // stackoverflow "curl_settings" => array( diff --git a/docker/server/nginx.dockerfile b/docker/server/nginx.dockerfile index 59c7a9f..66fe7ab 100644 --- a/docker/server/nginx.dockerfile +++ b/docker/server/nginx.dockerfile @@ -1,5 +1,9 @@ # Install Nginx with FastCGI enabled, optimizing its performance for serving content RUN apk add nginx +# Forward request and error logs to docker log collector +RUN ln -sf /dev/stdout /var/log/nginx/access.log &&\ + ln -sf /dev/stderr /var/log/nginx/error.log + # After executing the 'docker run' command, run the 'prepare.sh' script CMD [ "/bin/sh", "-c", "docker/server/prepare.sh" ] From a6ea568c984eb9b2e4a0da08a7b0de7e68d4c0c8 Mon Sep 17 00:00:00 2001 From: Nicola Guerrera Date: Fri, 3 Mar 2023 20:03:26 +0100 Subject: [PATCH 02/27] Updated sesu.cc instance --- README.md | 2 +- instances.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index af883f6..aa950f9 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ |-|-|-|-| | [search.femboy.hu](https://search.femboy.hu/) | [✅](http://search.cepyxplublbyw2f4axy4pyztfbxmf63lrt2c7uwv6wl4iixz53czload.onion/) | ❌ | 🇭🇺 HU (OFFICIAL INSTANCE) | | [lx.vern.cc](https://lx.vern.cc/) | [✅](http://lx.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/) | [✅](http://vernziqfqvweijfaacmwazohgpdo2bt2ib2jlupt2pwwu27bhgxq.b32.i2p/) | 🇺🇸 US | -| [librex.sesu.cc](https://librex.sesu.cc/) | [✅](http://librex.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion/) | [✅](http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p/) | 🇨🇱 CL | +| [search.sesu.cc](https://search.sesu.cc/) | [✅](http://search.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion/) | [✅](http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p/) | 🇨🇱 CL | | [librex.zzls.xyz](https://librex.zzls.xyz/) | [✅](http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/) | [✅](http://7huurwog32tny663wkglrhozfoyqyqmsuxjbd7dtudccx44awjda.b32.i2p) | 🇨🇱 CL | | [librex.mikata.ru](https://librex.mikata.ru/) | [✅](http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion/) | ❌ | 🇺🇸 US | | [search.milivojevic.in.rs](https://search.milivojevic.in.rs/) | [✅](http://librex2xsek6qnh2i4yufuzqjumfdwtw7io7omgmimpzna6llqudqzyd.onion/) | ❌ | 🇳🇱 NL | diff --git a/instances.json b/instances.json index 65e215b..bd8ca5c 100644 --- a/instances.json +++ b/instances.json @@ -13,8 +13,8 @@ "country": "US" }, { - "clearnet": "https://librex.sesu.cc/", - "tor": "http://librex.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion/", + "clearnet": "https://search.sesu.cc/", + "tor": "http://search.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion/", "i2p": "http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p/", "country": "CL" }, From 1bcd0ec35865300c980bd12ab6979e12ca5f9cb2 Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Tue, 7 Mar 2023 18:33:19 -0300 Subject: [PATCH 03/27] refactor: solve config errors of dockerfile and php configuration --- Dockerfile | 2 +- docker/attributes.sh | 17 ++--- docker/php/config.php | 120 ++++++++++++++++++++++++++------- docker/php/php.dockerfile | 9 +-- docker/php/prepare.sh | 2 +- docker/server/nginx.dockerfile | 4 +- 6 files changed, 115 insertions(+), 39 deletions(-) diff --git a/Dockerfile b/Dockerfile index e0d5004..f0e7f30 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax = edrevo/dockerfile-plus ARG VERSION="3.17" -FROM alpine:${VERSION} AS runner +FROM alpine:${VERSION} AS librex WORKDIR "/var/www/html" # Docker metadata contains information about the maintainer, such as the name, repository, and support email diff --git a/docker/attributes.sh b/docker/attributes.sh index 5a86ccc..c7acdd4 100755 --- a/docker/attributes.sh +++ b/docker/attributes.sh @@ -19,12 +19,13 @@ export OPEN_SEARCH_HOST=${OPEN_SEARCH_HOST:-"127.0.0.1"} # Replace the 'config.php' script, which contains the most common search engine configurations, with these environment setups # These environment setups can be found in 'config.php', and the default configurations can be useful for most use cases -export CONFIG_GOOGLE_DOMAIN=${CONFIG_GOOGLE_DOMAIN:-"com"} -export CONFIG_GOOGLE_LANGUAGE=${CONFIG_GOOGLE_LANGUAGE:-"en"} -export CONFIG_INVIDIOUS_INSTANCE=${CONFIG_INVIDIOUS_INSTANCE:-"invidious.namazso.eu"} +export CONFIG_GOOGLE_DOMAIN="${CONFIG_GOOGLE_DOMAIN:-"com"}" +export CONFIG_GOOGLE_LANGUAGE_SITE="${CONFIG_GOOGLE_LANGUAGE_SITE:-"en"}" +export CONFIG_GOOGLE_LANGUAGE_RESULTS="${CONFIG_GOOGLE_LANGUAGE_RESULTS:-"en"}" +export CONFIG_INVIDIOUS_INSTANCE="${CONFIG_INVIDIOUS_INSTANCE:-"invidious.snopyta.org"}" export CONFIG_HIDDEN_SERVICE_SEARCH=${CONFIG_HIDDEN_SERVICE_SEARCH:-false} export CONFIG_DISABLE_BITTORRENT_SEARCH=${CONFIG_DISABLE_BITTORRENT_SEARCH:-false} -export CONFIG_BITTORRENT_TRACKERS=${CONFIG_BITTORRENT_TRACKERS:-"&tr=http://nyaa.tracker.wf:7777/announce&tr=udp://open.stealth.si:80/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://exodus.desync.com:6969/announce&tr=udp://tracker.torrent.eu.org:451/announce"} +export CONFIG_BITTORRENT_TRACKERS="${CONFIG_BITTORRENT_TRACKERS:-"&tr=http://nyaa.tracker.wf:7777/announce&tr=udp://open.stealth.si:80/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://exodus.desync.com:6969/announce&tr=udp://tracker.torrent.eu.org:451/announce"}" # The settings that will be used to handle Wikipedia results displayed on the libreX search page # the settings below can be edited via environment variables. @@ -52,12 +53,12 @@ export APP_ANONYMOUS_OVERFLOW=${APP_ANONYMOUS_OVERFLOW:-""} export CURLOPT_PROXY_ENABLED=${CURLOPT_PROXY_ENABLED:-false} export CURLOPT_PROXY=${CURLOPT_PROXY:-""} export CURLOPT_RETURNTRANSFER=${CURLOPT_RETURNTRANSFER:-true} -export CURLOPT_ENCODING=${CURLOPT_ENCODING:-""} -export CURLOPT_USERAGENT=${CURLOPT_USERAGENT:-"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"} -export CURLOPT_CUSTOMREQUEST=${CURLOPT_CUSTOMREQUEST:-"GET"} +export CURLOPT_ENCODING=${CURLOPT_ENCODING:-"UTF-8"} +export CURLOPT_USERAGENT="${CURLOPT_USERAGENT:-"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"}" +export CURLOPT_CUSTOMREQUEST="${CURLOPT_CUSTOMREQUEST:-"GET"}" export CURLOPT_MAXREDIRS=${CURLOPT_MAXREDIRS:-5} export CURLOPT_TIMEOUT=${CURLOPT_TIMEOUT:-18} -export CURLOPT_VERBOSE=${CURLOPT_VERBOSE:-false} +export CURLOPT_VERBOSE=${CURLOPT_VERBOSE:-true} # These shell functions will be available for use by any function calls function AwkTrim() { awk '{$1=$1};1'; } diff --git a/docker/php/config.php b/docker/php/config.php index 2ebe995..57ce5f9 100644 --- a/docker/php/config.php +++ b/docker/php/config.php @@ -1,37 +1,112 @@ ${CONFIG_GOOGLE_DOMAIN}, - "google_language" => ${CONFIG_GOOGLE_LANGUAGE}, + "google_domain" => "${CONFIG_GOOGLE_DOMAIN}", + "google_language_site" => "${CONFIG_GOOGLE_LANGUAGE_SITE}", + "google_language_results" => "${CONFIG_GOOGLE_LANGUAGE_RESULTS}", + + "wikipedia_language" => "${CONFIG_WIKIPEDIA_LANGUAGE}", "invidious_instance_for_video_results" => "${CONFIG_INVIDIOUS_INSTANCE}", - "wikipedia_language" => ${CONFIG_WIKIPEDIA_LANGUAGE}, - - "disable_bittorent_search" => ${CONFIG_DISABLE_BITTORRENT_SEARCH}, + "disable_bittorent_search" => "${CONFIG_DISABLE_BITTORRENT_SEARCH}", "bittorent_trackers" => "${CONFIG_BITTORRENT_TRACKERS}", - "disable_hidden_service_search" => ${CONFIG_HIDDEN_SERVICE_SEARCH}, + "disable_hidden_service_search" => "${CONFIG_HIDDEN_SERVICE_SEARCH}", - "invidious" => "${APP_INVIDIOUS}", // youtube - "bibliogram" => "${APP_BIBLIOGRAM}", // instagram - "rimgo" => "${APP_RIMGO}", // imgur - "scribe" => "${APP_SCRIBE}", // medium - "librarian" => "${APP_LIBRARIAN}", // odysee - "gothub" => "${APP_GOTHUB}", // github - "nitter" => "${APP_NITTER}", // twitter - "libreddit" => "${APP_LIBREREDDIT}", // reddit - "proxitok" => "${APP_PROXITOK}", // tiktok - "wikiless" => "${APP_WIKILESS}", // wikipedia - "quetre" => "${APP_QUETRE}", // quora - "libremdb" => "${APP_LIBREMDB}", // imdb - "breezewiki" => "${APP_BREEZEWIKI}", // fandom - "anonymousoverflow" => "${APP_ANONYMOUS_OVERFLOW}", // stackoverflow + "frontends" => array( + "invidious" => array( + "instance_url" => "${APP_INVIDIOUS}", + "project_url" => "https://docs.invidious.io/instances/", + "original_name" => "YouTube", + "original_url" => "youtube.com" + ), + "bibliogram" => array( + "instance_url" => "${APP_BIBLIOGRAM}", + "project_url" => "https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Instances.md", + "original_name" => "Instagram", + "original_url" => "instagram.com" + ), + "rimgo" => array( + "instance_url" => "${APP_RIMGO}", + "project_url" => "https://codeberg.org/video-prize-ranch/rimgo#instances", + "original_name" => "Imgur", + "original_url" => "imgur.com" + ), + "scribe" => array( + "instance_url" => "${APP_SCRIBE}", + "project_url" => "https://git.sr.ht/~edwardloveall/scribe/tree/main/docs/instances.md", + "original_name" => "Medium", + "original_url" => "medium.com" + ), + "gothub" => array( + "instance_url" => "${APP_GOTHUB}", + "project_url" => "https://codeberg.org/gothub/gothub/wiki/Instances", + "original_name" => "GitHub", + "original_url" => "github.com" + ), + "librarian" => array( + "instance_url" => "${APP_LIBRARIAN}", + "project_url" => "https://codeberg.org/librarian/librarian#clearnet", + "original_name" => "Odysee", + "original_url" => "odysee.com" + ), + + "nitter" => array( + "instance_url" => "${APP_NITTER}", + "project_url" => "https://github.com/zedeus/nitter/wiki/Instances", + "original_name" => "Twitter", + "original_url" => "twitter.com" + ), + + "libreddit" => array( + "instance_url" => "${APP_LIBREREDDIT}", + "project_url" => "https://github.com/spikecodes/libreddit", + "original_name" => "Reddit", + "original_url" => "reddit.com" + ), + "proxitok" => array( + "instance_url" => "${APP_PROXITOK}", + "project_url" => "https://github.com/pablouser1/ProxiTok/wiki/Public-instances", + "original_name" => "TikTok", + "original_url" => "tiktok.com" + ), + "wikiless" => array( + "instance_url" => "${APP_WIKILESS}", + "project_url" => "https://github.com/Metastem/wikiless#instances", + "original_name" => "Wikipedia", + "original_url" => "wikipedia.com" + ), + "quetre" => array( + "instance_url" => "${APP_QUETRE}", + "project_url" => "https://github.com/zyachel/quetre", + "original_name" => "Quora", + "original_url" => "quora.com" + ), + "libremdb" => array( + "instance_url" => "${APP_LIBREMDB}", + "project_url" => "https://github.com/zyachel/libremdb", + "original_name" => "IMDb", + "original_url" => "imdb.com" + ), + "breezewiki" => array( + "instance_url" => "${APP_BREEZEWIKI}", + "project_url" => "https://gitdab.com/cadence/breezewiki", + "original_name" => "Fandom", + "original_url" => "fandom.com" + ), + "anonymousoverflow" => array( + "instance_url" => "${APP_ANONYMOUS_OVERFLOW}", + "project_url" => "https://github.com/httpjamesm/AnonymousOverflow#clearnet-instances", + "original_name" => "StackOverflow", + "original_url" => "stackoverflow.com" + ) + ), "curl_settings" => array( - CURLOPT_PROXY => "", + CURLOPT_PROXY => "${CURLOPT_PROXY}", CURLOPT_PROXYTYPE => CURLPROXY_HTTP, CURLOPT_RETURNTRANSFER => ${CURLOPT_RETURNTRANSFER}, CURLOPT_ENCODING => "${CURLOPT_ENCODING}", CURLOPT_USERAGENT => "${CURLOPT_USERAGENT}", - CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4, + CURLOPT_IPRESOLVE => CURL_IPRESOLVE_WHATEVER, CURLOPT_CUSTOMREQUEST => "${CURLOPT_CUSTOMREQUEST}", CURLOPT_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP, CURLOPT_REDIR_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP, @@ -39,6 +114,5 @@ CURLOPT_TIMEOUT => ${CURLOPT_TIMEOUT}, CURLOPT_VERBOSE => ${CURLOPT_VERBOSE} ) - ); ?> diff --git a/docker/php/php.dockerfile b/docker/php/php.dockerfile index 403918a..4c53e50 100644 --- a/docker/php/php.dockerfile +++ b/docker/php/php.dockerfile @@ -12,8 +12,9 @@ ENV OPEN_SEARCH_HOST="http://127.0.0.1:${NGINX_PORT}" # Replace the 'config.php' script, which contains the most common search engine configurations, with these environment setups # These environment setups can be found in 'config.php', and the default configurations can be useful for most use cases ENV CONFIG_GOOGLE_DOMAIN="com" -ENV CONFIG_GOOGLE_LANGUAGE="en" -ENV CONFIG_INVIDIOUS_INSTANCE="https://invidious.namazso.eu" +ENV CONFIG_GOOGLE_LANGUAGE_SITE="en" +ENV CONFIG_GOOGLE_LANGUAGE_RESULTS="en" +ENV CONFIG_INVIDIOUS_INSTANCE="https://invidious.snopyta.org" ENV CONFIG_HIDDEN_SERVICE_SEARCH=false ENV CONFIG_DISABLE_BITTORRENT_SEARCH=false ENV CONFIG_BITTORRENT_TRACKERS="&tr=http://nyaa.tracker.wf:7777/announce&tr=udp://open.stealth.si:80/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://exodus.desync.com:6969/announce&tr=udp://tracker.torrent.eu.org:451/announce" @@ -40,12 +41,12 @@ ENV APP_ANONYMOUS_OVERFLOW="" ENV CURLOPT_PROXY_ENABLED=false ENV CURLOPT_PROXY="" ENV CURLOPT_RETURNTRANSFER=true -ENV CURLOPT_ENCODING="" +ENV CURLOPT_ENCODING="UTF-8" ENV CURLOPT_USERAGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" ENV CURLOPT_CUSTOMREQUEST="GET" ENV CURLOPT_MAXREDIRS=5 ENV CURLOPT_TIMEOUT=18 -ENV CURLOPT_VERBOSE=false +ENV CURLOPT_VERBOSE=true # Install PHP-FPM using Alpine's package manager, apk # Configure PHP-FPM to listen on a Unix socket instead of a TCP port, which is more secure and efficient diff --git a/docker/php/prepare.sh b/docker/php/prepare.sh index bd4c77d..7a15b32 100755 --- a/docker/php/prepare.sh +++ b/docker/php/prepare.sh @@ -10,7 +10,7 @@ source "docker/attributes.sh" if [ ! -d "/run/php7" ] || [ ! -S "/run/php7/php-fpm7.sock" ]; then mkdir "/run/php7" touch "/run/php7/php-fpm7.sock" - chmod 0660 "/run/php7/php-fpm7.sock" + chmod 660 "/run/php7/php-fpm7.sock" chown nginx:nginx "/run/php7/php-fpm7.sock" fi diff --git a/docker/server/nginx.dockerfile b/docker/server/nginx.dockerfile index 66fe7ab..4f50131 100644 --- a/docker/server/nginx.dockerfile +++ b/docker/server/nginx.dockerfile @@ -2,8 +2,8 @@ RUN apk add nginx # Forward request and error logs to docker log collector -RUN ln -sf /dev/stdout /var/log/nginx/access.log &&\ - ln -sf /dev/stderr /var/log/nginx/error.log +# RUN ln -sf /dev/stdout /var/log/nginx/access.log &&\ +# ln -sf /dev/stderr /var/log/nginx/error.log # After executing the 'docker run' command, run the 'prepare.sh' script CMD [ "/bin/sh", "-c", "docker/server/prepare.sh" ] From a25893b53dce966276a726502e2d89fdb4136d48 Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Tue, 7 Mar 2023 18:34:03 -0300 Subject: [PATCH 04/27] feat: add 'docker-compose.yml' template for easy-to-use --- docker-compose.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5ce8593 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +version: "2.1" +services: + librex: + image: librex:latest + container_name: librex + network_mode: bridge + ports: + - 8080:8080 + environment: + - PUID=1000 + - PGID=1000 + - VERSION=docker + - TZ=America/New_York + - CONFIG_GOOGLE_DOMAIN=com + - CONFIG_GOOGLE_LANGUAGE_SITE=en + - CONFIG_GOOGLE_LANGUAGE_RESULTS=en + - CONFIG_WIKIPEDIA_LANGUAGE=en + volumes: + - ./nginx_logs:/var/log/nginx + - ./php_logs:/var/log/php7 + restart: unless-stopped From 0ef03edcb158b475b8916268dbb091c8e26a2336 Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Tue, 7 Mar 2023 18:35:16 -0300 Subject: [PATCH 05/27] refactor: solve error request due to invalid request protocol --- .gitignore | 1 + config.php.example | 8 ++++---- engines/invidious/video.php | 4 +--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 4d4ce91..34fd4a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +/.vscode /config.php /opensearch.xml diff --git a/config.php.example b/config.php.example index 52a526d..30af4b3 100644 --- a/config.php.example +++ b/config.php.example @@ -12,10 +12,10 @@ "wikipedia_language" => "en", // You can use any Invidious instance here - "invidious_instance_for_video_results" => "https://invidious.namazso.eu", + "invidious_instance_for_video_results" => "https://invidious.snopyta.org", "disable_bittorent_search" => false, - "bittorent_trackers" => "&tr=http%3A%2F%2Fnyaa.tracker.wf%3A7777%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fexodus.desync.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce", + "bittorent_trackers" => "&tr=http://nyaa.tracker.wf:7777/announce&tr=udp://open.stealth.si:80/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://exodus.desync.com:6969/announce&tr=udp://tracker.torrent.eu.org:451/announce", "disable_hidden_service_search" => false, @@ -130,9 +130,9 @@ // CURLOPT_PROXY => "ip:port", // CURLOPT_PROXYTYPE => CURLPROXY_HTTP, CURLOPT_RETURNTRANSFER => true, - CURLOPT_ENCODING => "", + CURLOPT_ENCODING => "UTF-8", CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", - CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4, + CURLOPT_IPRESOLVE => CURL_IPRESOLVE_WHATEVER, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP, CURLOPT_REDIR_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP, diff --git a/engines/invidious/video.php b/engines/invidious/video.php index 1992194..1d7076b 100644 --- a/engines/invidious/video.php +++ b/engines/invidious/video.php @@ -2,13 +2,11 @@ function get_video_results($query) { global $config; - $instance_url = $config->invidious_instance_for_video_results; - + $url = "$instance_url/api/v1/search?q=$query"; $response = request($url); $json_response = json_decode($response, true); - $results = array(); foreach ($json_response as $response) From 395f3640e50ef1736c13fb2b5b95fed9db690651 Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Wed, 8 Mar 2023 18:46:23 -0300 Subject: [PATCH 06/27] refactor: solve torrent and tor search errors --- docker/php/config.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/php/config.php b/docker/php/config.php index 57ce5f9..a588745 100644 --- a/docker/php/config.php +++ b/docker/php/config.php @@ -7,9 +7,9 @@ "wikipedia_language" => "${CONFIG_WIKIPEDIA_LANGUAGE}", "invidious_instance_for_video_results" => "${CONFIG_INVIDIOUS_INSTANCE}", - "disable_bittorent_search" => "${CONFIG_DISABLE_BITTORRENT_SEARCH}", + "disable_bittorent_search" => ${CONFIG_DISABLE_BITTORRENT_SEARCH}, "bittorent_trackers" => "${CONFIG_BITTORRENT_TRACKERS}", - "disable_hidden_service_search" => "${CONFIG_HIDDEN_SERVICE_SEARCH}", + "disable_hidden_service_search" => ${CONFIG_HIDDEN_SERVICE_SEARCH}, "frontends" => array( "invidious" => array( From b6ee16e4f4877234ce4dccc66f02b41ba7da36c4 Mon Sep 17 00:00:00 2001 From: Revvy <59625582+codedipper@users.noreply.github.com> Date: Mon, 13 Mar 2023 04:30:13 +0000 Subject: [PATCH 07/27] add revvy.de instance --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa950f9..9b832fa 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ | [lx.vern.cc](https://lx.vern.cc/) | [✅](http://lx.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/) | [✅](http://vernziqfqvweijfaacmwazohgpdo2bt2ib2jlupt2pwwu27bhgxq.b32.i2p/) | 🇺🇸 US | | [search.sesu.cc](https://search.sesu.cc/) | [✅](http://search.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion/) | [✅](http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p/) | 🇨🇱 CL | | [librex.zzls.xyz](https://librex.zzls.xyz/) | [✅](http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/) | [✅](http://7huurwog32tny663wkglrhozfoyqyqmsuxjbd7dtudccx44awjda.b32.i2p) | 🇨🇱 CL | +| [librex.revvy.de](https://librex.revvy.de/) | [✅](http://librex.revvybrr6pvbx4n3j4475h4ghw4elqr4t5xo2vtd3gfpu2nrsnhh57id.onion/) | [✅](http://revekebotog64xrrammtsmjwtwlg3vqyzwdurzt2pu6botg4bejq.b32.i2p/) | 🇨🇦 CA | | [librex.mikata.ru](https://librex.mikata.ru/) | [✅](http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion/) | ❌ | 🇺🇸 US | | [search.milivojevic.in.rs](https://search.milivojevic.in.rs/) | [✅](http://librex2xsek6qnh2i4yufuzqjumfdwtw7io7omgmimpzna6llqudqzyd.onion/) | ❌ | 🇳🇱 NL | | [search.davidovski.xyz](https://search.davidovski.xyz/) | ❌ | ❌ | 🇬🇧 UK | From f37467dafea83a0f4216c65428aab6aeee059f26 Mon Sep 17 00:00:00 2001 From: Revvy <59625582+codedipper@users.noreply.github.com> Date: Mon, 13 Mar 2023 04:34:30 +0000 Subject: [PATCH 08/27] add to instances.json --- instances.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/instances.json b/instances.json index bd8ca5c..4cc88aa 100644 --- a/instances.json +++ b/instances.json @@ -24,6 +24,12 @@ "i2p": "http://7huurwog32tny663wkglrhozfoyqyqmsuxjbd7dtudccx44awjda.b32.i2p/", "country": "CL" }, + { + "clearnet": "https://librex.revvy.de/", + "tor": "http://librex.revvybrr6pvbx4n3j4475h4ghw4elqr4t5xo2vtd3gfpu2nrsnhh57id.onion/", + "i2p": "http://revekebotog64xrrammtsmjwtwlg3vqyzwdurzt2pu6botg4bejq.b32.i2p/", + "country": "CA" + }, { "clearnet": "https://librex.mikata.ru/", "tor": "http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion/", From b29d7e0d91e6eb653d91d80a31a622edf9eacdc9 Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Mon, 13 Mar 2023 18:44:03 -0300 Subject: [PATCH 09/27] refactor: keep vscode debug configuration --- .gitignore | 1 - .vscode/launch.json | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 .vscode/launch.json diff --git a/.gitignore b/.gitignore index 34fd4a3..4d4ce91 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -/.vscode /config.php /opensearch.xml diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..6850cac --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Server", + "type": "php", + "request": "launch", + "runtimeArgs": [ + "-dxdebug.mode=debug", + "-dxdebug.start_with_request=yes", + "-S", + "localhost:0" + ], + "program": "", + "cwd": "${workspaceRoot}", + "port": 9003, + "serverReadyAction": { + "pattern": "Development Server \\(http://localhost:([0-9]+)\\) started", + "uriFormat": "http://localhost:%s", + "action": "openExternally" + } + } + ] +} From ed06bb7080456c95ae79a164f1729031db7591fe Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Mon, 13 Mar 2023 18:44:20 -0300 Subject: [PATCH 10/27] refactor: remove invalid value of CURLOPT_ENCODING option --- config.php.example | 2 +- docker/attributes.sh | 2 +- docker/php/php.dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config.php.example b/config.php.example index 30af4b3..3d69fd6 100644 --- a/config.php.example +++ b/config.php.example @@ -130,7 +130,7 @@ // CURLOPT_PROXY => "ip:port", // CURLOPT_PROXYTYPE => CURLPROXY_HTTP, CURLOPT_RETURNTRANSFER => true, - CURLOPT_ENCODING => "UTF-8", + CURLOPT_ENCODING => "", CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", CURLOPT_IPRESOLVE => CURL_IPRESOLVE_WHATEVER, CURLOPT_CUSTOMREQUEST => "GET", diff --git a/docker/attributes.sh b/docker/attributes.sh index c7acdd4..664b2ce 100755 --- a/docker/attributes.sh +++ b/docker/attributes.sh @@ -53,7 +53,7 @@ export APP_ANONYMOUS_OVERFLOW=${APP_ANONYMOUS_OVERFLOW:-""} export CURLOPT_PROXY_ENABLED=${CURLOPT_PROXY_ENABLED:-false} export CURLOPT_PROXY=${CURLOPT_PROXY:-""} export CURLOPT_RETURNTRANSFER=${CURLOPT_RETURNTRANSFER:-true} -export CURLOPT_ENCODING=${CURLOPT_ENCODING:-"UTF-8"} +export CURLOPT_ENCODING=${CURLOPT_ENCODING:-""} export CURLOPT_USERAGENT="${CURLOPT_USERAGENT:-"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"}" export CURLOPT_CUSTOMREQUEST="${CURLOPT_CUSTOMREQUEST:-"GET"}" export CURLOPT_MAXREDIRS=${CURLOPT_MAXREDIRS:-5} diff --git a/docker/php/php.dockerfile b/docker/php/php.dockerfile index 4c53e50..b1b7b82 100644 --- a/docker/php/php.dockerfile +++ b/docker/php/php.dockerfile @@ -41,7 +41,7 @@ ENV APP_ANONYMOUS_OVERFLOW="" ENV CURLOPT_PROXY_ENABLED=false ENV CURLOPT_PROXY="" ENV CURLOPT_RETURNTRANSFER=true -ENV CURLOPT_ENCODING="UTF-8" +ENV CURLOPT_ENCODING="" ENV CURLOPT_USERAGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" ENV CURLOPT_CUSTOMREQUEST="GET" ENV CURLOPT_MAXREDIRS=5 From 07ad6732cf8f0c2437c03cc70c140e126b4e1936 Mon Sep 17 00:00:00 2001 From: "Junior L. Botelho (JLB)" Date: Mon, 13 Mar 2023 20:21:12 -0300 Subject: [PATCH 11/27] refactor: remove .vscode debug folder --- .vscode/launch.json | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 6850cac..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - "version": "0.2.0", - "configurations": [ - { - "name": "Debug Server", - "type": "php", - "request": "launch", - "runtimeArgs": [ - "-dxdebug.mode=debug", - "-dxdebug.start_with_request=yes", - "-S", - "localhost:0" - ], - "program": "", - "cwd": "${workspaceRoot}", - "port": 9003, - "serverReadyAction": { - "pattern": "Development Server \\(http://localhost:([0-9]+)\\) started", - "uriFormat": "http://localhost:%s", - "action": "openExternally" - } - } - ] -} From 35d9a21c5d6c95d74ace9b3ea2ab647924d8db46 Mon Sep 17 00:00:00 2001 From: hnhx Date: Tue, 14 Mar 2023 12:12:47 +0100 Subject: [PATCH 12/27] fixed wikipedia bang, added tor instance for search.ahwx.org --- README.md | 2 +- instances.json | 12 ++++++------ misc/tools.php | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9b832fa..0555e7e 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,11 @@ | [librex.revvy.de](https://librex.revvy.de/) | [✅](http://librex.revvybrr6pvbx4n3j4475h4ghw4elqr4t5xo2vtd3gfpu2nrsnhh57id.onion/) | [✅](http://revekebotog64xrrammtsmjwtwlg3vqyzwdurzt2pu6botg4bejq.b32.i2p/) | 🇨🇦 CA | | [librex.mikata.ru](https://librex.mikata.ru/) | [✅](http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion/) | ❌ | 🇺🇸 US | | [search.milivojevic.in.rs](https://search.milivojevic.in.rs/) | [✅](http://librex2xsek6qnh2i4yufuzqjumfdwtw7io7omgmimpzna6llqudqzyd.onion/) | ❌ | 🇳🇱 NL | +| [search.ahwx.org](https://search.ahwx.org/) | [✅](http://fcnfg6avz45hqzwbneekq57u2mqbnwa7veyvjcc4dndqbatvkjlaj7yd.onion/) | ❌ | 🇳🇱 NL | | [search.davidovski.xyz](https://search.davidovski.xyz/) | ❌ | ❌ | 🇬🇧 UK | | [search.madreyk.xyz](https://search.madreyk.xyz/) | ❌ | ❌ | 🇩🇪 DE | | [search.pabloferreiro.es](https://search.pabloferreiro.es/) | ❌ | ❌ | 🇩🇪 DE | | [buscar.weblibre.org](https://buscar.weblibre.org/) | ❌ | ❌ | 🇨🇱 CL | -| [search.ahwx.org](https://search.ahwx.org/) | ❌ | ❌ | 🇳🇱 NL | | [librex.pufe.org](https://librex.pufe.org/) | ❌ | ❌ | :new_zealand: NZ | | [librex.ratakor.com](https://librex.ratakor.com/) | ❌ | ❌ | 🇫🇷 FR | | [search.tildevarsh.in](https://search.tildevarsh.in/) | ❌ | ❌ | 🇮🇳 IN | diff --git a/instances.json b/instances.json index 4cc88aa..83e68fe 100644 --- a/instances.json +++ b/instances.json @@ -36,6 +36,12 @@ "i2p": null, "country": "US" }, + { + "clearnet": "https://search.ahwx.org/", + "tor": "http://fcnfg6avz45hqzwbneekq57u2mqbnwa7veyvjcc4dndqbatvkjlaj7yd.onion/", + "i2p": null, + "country": "NL" + }, { "clearnet": "https://search.davidovski.xyz/", "tor": null, @@ -60,12 +66,6 @@ "i2p": null, "country": "CL" }, - { - "clearnet": "https://search.ahwx.org/", - "tor": null, - "i2p": null, - "country": "NL" - }, { "clearnet": "https://librex.pufe.org/", "tor": null, diff --git a/misc/tools.php b/misc/tools.php index 990f16d..191ca4c 100644 --- a/misc/tools.php +++ b/misc/tools.php @@ -45,7 +45,7 @@ if (count($wiki_split) > 1) { $lang = explode("://", $wiki_split[0])[1]; - $url = $frontend . explode($original, $url)[1] . "?lang=" . $lang; + $url = $frontend . explode($original, $url)[1] . (strpos($url, "?") !== false ? "&" : "?") . "lang=" . $lang; } } else if (strpos($url, "fandom.com") !== false) From 523edfa5dfb7f25c322765cd4971bac50dc6479d Mon Sep 17 00:00:00 2001 From: wint3rmute Date: Tue, 14 Mar 2023 16:10:23 +0100 Subject: [PATCH 13/27] Add librex.baczek.me instance --- README.md | 1 + instances.json | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index 0555e7e..0ba1c71 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ | [librex.retro-hax.net](https://librex.retro-hax.net/) | ❌ | ❌ | 🇩🇪 DE | | [search.funami.tech](https://search.funami.tech/) | ❌ | ❌ | 🇰🇷 KR | | [search.zeroish.xyz](https://search.zeroish.xyz/) | ❌| ❌ | 🇺🇸 US | +| [librex.baczek.me](https://librex.baczek.me/) | ❌| ❌ | 🇵🇱 PL |
### Thanks rms diff --git a/instances.json b/instances.json index 83e68fe..edc8497 100644 --- a/instances.json +++ b/instances.json @@ -125,6 +125,12 @@ "tor": null, "i2p": null, "country": "US" + }, + { + "clearnet": "https://librex.baczek.me/", + "tor": null, + "i2p": null, + "country": "PL" } ] } From 19a02e11661d9a82b0e0d356918ecdb2e0455948 Mon Sep 17 00:00:00 2001 From: wint3rmute Date: Fri, 17 Mar 2023 15:13:21 +0100 Subject: [PATCH 14/27] Improve docker build caching --- Dockerfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index f0e7f30..6512cdc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,6 +25,12 @@ ARG NGINX_PORT=8080 # See more: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List ENV TZ="America/New_York" +RUN apk add gettext --no-cache + +# The following lines import all Dockerfiles from other folders so that they can be built together in the final build +INCLUDE+ docker/php/php.dockerfile +INCLUDE+ docker/server/nginx.dockerfile + # Include docker scripts, docker images, and the 'GNU License' in the Librex container ADD "." "/var/www/html" @@ -34,12 +40,6 @@ RUN chmod u+x "${DOCKER_SCRIPTS}/php/prepare.sh" &&\ chmod u+x "${DOCKER_SCRIPTS}/entrypoint.sh" &&\ chmod u+x "${DOCKER_SCRIPTS}/attributes.sh" -RUN apk add gettext --no-cache - -# The following lines import all Dockerfiles from other folders so that they can be built together in the final build -INCLUDE+ docker/php/php.dockerfile -INCLUDE+ docker/server/nginx.dockerfile - EXPOSE ${NGINX_PORT} # Configures the container to be run as an executable. From d3c33dc6e46d804552b38973b370c1d60d5a2642 Mon Sep 17 00:00:00 2001 From: TheTuzu Date: Thu, 23 Mar 2023 18:34:32 +0100 Subject: [PATCH 15/27] Added Catppucin theme --- settings.php | 3 ++- static/css/catppuccin.css | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 static/css/catppuccin.css diff --git a/settings.php b/settings.php index df150f6..362627b 100644 --- a/settings.php +++ b/settings.php @@ -61,7 +61,8 @@ - "; + + "; if (isset($_COOKIE["theme"])) { diff --git a/static/css/catppuccin.css b/static/css/catppuccin.css new file mode 100644 index 0000000..92ba358 --- /dev/null +++ b/static/css/catppuccin.css @@ -0,0 +1,26 @@ +:root { + --main-bg: #1E1E2E; + --main-fg: #CDD6F4; + + --result-link-fg: #89B4FA; + --result-fg: #B4B3FE; + + --button-bg: #313244; + + --special-result-border: opacity 50; + --special-text-background: #44475A; + --special-text-color: #CDD6F4; + + --search-container-text-color: #CDD6F4; + --search-container-background-color: #313244; + --search-container-background-border: #B4BEFE; + + --search-form-background-color: #181825; + + --border: #B4B3FE; + + --footer-fg: #A6ADC8; + --footer-bg: #313244; + + color-scheme: dark; +} From d04315009e5686206d3fbf88606ce9ee323230d3 Mon Sep 17 00:00:00 2001 From: hnhx Date: Fri, 24 Mar 2023 09:39:52 +0100 Subject: [PATCH 16/27] added number of results option, fixed a theme name --- config.php.example | 1 + engines/google/text.php | 10 ++++------ settings.php | 6 +++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/config.php.example b/config.php.example index 3d69fd6..be4fc64 100644 --- a/config.php.example +++ b/config.php.example @@ -7,6 +7,7 @@ // Google results will be in this language "google_language_site" => "", "google_language_results" => "", + "google_number_of_results" => 10, // You can set a language for results in wikipedia "wikipedia_language" => "en", diff --git a/engines/google/text.php b/engines/google/text.php index 56fb1ae..b18a504 100644 --- a/engines/google/text.php +++ b/engines/google/text.php @@ -10,23 +10,21 @@ $domain = $config->google_domain; $site_language = isset($_COOKIE["google_language_site"]) ? trim(htmlspecialchars($_COOKIE["google_language_site"])) : $config->google_language_site; $results_language = isset($_COOKIE["google_language_results"]) ? trim(htmlspecialchars($_COOKIE["google_language_results"])) : $config->google_language_results; + $number_of_results = isset($_COOKIE["google_number_of_results"]) ? trim(htmlspecialchars($_COOKIE["google_number_of_results"])) : $config->google_number_of_results; $url = "https://www.google.$domain/search?q=$query_encoded&start=$page"; if (3 > strlen($site_language) && 0 < strlen($site_language)) - { $url .= "&hl=$site_language"; - } if (3 > strlen($results_language) && 0 < strlen($results_language)) - { $url .= "&lr=lang_$results_language"; - } + + if (3 > strlen($number_of_results) && 0 < strlen($number_of_results)) + $url .= "&num=$number_of_results"; if (isset($_COOKIE["safe_search"])) - { $url .= "&safe=medium"; - } $google_ch = curl_init($url); curl_setopt_array($google_ch, $config->curl_settings); diff --git a/settings.php b/settings.php index 362627b..bca23e1 100644 --- a/settings.php +++ b/settings.php @@ -62,7 +62,7 @@ - "; + "; if (isset($_COOKIE["theme"])) { @@ -115,6 +115,10 @@ echo isset($_COOKIE["google_language_results"]) ? htmlspecialchars($_COOKIE["google_language_results"]) : $config->google_language_results; ?>"> +
+ + google_number_of_results; ?>" > +
> From e4178913bd8bc3a1d9f1260a77a49e06c4bb6024 Mon Sep 17 00:00:00 2001 From: Revvy Date: Sun, 26 Mar 2023 19:51:29 -0400 Subject: [PATCH 17/27] remove bibliogram --- config.php.example | 6 ------ docker/README.md | 1 - docker/attributes.sh | 1 - docker/php/config.php | 6 ------ docker/php/php.dockerfile | 1 - misc/tools.php | 6 ------ 6 files changed, 21 deletions(-) diff --git a/config.php.example b/config.php.example index be4fc64..9f9eeb2 100644 --- a/config.php.example +++ b/config.php.example @@ -32,12 +32,6 @@ "original_name" => "YouTube", "original_url" => "youtube.com" ), - "bibliogram" => array( - "instance_url" => "", - "project_url" => "https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Instances.md", - "original_name" => "Instagram", - "original_url" => "instagram.com" - ), "rimgo" => array( "instance_url" => "", "project_url" => "https://codeberg.org/video-prize-ranch/rimgo#instances", diff --git a/docker/README.md b/docker/README.md index b7bc5d6..f0c5cb9 100644 --- a/docker/README.md +++ b/docker/README.md @@ -107,7 +107,6 @@ This docker image was developed with high configurability in mind, so here is th | Variables | Default | Examples | Description | |:----------|:-------------|:---------|:------| | APP_INVIDIOUS | "" | string | Integration with external self-hosted apps, configure the desired host. | -| APP_BIBLIOGRAM | "" | string | Integration with external self-hosted apps, configure the desired host. | | APP_RIMGO | "" | string | Integration with external self-hosted apps, configure the desired host. | | APP_SCRIBE | "" | string | Integration with external self-hosted apps, configure the desired host. | | APP_LIBRARIAN | "" | string | Integration with external self-hosted apps, configure the desired host. | diff --git a/docker/attributes.sh b/docker/attributes.sh index 664b2ce..bbd529a 100755 --- a/docker/attributes.sh +++ b/docker/attributes.sh @@ -34,7 +34,6 @@ export CONFIG_WIKIPEDIA_LANGUAGE=${CONFIG_WIKIPEDIA_LANGUAGE:-${CONFIG_GOOGLE_LA # Supported apps integration configuration. These empty spaces can be set up using free hosts as pointers # A particular example is using the "https://yewtu.be" or a self-hosted host to integrate the invidious app to librex export APP_INVIDIOUS=${APP_INVIDIOUS:-""} -export APP_BIBLIOGRAM=${APP_BIBLIOGRAM:-""} export APP_RIMGO=${APP_RIMGO:-""} export APP_SCRIBE=${APP_SCRIBE:-""} export APP_LIBRARIAN=${APP_LIBRARIAN:-""} diff --git a/docker/php/config.php b/docker/php/config.php index a588745..260376e 100644 --- a/docker/php/config.php +++ b/docker/php/config.php @@ -18,12 +18,6 @@ "original_name" => "YouTube", "original_url" => "youtube.com" ), - "bibliogram" => array( - "instance_url" => "${APP_BIBLIOGRAM}", - "project_url" => "https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Instances.md", - "original_name" => "Instagram", - "original_url" => "instagram.com" - ), "rimgo" => array( "instance_url" => "${APP_RIMGO}", "project_url" => "https://codeberg.org/video-prize-ranch/rimgo#instances", diff --git a/docker/php/php.dockerfile b/docker/php/php.dockerfile index b1b7b82..a2c8022 100644 --- a/docker/php/php.dockerfile +++ b/docker/php/php.dockerfile @@ -22,7 +22,6 @@ ENV CONFIG_BITTORRENT_TRACKERS="&tr=http://nyaa.tracker.wf:7777/announce&tr=udp: # Supported apps integration configuration. These empty spaces can be set up using free hosts as pointers # A particular example is using the "https://yewtu.be" or a self-hosted host to integrate the invidious app to librex ENV APP_INVIDIOUS="" -ENV APP_BIBLIOGRAM="" ENV APP_RIMGO="" ENV APP_SCRIBE="" ENV APP_LIBRARIAN="" diff --git a/misc/tools.php b/misc/tools.php index 191ca4c..96dc08b 100644 --- a/misc/tools.php +++ b/misc/tools.php @@ -30,12 +30,6 @@ else if (!empty($frontends[$frontend]["instance_url"])) $frontend = $frontends[$frontend]["instance_url"]; - if ($original == "instagram.com") - { - if (!strpos($url, "/p/")) - $frontend .= "/u"; - } - if (empty(trim($frontend))) return $url; From 2283a4fee8c2b2e70f6a0d80796f13b4c68e68c3 Mon Sep 17 00:00:00 2001 From: Revvy Date: Sun, 26 Mar 2023 20:10:15 -0400 Subject: [PATCH 18/27] suds => snopes --- config.php.example | 6 ++++++ docker/README.md | 1 + docker/attributes.sh | 1 + docker/php/config.php | 7 +++++++ docker/php/php.dockerfile | 1 + 5 files changed, 16 insertions(+) diff --git a/config.php.example b/config.php.example index 9f9eeb2..2b883a9 100644 --- a/config.php.example +++ b/config.php.example @@ -105,6 +105,12 @@ "project_url" => "https://github.com/httpjamesm/AnonymousOverflow#clearnet-instances", "original_name" => "StackOverflow", "original_url" => "stackoverflow.com" + ), + "suds" => array( + "instance_url" => "", + "project_url" => "https://git.vern.cc/cobra/Suds/src/branch/main/instances.json", + "original_name" => "Suds", + "original_url" => "snopes.com" ) ), diff --git a/docker/README.md b/docker/README.md index f0c5cb9..85d8196 100644 --- a/docker/README.md +++ b/docker/README.md @@ -119,6 +119,7 @@ This docker image was developed with high configurability in mind, so here is th | APP_LIBREMDB | "" | string | Integration with external self-hosted apps, configure the desired host. | | APP_BREEZEWIKI | "" | string | Integration with external self-hosted apps, configure the desired host. | | APP_ANONYMOUS_OVERFLOW | "" | string | Integration with external self-hosted apps, configure the desired host. | +| APP_SUDS | "" | string | Integration with external self-hosted apps, configure the desired host. |
diff --git a/docker/attributes.sh b/docker/attributes.sh index bbd529a..16ff1c9 100755 --- a/docker/attributes.sh +++ b/docker/attributes.sh @@ -46,6 +46,7 @@ export APP_QUETRE=${APP_QUETRE:-""} export APP_LIBREMDB=${APP_LIBREMDB:-""} export APP_BREEZEWIKI=${APP_BREEZEWIKI:-""} export APP_ANONYMOUS_OVERFLOW=${APP_ANONYMOUS_OVERFLOW:-""} +export APP_SUDS=${APP_SUDS:-""} # GNU/Curl configurations. Leave 'CURLOPT_PROXY' blank whether you don't need to use a proxy for requests # Generally, a proxy is needed when your IP address is blocked by search engines in response to multiple requests within a short time frame. In these cases, it is recommended to use rotating proxies diff --git a/docker/php/config.php b/docker/php/config.php index 260376e..92560c3 100644 --- a/docker/php/config.php +++ b/docker/php/config.php @@ -91,7 +91,14 @@ "project_url" => "https://github.com/httpjamesm/AnonymousOverflow#clearnet-instances", "original_name" => "StackOverflow", "original_url" => "stackoverflow.com" + ), + "suds" => array( + "instance_url" => "${APP_SUDS}", + "project_url" => "https://git.vern.cc/cobra/Suds/src/branch/main/instances.json", + "original_name" => "Suds", + "original_url" => "snopes.com" ) + ), "curl_settings" => array( diff --git a/docker/php/php.dockerfile b/docker/php/php.dockerfile index a2c8022..1878193 100644 --- a/docker/php/php.dockerfile +++ b/docker/php/php.dockerfile @@ -34,6 +34,7 @@ ENV APP_QUETRE="" ENV APP_LIBREMDB="" ENV APP_BREEZEWIKI="" ENV APP_ANONYMOUS_OVERFLOW="" +ENV APP_SUDS="" # GNU/Curl configurations. Leave 'CURLOPT_PROXY' blank whether you don't need to use a proxy for requests # Generally, a proxy is needed when your IP address is blocked by search engines in response to multiple requests within a short time frame. In these cases, it is recommended to use rotating proxies From 92898c06be1c396f562afd50427e22f4cb92c9ee Mon Sep 17 00:00:00 2001 From: Livia Date: Wed, 5 Apr 2023 09:50:56 +0200 Subject: [PATCH 19/27] change tor address since i switched servers and am an idiot --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ba1c71..2b39244 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ | [librex.revvy.de](https://librex.revvy.de/) | [✅](http://librex.revvybrr6pvbx4n3j4475h4ghw4elqr4t5xo2vtd3gfpu2nrsnhh57id.onion/) | [✅](http://revekebotog64xrrammtsmjwtwlg3vqyzwdurzt2pu6botg4bejq.b32.i2p/) | 🇨🇦 CA | | [librex.mikata.ru](https://librex.mikata.ru/) | [✅](http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion/) | ❌ | 🇺🇸 US | | [search.milivojevic.in.rs](https://search.milivojevic.in.rs/) | [✅](http://librex2xsek6qnh2i4yufuzqjumfdwtw7io7omgmimpzna6llqudqzyd.onion/) | ❌ | 🇳🇱 NL | -| [search.ahwx.org](https://search.ahwx.org/) | [✅](http://fcnfg6avz45hqzwbneekq57u2mqbnwa7veyvjcc4dndqbatvkjlaj7yd.onion/) | ❌ | 🇳🇱 NL | +| [search.ahwx.org](https://search.ahwx.org/) | [✅](http://cosrpybbddzdfjquer3zfmb2h5avtacnctnbu4gucwocdb42s63gcqqd.onion/) | ❌ | 🇳🇱 NL | | [search.davidovski.xyz](https://search.davidovski.xyz/) | ❌ | ❌ | 🇬🇧 UK | | [search.madreyk.xyz](https://search.madreyk.xyz/) | ❌ | ❌ | 🇩🇪 DE | | [search.pabloferreiro.es](https://search.pabloferreiro.es/) | ❌ | ❌ | 🇩🇪 DE | From 4826071262d35784a994ca783a46f8ea7f6ca13b Mon Sep 17 00:00:00 2001 From: hnhx <49120638+hnhx@users.noreply.github.com> Date: Sat, 8 Apr 2023 09:31:08 +0000 Subject: [PATCH 20/27] removed dead instances, added new ones --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2b39244..3e66eb7 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,7 @@ | Clearnet | TOR | I2P | Country | |-|-|-|-| -| [search.femboy.hu](https://search.femboy.hu/) | [✅](http://search.cepyxplublbyw2f4axy4pyztfbxmf63lrt2c7uwv6wl4iixz53czload.onion/) | ❌ | 🇭🇺 HU (OFFICIAL INSTANCE) | | [lx.vern.cc](https://lx.vern.cc/) | [✅](http://lx.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/) | [✅](http://vernziqfqvweijfaacmwazohgpdo2bt2ib2jlupt2pwwu27bhgxq.b32.i2p/) | 🇺🇸 US | -| [search.sesu.cc](https://search.sesu.cc/) | [✅](http://search.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion/) | [✅](http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p/) | 🇨🇱 CL | | [librex.zzls.xyz](https://librex.zzls.xyz/) | [✅](http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/) | [✅](http://7huurwog32tny663wkglrhozfoyqyqmsuxjbd7dtudccx44awjda.b32.i2p) | 🇨🇱 CL | | [librex.revvy.de](https://librex.revvy.de/) | [✅](http://librex.revvybrr6pvbx4n3j4475h4ghw4elqr4t5xo2vtd3gfpu2nrsnhh57id.onion/) | [✅](http://revekebotog64xrrammtsmjwtwlg3vqyzwdurzt2pu6botg4bejq.b32.i2p/) | 🇨🇦 CA | | [librex.mikata.ru](https://librex.mikata.ru/) | [✅](http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion/) | ❌ | 🇺🇸 US | @@ -24,17 +22,17 @@ | [search.davidovski.xyz](https://search.davidovski.xyz/) | ❌ | ❌ | 🇬🇧 UK | | [search.madreyk.xyz](https://search.madreyk.xyz/) | ❌ | ❌ | 🇩🇪 DE | | [search.pabloferreiro.es](https://search.pabloferreiro.es/) | ❌ | ❌ | 🇩🇪 DE | -| [buscar.weblibre.org](https://buscar.weblibre.org/) | ❌ | ❌ | 🇨🇱 CL | | [librex.pufe.org](https://librex.pufe.org/) | ❌ | ❌ | :new_zealand: NZ | | [librex.ratakor.com](https://librex.ratakor.com/) | ❌ | ❌ | 🇫🇷 FR | | [search.tildevarsh.in](https://search.tildevarsh.in/) | ❌ | ❌ | 🇮🇳 IN | | [librex.myroware.eu](https://librex.myroware.eu/) | ❌ | ❌ | 🇩🇪 DE | -| [lx.drain.win](https://lx.drain.win/) | ❌ | ❌ | 🇸🇬 SG | | [librex.bloatcat.tk](https://librex.bloatcat.tk/) | ❌ | ❌ | 🇮🇸 IS | | [librex.retro-hax.net](https://librex.retro-hax.net/) | ❌ | ❌ | 🇩🇪 DE | | [search.funami.tech](https://search.funami.tech/) | ❌ | ❌ | 🇰🇷 KR | | [search.zeroish.xyz](https://search.zeroish.xyz/) | ❌| ❌ | 🇺🇸 US | | [librex.baczek.me](https://librex.baczek.me/) | ❌| ❌ | 🇵🇱 PL | +| [librex.yogeshlamichhane.com.np](https://librex.yogeshlamichhane.com.np/) | ❌| ❌ | 🇺🇸 US | +| [search.spaceint.fr](https://search.spaceint.fr/) | ❌ | ❌ | 🇩🇪 DE |
### Thanks rms From 52ae847748666c04e7b5a26e70b6a8d0692e2891 Mon Sep 17 00:00:00 2001 From: hnhx <49120638+hnhx@users.noreply.github.com> Date: Sat, 8 Apr 2023 09:35:49 +0000 Subject: [PATCH 21/27] updated the instances in the json file as well --- instances.json | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/instances.json b/instances.json index edc8497..5151241 100644 --- a/instances.json +++ b/instances.json @@ -1,23 +1,11 @@ { "instances": [ - { - "clearnet": "https://search.femboy.hu/", - "tor": "http://search.cepyxplublbyw2f4axy4pyztfbxmf63lrt2c7uwv6wl4iixz53czload.onion/", - "i2p": null, - "country": "HU" - }, { "clearnet": "https://lx.vern.cc/", "tor": "http://lx.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/", "i2p": "http://vernziqfqvweijfaacmwazohgpdo2bt2ib2jlupt2pwwu27bhgxq.b32.i2p/", "country": "US" }, - { - "clearnet": "https://search.sesu.cc/", - "tor": "http://search.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion/", - "i2p": "http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p/", - "country": "CL" - }, { "clearnet": "https://librex.zzls.xyz/", "tor": "http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/", @@ -38,7 +26,7 @@ }, { "clearnet": "https://search.ahwx.org/", - "tor": "http://fcnfg6avz45hqzwbneekq57u2mqbnwa7veyvjcc4dndqbatvkjlaj7yd.onion/", + "tor": "http://cosrpybbddzdfjquer3zfmb2h5avtacnctnbu4gucwocdb42s63gcqqd.onion/", "i2p": null, "country": "NL" }, @@ -60,12 +48,6 @@ "i2p": null, "country": "DE" }, - { - "clearnet": "https://buscar.weblibre.org/", - "tor": null, - "i2p": null, - "country": "CL" - }, { "clearnet": "https://librex.pufe.org/", "tor": null, @@ -96,12 +78,6 @@ "i2p": null, "country": "DE" }, - { - "clearnet": "https://lx.drain.win/", - "tor": null, - "i2p": null, - "country": "SG" - }, { "clearnet": "https://librex.bloatcat.tk/", "tor": null, @@ -131,6 +107,18 @@ "tor": null, "i2p": null, "country": "PL" + }, + { + "clearnet": "https://librex.yogeshlamichhane.com.np/", + "tor": null, + "i2p": null, + "country": "US" + }, + { + "clearnet": "https://search.spaceint.fr/", + "tor": null, + "i2p": null, + "country": "DE" } ] } From 9e2421400037497321004833e6a63b52e2852810 Mon Sep 17 00:00:00 2001 From: rafalohaki Date: Sun, 9 Apr 2023 00:52:38 +0200 Subject: [PATCH 22/27] fix librex image pull access fixed: pull access denied for librex --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5ce8593..c9224aa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: "2.1" services: librex: - image: librex:latest + image: librex/librex:latest container_name: librex network_mode: bridge ports: From c13228e24080280df97b5ea1b69ba1b07bc4d026 Mon Sep 17 00:00:00 2001 From: rafalohaki Date: Sun, 9 Apr 2023 01:19:53 +0200 Subject: [PATCH 23/27] Update sukebei.php textContent, XPath expression fix --- engines/bittorrent/sukebei.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/engines/bittorrent/sukebei.php b/engines/bittorrent/sukebei.php index 65fd177..023cf6c 100644 --- a/engines/bittorrent/sukebei.php +++ b/engines/bittorrent/sukebei.php @@ -9,11 +9,21 @@ foreach($xpath->query("//tbody/tr") as $result) { - $name = $xpath->evaluate(".//td[@colspan='2']//a[not(contains(@class, 'comments'))]/@title", $result)[0]->textContent; + $name_node = $xpath->evaluate(".//td[@colspan='2']//a[not(contains(@class, 'comments'))]/@title", $result); + if ($name_node->length > 0) { + $name = $name_node[0]->textContent; + } else { + $name = ""; + } $centered = $xpath->evaluate(".//td[@class='text-center']", $result); - $magnet = $xpath->evaluate(".//a[2]/@href", $centered[0])[0]->textContent; - $magnet_without_tracker = explode("&tr=", $magnet)[0]; - $magnet = $magnet_without_tracker . $config->bittorent_trackers; + $magnet_node = $xpath->evaluate(".//a[2]/@href", $centered[0]); + if ($magnet_node->length > 0) { + $magnet = $magnet_node[0]->textContent; + $magnet_without_tracker = explode("&tr=", $magnet)[0]; + $magnet = $magnet_without_tracker . $config->bittorent_trackers; + } else { + $magnet = ""; + } $size = $centered[1]->textContent; $seeders = $centered[3]->textContent; $leechers = $centered[4]->textContent; From f34549b97290c94c6269e4e60fed2ff4cf78984b Mon Sep 17 00:00:00 2001 From: rafalohaki Date: Sun, 9 Apr 2023 01:24:39 +0200 Subject: [PATCH 24/27] Update sukebei.php Modified the get_sukebei_results() function to handle cases where the name and magnet nodes are null or do not exist. Added conditional statements to check if the name and magnet nodes exist before attempting to access their properties, in order to prevent null errors and warnings. Added empty string as the default value for name and magnet variables in case their corresponding nodes are null or do not exist. Removed the use of deprecated functions explode() and htmlspecialchars() in the code. No longer accessing the textContent property of DOMXPath::evaluate(). --- engines/bittorrent/sukebei.php | 1 - 1 file changed, 1 deletion(-) diff --git a/engines/bittorrent/sukebei.php b/engines/bittorrent/sukebei.php index 023cf6c..61485cc 100644 --- a/engines/bittorrent/sukebei.php +++ b/engines/bittorrent/sukebei.php @@ -39,7 +39,6 @@ ) ); } - return $results; } ?> From b52b2aa4dae916ce35619ad811c86a1a893aca61 Mon Sep 17 00:00:00 2001 From: Revvy Date: Sun, 9 Apr 2023 18:37:22 -0400 Subject: [PATCH 25/27] fix original_name --- config.php.example | 2 +- docker/php/config.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.php.example b/config.php.example index 2b883a9..58c17b9 100644 --- a/config.php.example +++ b/config.php.example @@ -109,7 +109,7 @@ "suds" => array( "instance_url" => "", "project_url" => "https://git.vern.cc/cobra/Suds/src/branch/main/instances.json", - "original_name" => "Suds", + "original_name" => "Snopes", "original_url" => "snopes.com" ) ), diff --git a/docker/php/config.php b/docker/php/config.php index 92560c3..e866196 100644 --- a/docker/php/config.php +++ b/docker/php/config.php @@ -95,7 +95,7 @@ "suds" => array( "instance_url" => "${APP_SUDS}", "project_url" => "https://git.vern.cc/cobra/Suds/src/branch/main/instances.json", - "original_name" => "Suds", + "original_name" => "Snopes", "original_url" => "snopes.com" ) From ef32e900eb2c4edbe8c925dd21f47c877f9fce08 Mon Sep 17 00:00:00 2001 From: monster energy <69584313+drinkmonster@users.noreply.github.com> Date: Thu, 13 Apr 2023 09:56:47 +0200 Subject: [PATCH 26/27] added my instance --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e66eb7..088bd75 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ | [librex.baczek.me](https://librex.baczek.me/) | ❌| ❌ | 🇵🇱 PL | | [librex.yogeshlamichhane.com.np](https://librex.yogeshlamichhane.com.np/) | ❌| ❌ | 🇺🇸 US | | [search.spaceint.fr](https://search.spaceint.fr/) | ❌ | ❌ | 🇩🇪 DE | +| [lx.benike.monster](https://lx.benike.monster/) | ❌ | ❌ | 🇩🇪 DE |
### Thanks rms From 96f47b9600c82724d6140e59d10f17b4f3d66383 Mon Sep 17 00:00:00 2001 From: monster energy <69584313+drinkmonster@users.noreply.github.com> Date: Thu, 13 Apr 2023 09:59:05 +0200 Subject: [PATCH 27/27] also added to instances.json --- instances.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/instances.json b/instances.json index 5151241..f6e7c8b 100644 --- a/instances.json +++ b/instances.json @@ -119,6 +119,12 @@ "tor": null, "i2p": null, "country": "DE" + }, + { + "clearnet": "https://lx.benike.monster/", + "tor": null, + "i2p": null, + "country": "DE" } ] }