Sourcehut | Github |
Obtenez les résultats de la recherche Google, mais sans aucune annonce, JavaScript, liens AMP, cookies ou suivi d'adresses IP. Déplacement facilement en un clic comme application Docker et personnalisable avec un seul fichier de configuration. Rapide et simple à implémenter en tant que remplacement principal du moteur de recherche sur le bureau et le mobile.
Contenu
!<tag> <query>
* Aucun javascript tiers. Whoogle peut être utilisé avec JavaScript Disabled, mais s'il est activé, utilise JavaScript pour des choses comme présenter des suggestions de recherche.
** Pas de cookies tiers. Whoogle utilise des cookies (sessions) côté serveur pour stocker des paramètres de configuration non sensibles tels que le thème, la langue, etc. Tout comme avec JavaScript, les cookies peuvent être désactivés et ne pas affecter les fonctionnalités de recherche de Whoogle.
*** s'il est déployé sur un serveur distant, ou configuré pour envoyer des demandes via un VPN, TOR, proxy, etc.
Il existe différentes façons de commencer à utiliser l'application, selon vos préférences:
Fournit:
Notes:
https
. Assurez-vous de naviguer vers la version https
de votre application avant d'ajouter en tant que moteur de recherche par défaut.Créez un compte sur render.com et importez le repo whoogle avec les paramètres suivants:
Python 3
pip install -r requirements.txt
./run
REMARQUE: nécessite un compte de repection (gratuit)
Fournit:
Vous aurez besoin d'un compte fly.io pour déployer Whoogle.
flyctl auth login
flyctl launch --image benbusby/whoogle-search:latest
Le premier déploiement ne réussira pas car l' internal_port
par défaut est faux. Pour résoudre ce problème, ouvrez le fichier fly.toml
généré, définissez services.internal_port
sur 5000
et réduisez à nouveau flyctl launch
.
Votre application est désormais disponible sur https://<app-name>.fly.dev
.
Notes:
Utilisez l'un des guides suivants pour installer Whoogle sur Koyeb:
Installation persistante:
pipx install https://github.com/benbusby/whoogle-search/archive/refs/heads/main.zip
Instance temporaire en sable:
pipx run --spec git+https://github.com/benbusby/whoogle-search.git whoogle-search
pip install whoogle-search
$ whoogle-search --help
usage: whoogle-search [-h] [--port < port number > ] [--host < ip address > ] [--debug] [--https-only] [--userpass < username:password > ]
[--proxyauth < username:password > ] [--proxytype < socks4 | socks5 | http > ] [--proxyloc < location:port > ]
Whoogle Search console runner
optional arguments:
-h, --help Show this help message and exit
--port < port number > Specifies a port to run on (default 5000)
--host < ip address > Specifies the host address to use (default 127.0.0.1)
--debug Activates debug mode for the server (default False)
--https-only Enforces HTTPS redirects for all requests
--userpass < username:password >
Sets a username/password basic auth combo (default None)
--proxyauth < username:password >
Sets a username/password for a HTTP/SOCKS proxy (default None)
--proxytype < socks4 | socks5 | http >
Sets a proxy type for all connections (default None)
--proxyloc < location:port >
Sets a proxy location for all connections (default None)
Voir les variables d'environnement disponibles pour une configuration supplémentaire.
Remarque: les en-têtes Content-Security-Policy
peuvent être envoyés par whoogle si vous définissez WHOOGLE_CSP
.
libcurl4-openssl-dev
et libssl-dev
brew install openssl curl-openssl
sudo apt-get install -y libcurl4-openssl-dev libssl-dev
pacman -S curl openssl
Clone le repo et exécutez les commandes suivantes pour démarrer l'application dans un environnement local uniquement:
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
./run
Voir les variables d'environnement disponibles pour une configuration supplémentaire.
Après avoir construit l'environnement virtuel, vous pouvez ajouter quelque chose comme ce qui suit à /lib/systemd/system/whoogle.service
pour configurer un service Systemd Whoogle Search:
[Unit]
Description =Whoogle
[Service]
# Basic auth configuration, uncomment to enable
# Environment=WHOOGLE_USER=<username>
# Environment=WHOOGLE_PASS=<password>
# Proxy configuration, uncomment to enable
# Environment=WHOOGLE_PROXY_USER=<proxy username>
# Environment=WHOOGLE_PROXY_PASS=<proxy password>
# Environment=WHOOGLE_PROXY_TYPE=<proxy type (http|https|proxy4|proxy5)
# Environment=WHOOGLE_PROXY_LOC=<proxy host/ip>
# Site alternative configurations, uncomment to enable
# Note: If not set, the feature will still be available
# with default values.
# Environment=WHOOGLE_ALT_TW=farside.link/nitter
# Environment=WHOOGLE_ALT_YT=farside.link/invidious
# Environment=WHOOGLE_ALT_RD=farside.link/libreddit
# Environment=WHOOGLE_ALT_MD=farside.link/scribe
# Environment=WHOOGLE_ALT_TL=farside.link/lingva
# Environment=WHOOGLE_ALT_IMG=farside.link/rimgo
# Environment=WHOOGLE_ALT_WIKI=farside.link/wikiless
# Environment=WHOOGLE_ALT_IMDB=farside.link/libremdb
# Environment=WHOOGLE_ALT_QUORA=farside.link/quetre
# Environment=WHOOGLE_ALT_SO=farside.link/anonymousoverflow
# Load values from dotenv only
# Environment=WHOOGLE_DOTENV=1
# specify dotenv location if not in default location
# Environment=WHOOGLE_DOTENV_PATH=<path/to>/whoogle.env
Type =simple
User =<username>
# If installed as a package, add:
ExecStart =<python_install_dir>/python3 <whoogle_install_dir>/whoogle-search --host 127.0.0.1 --port 5000
# For example:
# ExecStart=/usr/bin/python3 /home/my_username/.local/bin/whoogle-search --host 127.0.0.1 --port 5000
# Otherwise if running the app from source, add:
ExecStart =<whoogle_repo_dir>/run
# For example:
# ExecStart=/var/www/whoogle-search/run
WorkingDirectory =<whoogle_repo_dir>
ExecReload =/bin/kill -HUP $MAINPID
Restart =always
RestartSec =3
SyslogIdentifier =whoogle
[Install]
WantedBy =multi-user.target
Alors,
sudo systemctl daemon-reload
sudo systemctl enable whoogle
sudo systemctl start whoogle
Si vous achetez votre demande via TOR, vous devrez effectuer les ajustements suivants. En raison de la nature de l'interaction avec Google via Tor, nous devrons être en mesure d'envoyer des signaux à Tor et donc de s'authentifier avec.
Il existe deux méthodes d'authentification, le mot de passe et le cookie. Vous devrez apporter des modifications à votre Torrc:
Cookie
Décommente ou ajoutez les lignes suivantes dans votre Torrc:
ControlPort 9051
CookieAuthentication 1
DataDirectoryGroupReadable 1
CookieAuthFileGroupReadable 1
Rendez le cookie Tor Auth lisible:
whoogle
par cet utilisateur.chmod tor:whoogle /var/lib/tor
chmod tor:whoogle /var/lib/tor/control_auth_cookie
Redémarrez le service TOR:
systemctl restart tor
Définissez la variable d'environnement TOR sur 1, WHOOGLE_CONFIG_TOR
. Reportez-vous à la section Variables Environment pour plus de détails.
WHOOGLE_CONFIG_TOR=1
Mot de passe
Exécutez cette commande:
tor --hash-password {Your Password Here}
; Mettez votre mot de passe à la place de {Your Password Here}
.Décommente ou ajoutez les lignes suivantes dans votre Torrc:
ControlPort 9051
HashedControlPassword {Place output here}
; Mettez la sortie de la commande précédente à la place de {Place output here}
.Maintenant, prenez le mot de passe de la première étape et placez-le dans le fichier Control.conf dans le répertoire de travail Whoogle, c'est-à-dire. misc / tor / contrôle.conf
WHOOGLE_TOR_CONF
. Reportez-vous à la section Variables Environment pour plus de détails.Restreignez fortement l'accès à Control.conf à être lisible uniquement par l'utilisateur exécutant whoogle:
chmod 400 control.conf
Définissez enfin la variable d'environnement Tor et utilisez la variable de mot de passe sur 1, WHOOGLE_CONFIG_TOR
et WHOOGLE_TOR_USE_PASS
. Reportez-vous à la section Variables Environment pour plus de détails.
WHOOGLE_CONFIG_TOR=1
WHOOGLE_TOR_USE_PASS=1
sudo usermod -aG docker yourusername
docker ps
devrait renvoyer autre chose qu'une erreur. Si vous rencontrez une erreur disant que le démon n'est pas en cours d'exécution, essayez sudo systemctl start docker
(Linux) ou assurez-vous que l'outil Docker est en cours d'exécution (Windows / MacOS).Via Docker Hub:
docker pull benbusby/whoogle-search
docker run --publish 5000:5000 --detach --name whoogle-search benbusby/whoogle-search:latest
ou avec Docker-Compose:
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
docker-compose up
ou en vous construisant:
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
docker build --tag whoogle-search:1.0 .
docker run --publish 5000:5000 --detach --name whoogle-search whoogle-search:1.0
Facultativement, vous pouvez également activer certaines des variables d'environnement suivantes pour personnaliser davantage votre instance:
docker run --publish 5000:5000 --detach --name whoogle-search
-e WHOOGLE_USER=username
-e WHOOGLE_PASS=password
-e WHOOGLE_PROXY_USER=username
-e WHOOGLE_PROXY_PASS=password
-e WHOOGLE_PROXY_TYPE=socks5
-e WHOOGLE_PROXY_LOC=ip
whoogle-search:1.0
Et tuer avec: docker rm --force whoogle-search
heroku login
heroku container:login
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
heroku create
heroku container:push web
heroku container:release web
heroku open
Cette série de commandes peut prendre un certain temps, mais une fois que vous l'exécutez une fois, vous ne devriez pas avoir à l'exécuter à nouveau. La commande finale, heroku open
lancera un onglet dans votre navigateur Web, où vous pouvez tester Whoogle et même le définir comme moteur de recherche principal. Vous pouvez également modifier les variables d'environnement à partir de l'onglet Paramètres de votre application dans le tableau de bord Heroku.
Un package AUR est disponible, ainsi qu'un package mis à jour prédéfini et quotidien disponible chez Chaotic-AUR.
Pour utiliser le graphique de barre Kubernetes:
>=3.0.0
helm install whoogle ./charts/whoogle
Il existe d'autres méthodes pour déployer des conteneurs Docker qui sont bien décrits dans cet article, mais il y en a trop pour décrire la configuration pour chacun ici. Généralement, cela devrait être à peu près le même effort que le déploiement d'Heroku.
Selon vos préférences, vous pouvez également déployer l'application vous-même sur votre propre infrastructure. Cet itinéraire nécessiterait quelques étapes supplémentaires:
Il existe quelques variables d'environnement facultatives disponibles pour personnaliser une instance whoogle. Ceux-ci peuvent être définis manuellement ou copiés dans whoogle.env
et activés pour votre méthode de déploiement préférée:
WHOOGLE_DOTENV=1
avant de courirdocker-compose
: Uncomment l'option env_file
docker build/run
: add --env-file ./whoogle.env
à votre commandeVariable | Description |
---|---|
Whoogle_url_prefix | Le préfixe d'URL à utiliser pour l'instance whoogle (c'est-à-dire "/ whoogle") |
Whoogle_dotenv | Variables d'environnement de chargement dans whoogle.env |
Whoogle_dotenv_path | Le chemin vers whoogle.env sinon à l'emplacement par défaut |
Whoogle_user | Le nom d'utilisateur pour l'authentification de base. Whoogle_pass doit également être défini s'il est utilisé. |
Whoogle_pass | Le mot de passe pour l'authentification de base. Whoogle_user doit également être défini s'il est utilisé. |
Whoogle_proxy_user | Le nom d'utilisateur du serveur proxy. |
Whoogle_proxy_pass | Le mot de passe du serveur proxy. |
Whoogle_proxy_type | Le type de serveur proxy. Peut être "socks5", "socks4" ou "http". |
Whoogle_proxy_loc | L'emplacement du serveur proxy (hôte ou IP). |
Whoogle_user_agent | L'agent utilisateur de bureau à utiliser. Par défaut est généré au hasard. |
Whoogle_user_agent_mobile | L'agent utilisateur mobile à utiliser. Par défaut est généré au hasard. |
Whoogle_use_client_user_agent | Activez l'utilisation de votre propre agent utilisateur pour toutes les demandes. Par défaut est faux. |
Whoogle_redirects | Spécifiez les sites qui devraient être redirigés ailleurs. Voir Redirection personnalisée. |
Expose_port | Le port où Whoogle sera exposé. |
Https_only | Appliquer HTTPS. (Voir ici) |
Whoogle_alt_tw | L'alternative Twitter.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_yt | L'alternative YouTube.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_rd | L'alternative reddit.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_tl | L'alternative Google Translate à l'utilisation. Ceci est utilisé pour toutes les recherches "traduire ____". Réglé sur "" pour désactiver. |
Whoogle_alt_md | L'alternative Medium.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_img | L'alternative IMGUR.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_wiki | L'alternative Wikipedia.org à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_imdb | L'alternative IMDB.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_quora | L'alternative quora.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_alt_so | L'alternative stackoverflow.com à utiliser lorsque les alternatives du site sont activées dans la configuration. Réglé sur "" pour désactiver. |
Whoogle_auto-complete | Contrôle la visibilité des suggestions de saisie semi-automatique / de recherche. Par défaut sur - Utilisez «0» pour désactiver. |
Whoogle_minimal | Supprimer tout sauf les cartes de résultat de base de toutes les requêtes de recherche. |
Whoogle_csp | Définit un ensemble par défaut des en-têtes de «contenu-sécurité-politique» |
Whoogle_results_per_page | Définissez le nombre de résultats par page |
Whoogle_tor_service | Activez / désactivez le service TOR au démarrage. Par défaut sur - Utilisez «0» pour désactiver. |
Whoogle_tor_use_pass | Utilisez l'authentification du mot de passe pour le port de contrôle Tor. |
Whoogle_tor_conf | Le chemin d'accès absolu vers le fichier de configuration contenant le mot de passe du port de contrôle Tor. Par défaut: ./misc/tor/control.conf whoogle_tor_pass doit être 1 pour que cela fonctionne. |
Whoogle_show_favicons | Afficher / masquer les favicons à côté des URL de résultat de recherche. Par défaut sur. |
Whoogle_update_check | Activer / désactiver le vérification automatique quotidienne des nouvelles versions de Whoogle. Par défaut sur. |
Whoogle_Fallback_Engine_url | Définissez une URL du moteur de recherche de secours lorsqu'il y a une erreur de serveur interne ou une instance est limitée par taux. La requête de recherche est ajoutée à la fin de l'URL (par exemple, https://duckduckgo.com/?k1=-1&q=). |
Ces variables d'environnement permettent de définir les valeurs de configuration par défaut, mais peuvent être remplacées manuellement en utilisant le menu de configuration de la page d'accueil. Ceux-ci permettent un raccourci pour détruire / reconstruire une instance à l'état de configuration à chaque fois.
Variable | Description |
---|---|
Whoogle_config_disable | Masquer la configuration de l'interface utilisateur et interdire les modifications à la configuration par le client |
Whoogle_config_country | Filtre Résultats en hébergeant un pays |
Whoogle_config_language | Définir la langue d'interface |
Whoogle_config_search_language | Définir la langue des résultats de la recherche |
Whoogle_config_block | Bloquer les sites Web à partir des résultats de la recherche (utilisez la liste séparée des virgules) |
Whoogle_config_block_title | Bloquer le résultat de la recherche avec un filtre regex sur le titre |
Whoogle_config_block_url | Bloquer le résultat de la recherche avec un filtre regex sur l'URL |
Whoogle_config_theme | Définir le mode thème (clair, sombre ou système) |
Whoogle_config_safe | Activer les recherches sûres |
Whoogle_config_alts | Utilisez des alternatives sur le site de médias sociaux (niter, invite, etc.) |
Whoogle_config_near | Restreindre les résultats à uniquement ceux à proximité d'une ville particulière |
Whoogle_config_tor | Utilisez le routage TOR (si disponible) |
Whoogle_config_new_tab | Résultats toujours ouverts dans un nouvel onglet |
Whoogle_config_view_image | Activer l'option Image Afficher |
Whoogle_config_get_only | Rechercher en utilisant les demandes de GET uniquement |
Whoogle_config_url | L'URL racine de l'instance ( https://<your url>/ ) |
Whoogle_config_style | Le CSS personnalisé à utiliser pour le style (devrait être une seule ligne) |
Whoogle_config_preferences_encrypted | Le jeton de préférences cryptant, nécessite des préférences |
Whoogle_config_preferences_key | Clé pour chiffrer les préférences dans l'URL (requise pour montrer l'URL) |
Whoogle_config_anon_view | Incluez l'option "vue anonyme" pour chaque résultat de recherche |
Identique à la plupart des moteurs de recherche, à l'exception du filtrage par plage de temps.
Pour filtrer par une gamme de temps, ajoutez ": passé" jusqu'à la fin de votre recherche, où peut être hour
, day
, month
ou year
. Exemple: coronavirus updates :past hour
Remarque: Si vous utilisez un proxy inversé pour exécuter la recherche Whoogle, assurez-vous que l'option de configuration "Root URL" sur la page d'accueil est définie sur votre URL avant de passer par ces étapes.
Paramètres du navigateur:
http[s]://<your whoogle url>/search?q=%s
https://<your whoogle url>/search?q=%s
Accédez à Alfred Preferences
> Features
> Web Search
et cliquez sur Add Custom Search
. Puis configurer ces paramètres
https://<your whoogle url>/search?q={query}
Whoogle for '{query}'
(ou ce que vous voulez)whoogle
Accédez aux Default Results
et cliquez sur le bouton Setup fallback results
. Cliquez sur +
et ajoutez whoogle, puis faites-le glisser vers le haut.
<whoogle url>/search?q=%s
URL de recherche formatée. Vous pouvez définir des redirects de site personnalisés à l'aide de la variable d'environnement WHOOGLE_REDIRECTS
. Beaucoup de sites, tels que Twitter, Reddit, etc., ont des redirects intégrés vers des liens farassés, mais vous voudrez peut-être définir le vôtre.
Pour ce faire, vous pouvez utiliser la syntaxe suivante:
WHOOGLE_REDIRECTS="<parent_domain>:<new_domain>"
Par exemple, si vous souhaitez rediriger de "badsite.com" à "woodsite.com":
WHOOGLE_REDIRECTS="badsite.com:goodsite.com"
Cela peut également être utilisé pour plusieurs sites, avec séparation des virgules:
WHOOGLE_REDIRECTS="badA.com:goodA.com,badB.com:goodB.com"
Remarque: n'incluez pas "http (s): //" lors de la définition de votre redirection.
Vous pouvez créer votre propre frange personnalisée. Par défaut, Bangs est stocké dans app/static/bangs
. Voir 00-whoogle.json
pour un exemple. Ceux-ci sont analysés dans un ordre alphabétique avec des fichiers ultérieurs privilégiés de frange définis dans des fichiers antérieurs, à l'exception que DDG Bangs (téléchargé sur app/static/bangs/bangs.json
) sont toujours analysés en premier. Ainsi, toute frange personnalisée remplacera toujours celles DDG.
Une partie de l'accord avec le niveau gratuit d'Heroku est que vous avez alloué 550 heures / mois (ce qui signifie qu'il ne peut pas rester actif 24/7), et l'application est temporairement fermée après 30 minutes d'inactivité. Une fois qu'il devient inactif, toutes les recherches de Whoogle fonctionneront toujours, mais il faudra 10 à 15 secondes supplémentaires pour que l'application revienne en ligne avant d'afficher le résultat, ce qui peut être frustrant si vous êtes pressé.
Une bonne solution pour cela consiste à configurer un simple cronjob sur n'importe quel appareil de votre domicile qui est systématiquement alimenté et connecté à Internet (dans mon cas, un Pihole a parfaitement fonctionné). Tout ce que l'appareil doit faire est de récupérer le contenu de l'application sur une base cohérente pour maintenir l'application en vie dans la fenêtre de ~ 17 heures sur lesquelles vous le souhaitez (17 heures * 31 jours = 527, ce qui signifie que vous auriez toujours 23 heures de restes par mois Vous avez recherché en dehors de votre fenêtre cible).
Par exemple, l'ajout */20 7-23 * * * curl https://<your heroku app name>.herokuapp.com > /home/<username>/whoogle-refresh
récupérera la page d'accueil de l'application toutes les 20 minutes Entre 7 h et minuit, permettant des temps d'arrêt de minuit à 7 h. Et encore une fois, ce ne serait pas une limite difficile - vous auriez encore beaucoup d'heures de disponibilité chaque mois au cas où vous recherchiez après la fermeture de cette fenêtre.
Étant donné que l'instance est détruite et reconstruite après l'inactivité, les paramètres de configuration seront réinitialisés une fois que l'application entre les temps d'arrêt. Si vous avez des paramètres de configuration actifs que vous souhaitez conserver entre les périodes de temps d'arrêt (comme le mode sombre par exemple), vous pouvez à la place ajouter */20 7-23 * * * curl -d "dark=1" -X POST https://<your heroku app name>.herokuapp.com/config > /home/<username>/whoogle-refresh
pour garder ces paramètres plus ou moins permanents, tout en empêchant l'application d'entrer dans les temps d'arrêt lorsque vous l'utilisez.
Uniquement nécessaire si votre configuration nécessite que Flask redirige vers HTTPS seul - généralement c'est quelque chose qui n'a pas besoin d'être géré par la recherche Whoogle.
Remarque: vous devez avoir votre propre nom de domaine et un certificat HTTPS pour que cela fonctionne correctement.
Root URL
sur la page d'accueil commence par https://
et non http://
--build-arg use_https=1
à votre commande de run--https-only
à la fin de la commande whoogle-search
run
par défaut: modifiez le script localement pour inclure l'indicateur --https-only
à la fin de la commande python run Malheureusement, les conteneurs Firefox ne passent actuellement pas par les demandes POST
(la valeur par défaut) du moteur et Firefox cache le modèle OpenSearch sur la charge de page initiale. Pour contourner cela, vous pouvez prendre les mesures suivantes pour que cela fonctionne comme prévu:
GET Requests Only
dans la configuration de whoogleVoici un exemple de configuration nginx pour whoogle:
server {
server_name your_domain_name.com;
access_log /dev/null;
error_log /dev/null;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Host $http_host;
proxy_pass http://localhost:5000;
}
}
Vous pouvez ensuite ajouter un support SSL à l'aide de LETSENCRYPT en suivant un guide comme celui-ci.
Sous le capot, Whoogle est une application de ballon de base avec la structure suivante:
app/
routes.py
: point d'entrée d'application primaire, contient toutes les routes d'APIrequest.py
: gère toutes les demandes sortantes, y compris la connectivité procassée / tor / torfilter.py
: fonctions et utilitaires utilisés pour filtrer le contenu à partir des résultats de recherche Google en amontutils/
bangs.py
: Toute logique liée à la manipulation des requêtes "Bang" de style DDGresults.py
: fonctions utilitaires pour interpréter / modifier les résultats de recherche individuelssearch.py
: crée et gère les nouvelles requêtes de recherchesession.py
: méthodes diverses liées aux séances utilisateurtemplates/
index.html
: le modèle de page d'accueildisplay.html
: le modèle de résultats de rechercheheader.html
: un en-tête de requête générale "en haut de la page" pour le bureau et le mobilesearch.html
: une page de recherche iframeableablelogo.html
: un modèle composé principalement du logo whoogle en tant que SVG (séparé pour aider à garder index.html
un peu plus propre)opensearch.xml
: un modèle utilisé pour prendre en charge OpenSesearch.imageresults.html
: un modèle "expérimental" utilisé pour prendre en charge la fonction d'image "pleine grandeur" sur le bureau.static/<css|js>
static/settings
Si vous êtes nouveau dans le projet, le moyen le plus simple de commencer serait d'essayer de corriger un rapport de bogue ouvert. S'il n'y a pas d'ouverture, ou si les ouverts sont trop périmés, essayez de prendre une demande de fonctionnalité. D'une manière générale, si vous pouvez écrire quelque chose qui a un potentiel de décomposition à l'avenir, vous devriez écrire un test pour cela.
Le projet suit le guide de style Pep 8, mais est susceptible de changer. Le typage statique doit toujours être utilisé lorsque cela est possible. La documentation de la fonction est grandement appréciée et suit généralement le format ci-dessous:
def contains ( x : list , y : int ) -> bool :
"""Check a list (x) for the presence of an element (y)
Args:
x: The list to inspect
y: The int to look for
Returns:
bool: True if the list contains the item, otherwise False
"""
return y in x
Whoogle prend actuellement en charge les traductions à l'aide translations.json
. Les valeurs linguistiques dans ce fichier doivent correspondre à la "valeur" de la langue selon languages.json
(c'est-à-dire "lang_en" pour l'anglais, "lang_es" pour l'espagnol, etc.). Après avoir ajouté un nouvel ensemble de traductions sur translations.json
, ouvrez un PR avec vos modifications et ils seront fusionnés dès que possible.
Quelle est la différence entre cela et Searx?
Whoogle est destiné à être déployé uniquement dans des instances privées par des individus de toute expérience, avec le moins d'efforts possible. Une connaissance préalable de / expérience avec la ligne de commande ou le déploiement des applications n'est pas nécessaire pour déployer Whoogle, ce qui n'est pas le cas avec Searx. En conséquence, Whoogle manque certaines fonctionnalités de Searx afin d'être aussi faciles à déployer que possible.
Whoogle n'utilise également que les résultats de recherche Google, et non Bing / Quant / etc., et utilise l'interface utilisateur de recherche Google existante pour éloigner la recherche Google aussi imperceptible que possible.
Je suis un grand fan de Searx et j'encourage quiconque à l'utiliser à la place s'ils veulent accéder à d'autres moteurs de recherche / une autre configuration d'interface utilisateur.
Pourquoi la page des résultats de l'image semble-t-elle différente?
Une grande partie de l'application se réprimande actuellement sur la prise en charge existante de Google pour la récupération des pages de résultats avec JavaScript désactivé. À leur crédit, ils ont fait un excellent travail avec des pages de style, mais il semble que la page de résultats de l'image - en particulier sur le mobile - soit un peu difficile. Pour aller de l'avant, avec suffisamment d'intérêt, j'aimerais passer pour récupérer les résultats et les analyser dans une interface unique et infielle à l'ouvrage que je peux me coiffer.
Remarque: utilisez des instances publiques à votre discrétion. Les mainteneurs de Whoogle ne valident pas personnellement l'intégrité des autres cas. Les instances publiques populaires sont plus susceptibles d'être limitées à taux ou bloquées.
Site web | Pays | Langue | Cloudflare |
---|---|---|---|
https://search.albony.xyz | ?? DANS | Multi-choix | |
https://search.garudalinux.org | ?? FI | Multi-choix | ✅ |
https://search.dr460nf1r3.org | ?? De | Multi-choix | ✅ |
https://s.tokhmi.xyz | ?? NOUS | Multi-choix | ✅ |
https://search.sethforprivacy.com | ?? De | Anglais | |
https://whoogle.dcs0.hu | ?? Hu | Multi-choix | |
https://gowogle.voring.me | ?? NOUS | Multi-choix | |
https://whoogle.privacydev.net | ?? Frousser | Anglais | |
https://wg.vern.cc | ?? NOUS | Anglais | |
https://hoogle.hxvy0.gq | ?? Californie | Turc uniquement | ✅ |
https://whoogle.hostux.net | ?? Frousser | Multi-choix | |
https://hoogle.lunar.icu | ?? De | Multi-choix | ✅ |
https://wgl.frail.duckdns.org | ?? BR | Multi-choix | |
https://hoogle.no-logs.com | ?? SE | Multi-choix | |
https://whoogle.ftw.lol | ?? De | Multi-choix | |
https://whoogle-search - ReplitComreside.repl.co | ?? NOUS | Anglais | |
https://search.notrustverify.ch | ?? Ch | Multi-choix | |
https://whoogle.datura.network | ?? De | Multi-choix | |
https://hoogle.yepserver.xyz | ?? Ua | Multi-choix | |
https://search.nezumi.party | ?? IL | Multi-choix | |
https://search.snine.nl | ?? Nl | À plusieurs choix | ✅ |
Site web | Pays | Langue |
---|---|---|
http://whoglqjdkgt2an4tdepberwqz3hk7tjo4kqgdnuj77rt7nshw2xqhqad.onion | ?? NOUS | Multi-choix |
http://nuifgsnbb2mcyza74o7illtqmuaqbwu4flam3cdmsrnudwcmkqur37qd.onion | ?? De | Anglais |
http://whoogle.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion | ?? NOUS | Anglais |
http://whoogle.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid.onion | ?? Frousser | Anglais |
http://whoogle.daturab6drmkhyeia4ch5gvfc2f3wgo6bhjrv3pz6n7kxmvoznlkq4yd.onion | ?? De | Multi-choix |
Site web | Pays | Langue |
---|---|---|
http: //verneks7rfjptpz5fpii7n7nrxilsidi2qxepeuuf66c3tsf4nhq.b32.i2p | ?? NOUS | Anglais |