SourceHut | Github |
Holen Sie sich Google -Suchergebnisse, jedoch ohne Anzeigen, JavaScript, AMP -Links, Cookies oder IP -Adressverfolgung. Einfach in einem Klick als Docker -App eingesetzt und mit einer einzelnen Konfigurationsdatei anpassbar. Schnell und einfach zu implementieren als primäre Suchmaschinenaustausch sowohl auf Desktop als auch auf dem Handy.
Inhalt
!<tag> <query>
*Kein JavaScript von Dritten. Whoogle kann mit javaScript deaktiviert verwendet werden, verwendet jedoch, wenn es aktiviert ist, JavaScript für Dinge wie das Präsentieren von Suchvorschlägen.
** Keine Kekse von Drittanbietern. Whoogle verwendet Server-Side Cookies (Sitzungen), um nicht sensitive Konfigurationseinstellungen wie Themen, Sprache usw. zu speichern.
*** Wenn Sie an einem Remote -Server bereitgestellt oder so konfiguriert sind, dass Anforderungen über ein VPN, Tor, Proxy usw. gesendet werden, usw.
Es gibt verschiedene Möglichkeiten, die App zu verwenden, abhängig von Ihren Vorlieben:
Bietet:
Anmerkungen:
https
. Stellen Sie sicher, dass Sie zur https
-Version Ihrer App navigieren, bevor Sie als Standard -Suchmaschine hinzufügen.Erstellen Sie ein Konto auf Render.com und importieren Sie das Whoogle -Repo mit den folgenden Einstellungen:
Python 3
pip install -r requirements.txt
./run
HINWEIS: Erfordert ein (kostenloses) Replit -Konto
Bietet:
Sie benötigen ein Fly.io -Konto, um whoogle bereitzustellen.
flyctl auth login
flyctl launch --image benbusby/whoogle-search:latest
Die erste Bereitstellung wird nicht erfolgreich sein, da der Standard internal_port
falsch ist. Um dies zu beheben, öffnen Sie die generierte fly.toml
-Datei, set services.internal_port
auf 5000
und rennen Sie erneut flyctl launch
.
Ihre App ist ab sofort unter https://<app-name>.fly.dev
verfügbar.
Anmerkungen:
Verwenden Sie einen der folgenden Anleitungen, um Whoogle auf Koyeb zu installieren:
Persistente Installation:
pipx install https://github.com/benbusby/whoogle-search/archive/refs/heads/main.zip
Temporäre Instanz von Sandboxen:
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)
Weitere Konfigurationen finden Sie in den verfügbaren Umgebungsvariablen.
HINWEIS: Content-Security-Policy
Header können von whoogle gesendet werden, wenn Sie WHOOGLE_CSP
festlegen.
libcurl4-openssl-dev
und libssl-dev
brew install openssl curl-openssl
sudo apt-get install -y libcurl4-openssl-dev libssl-dev
pacman -S curl openssl
Klonen Sie das Repo und führen Sie die folgenden Befehle aus, um die App in einer lokalen Umgebung zu starten:
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
Weitere Konfigurationen finden Sie in den verfügbaren Umgebungsvariablen.
Nachdem Sie die virtuelle Umgebung erstellt haben, können Sie so etwas wie das Folgende zu /lib/systemd/system/whoogle.service
hinzufügen, um einen Whoogle -Such -System zu errichten:
[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
Dann,
sudo systemctl daemon-reload
sudo systemctl enable whoogle
sudo systemctl start whoogle
Wenn Sie Ihre Anfrage über Tor weiterleiten, müssen Sie die folgenden Anpassungen vornehmen. Aufgrund der Art der Interaktion mit Google über Tor müssen wir in der Lage sein, Signale an TOR zu senden und damit authentifizieren.
Es gibt zwei Authentifizierungsmethoden, Kennwort und Cookie. Sie müssen Änderungen an Ihrem Torrc vornehmen:
Plätzchen
Wenden Sie sich an oder fügen Sie die folgenden Zeilen in Ihr Torrc hinzu:
ControlPort 9051
CookieAuthentication 1
DataDirectoryGroupReadable 1
CookieAuthFileGroupReadable 1
Machen Sie das Tor Auth Cookie lesbar:
whoogle
durch diesen Benutzer.chmod tor:whoogle /var/lib/tor
chmod tor:whoogle /var/lib/tor/control_auth_cookie
Starten Sie den TOR -Service neu:
systemctl restart tor
Setzen Sie die TOR -Umgebungsvariable auf 1, WHOOGLE_CONFIG_TOR
. Weitere Informationen finden Sie im Abschnitt Umgebungsvariablen.
WHOOGLE_CONFIG_TOR=1
hinzugefügt werdenPasswort
Führen Sie diesen Befehl aus:
tor --hash-password {Your Password Here}
; Stellen Sie Ihr Passwort hier an {Your Password Here}
.Wenden Sie sich an oder fügen Sie die folgenden Zeilen in Ihr Torrc hinzu:
ControlPort 9051
HashedControlPassword {Place output here}
; Legen Sie die Ausgabe des vorherigen Befehls anstelle von {Place output here}
.Nehmen Sie nun das Passwort aus dem ersten Schritt und platzieren Sie es in der Datei Control.conf im Whoogle Working Directory, dh. misc/tor/control.conf
WHOOGLE_TOR_CONF
. Weitere Informationen finden Sie im Abschnitt Umgebungsvariablen.Beschränken Sie den Zugriff auf Control.conf stark, um nur von dem Benutzer lesbar zu sein, der whoogle läuft:
chmod 400 control.conf
Setzen Sie schließlich die TOR -Umgebungsvariable und verwenden Sie die Kennwortvariable auf 1, WHOOGLE_CONFIG_TOR
und WHOOGLE_TOR_USE_PASS
. Weitere Informationen finden Sie im Abschnitt Umgebungsvariablen.
WHOOGLE_CONFIG_TOR=1
WHOOGLE_TOR_USE_PASS=1
sudo usermod -aG docker yourusername
ausführendocker ps
sollte als ein Fehler etwas zurückgeben. Wenn Sie auf einen Fehler stoßen, der besagt, dass der Daemon nicht ausgeführt wird, versuchen Sie es mit sudo systemctl start docker
(Linux) oder stellen Sie sicher, dass das Docker -Tool ausgeführt wird (Windows/MacOS).Durch Docker Hub:
docker pull benbusby/whoogle-search
docker run --publish 5000:5000 --detach --name whoogle-search benbusby/whoogle-search:latest
oder mit Docker-Compose:
git clone https://github.com/benbusby/whoogle-search.git
cd whoogle-search
docker-compose up
oder indem Sie sich selbst bauen:
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
Optional können Sie auch einige der folgenden Umgebungsvariablen ermöglichen, um Ihre Instanz weiter anzupassen:
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
Und töte mit: 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
Diese Reihe von Befehlen kann eine Weile dauern, aber wenn Sie sie einmal ausgeführt haben, sollten Sie sie nicht wieder ausführen müssen. Der endgültige Befehl heroku open
startet einen Registerkarte in Ihrem Webbrowser, auf dem Sie Whoogle testen und sogar als primäre Suchmaschine festlegen können. Sie können auch Umgebungsvariablen von der Registerkarte Ihrer App im Heroku -Dashboard aus der Registerkarte Ihrer App bearbeiten.
Es gibt ein AUR-Paket sowie ein vorgefertigtes und täglich aktualisiertes Paket bei Chaotic-OR.
Um das Kubernetes -Helm -Diagramm zu verwenden:
>=3.0.0
installiert habenhelm install whoogle ./charts/whoogle
Es gibt andere Methoden zum Bereitstellen von Docker -Containern, die in diesem Artikel gut umrissen sind. Es gibt jedoch zu viele, um die Einrichtungen für jedes hier zu beschreiben. Im Allgemeinen sollte es ungefähr der gleiche Anstrengung sein wie der Heroku -Einsatz.
Abhängig von Ihren Vorlieben können Sie die App auch selbst in Ihrer eigenen Infrastruktur bereitstellen. Diese Route würde ein paar zusätzliche Schritte erfordern:
Es stehen einige optionale Umgebungsvariablen zur Anpassung einer Whoogle -Instanz zur Verfügung. Diese können manuell oder in whoogle.env
kopiert und für Ihre bevorzugte Bereitstellungsmethode aktiviert werden:
WHOOGLE_DOTENV=1
vor dem Laufendocker-compose
: Überzeugen Sie die Option env_file
docker build/run
: Hinzufügen --env-file ./whoogle.env
zu Ihrem BefehlVariable | Beschreibung |
---|---|
Whoogle_url_prefix | Das URL -Präfix für die Whoogle -Instanz (dh "/whoogle") |
Whoogle_dotenv | Lastumgebungsvariablen in whoogle.env |
Whoogle_dotenv_path | Der Weg zu whoogle.env wenn nicht am Standardstandort |
Whoogle_user | Der Benutzername für grundlegende Auth. Whoogle_pass muss ebenfalls eingestellt werden, wenn es verwendet wird. |
Whoogle_pass | Das Passwort für Basic Auth. Whoogle_user muss ebenfalls festgelegt werden, wenn es verwendet wird. |
Whoogle_proxy_user | Der Benutzername des Proxy -Servers. |
Whoogle_proxy_pass | Das Passwort des Proxy -Servers. |
Whoogle_proxy_type | Der Typ des Proxy -Servers. Kann "Socken", "Socks4" oder "http" sein. |
Whoogle_proxy_loc | Der Standort des Proxy -Servers (Host oder IP). |
Whoogle_user_agent | Der Desktop -Benutzeragent zu verwenden. Standardmäßig zu einem zufällig generierten. |
Whoogle_user_agent_mobile | Der mobile Benutzeragent zu verwenden. Standardmäßig zu einem zufällig generierten. |
Whoogle_use_client_user_agent | Aktivieren Sie Ihren eigenen Benutzeragenten für alle Anfragen. Standardmäßig falsch. |
Whoogle_redirects | Geben Sie Websites an, die an anderer Stelle umgeleitet werden sollten. Siehe benutzerdefinierte Umleitung. |
Expose_port | Der Hafen, in dem Whoogle freigelegt wird. |
Https_only | Erzwingen https. (Siehe hier) |
Whoogle_alt_tw | Die Twitter.com -Alternative zur Verwendung, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_yt | Die YouTube.com -Alternative zur Verwendung, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_rd | Die Reddit.com -Alternative zur Verwendung, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_tl | Die Google -Übersetzungsalternative zur Verwendung. Dies wird für alle "Übersetzenden ____" -Suchanfragen verwendet. Auf "" deaktivieren. |
Whoogle_alt_md | Die Medium.com -Alternative zur Verwendung, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_img | Die Alternative im IMGUR.com, um zu verwenden, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_wiki | Die Wikipedia.org -Alternative zur Verwendung, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_imdb | Die IMDB.com -Alternative zur Verwendung, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_quora | Die Quora.com -Alternative zur Verwendung, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_alt_so | Die Alternative stackoverflow.com, um zu verwenden, wenn Site -Alternativen in der Konfiguration aktiviert sind. Auf "" deaktivieren. |
Whoogle_autocomplete | Kontrolliert die Sichtbarkeit von automatischen Vervollständigungs-/Suchvorschlägen. Standardeinstellung - Verwenden Sie '0', um zu deaktivieren. |
Whoogle_minimal | Entfernen Sie alles außer grundlegenden Ergebniskarten aus allen Suchanfragen. |
Whoogle_csp | Legt einen Standardsatz von Header "Content-Security-Policy" fest |
Whoogle_results_per_page | Legen Sie die Anzahl der Ergebnisse pro Seite fest |
Whoogle_tor_service | Aktivieren/deaktivieren Sie den TOR -Service beim Start. Standardeinstellung - Verwenden Sie '0', um zu deaktivieren. |
Whoogle_tor_use_pass | Verwenden Sie die Kennwortauthentifizierung für den TOR -Steueranschluss. |
Whoogle_tor_conf | Der absolute Pfad zur Konfigurationsdatei, das das Kennwort für den TOR -Steuerport enthält. Standard: ./misc/tor/control.conf whoogle_tor_pass muss 1 sein, damit dies funktioniert. |
Whoogle_show_favicons | Favicons neben Suchergebnis -URLs anzeigen/ausblenden. Standardeinstellung. |
Whoogle_update_check | Aktivieren/deaktivieren Sie die automatische tägliche Überprüfung für neue Versionen von Whoogle. Standardeinstellung. |
Whoogle_fallback_engine_url | Legen Sie eine Fallback-Suchmaschinen-URL fest, wenn der interne Serverfehler oder eine Instanz bewertet ist. Suchabfrage wird am Ende der URL angehängt (z. B. https://duckduckgo.com/?k1=-1&q=). |
Diese Umgebungsvariablen ermöglichen die Einstellung von Standardkonfigurationswerten, können jedoch mithilfe des Menüs der Startseite manuell überschrieben werden. Diese ermöglichen eine Abkürzung, um jedes Mal eine Instanz in denselben Konfigurationsstatus zu zerstören/umzubauen.
Variable | Beschreibung |
---|---|
Whoogle_config_disable | Konfiguration aus der Benutzeroberfläche ausblenden und Änderungen an config per client nicht zulassen |
Whoogle_config_country | Filterergebnisse durch Hosting Country |
Whoogle_config_loguage | Setzen Sie die Schnittstelle |
Whoogle_config_search_luanguage | Setzen Sie die Suchergebnissprache |
Whoogle_config_block | Blockieren Sie Websites aus Suchergebnissen (Verwenden Sie die von der Komma-getrennte Liste) |
Whoogle_config_block_title | Blockieren Sie das Suchergebnis mit einem Regex -Filter im Titel |
Whoogle_config_block_url | Blockieren Sie das Suchergebnis mit einem Regex -Filter auf der URL |
Whoogle_config_theme | Setzen Sie den Themenmodus (hell, dunkel oder system) |
Whoogle_config_safe | Safe Suchvorgänge aktivieren |
Whoogle_config_alts | Verwenden Sie Alternativen der Social -Media -Website (Nitter, Intidious usw.) |
Whoogle_config_near | Beschränken Sie die Ergebnisse nur auf diejenigen in der Nähe einer bestimmten Stadt |
Whoogle_config_tor | Verwenden Sie das Routing (falls verfügbar) |
Whoogle_config_new_tab | Öffnen Sie immer die Ergebnisse in neuer Registerkarte |
Whoogle_config_view_image | Aktivieren Sie die Option Bild anzeigen |
Whoogle_config_get_only | Suchen Sie nur mit GET -Anfragen |
Whoogle_config_url | Die Root -URL der Instanz ( https://<your url>/ ) |
Whoogle_config_style | Das benutzerdefinierte CSS für das Styling (sollte eine einzelne Linie sein) |
Whoogle_config_preferences_encrypted | Verschlüsseln Sie Präferenzen Token, erfordert den Vorliebenschlüssel |
Whoogle_config_preferences_key | Schlüssel zur Verschlüsselung der Präferenzen in der URL (erforderlich, um URL anzuzeigen) |
Whoogle_config_anon_view | Fügen Sie für jedes Suchergebnis die Option "Anonymous View" hinzu |
Wie die meisten Suchmaschinen, mit Ausnahme der Filterung nach Zeitbereich.
Um nach einer Reihe von Zeit zu filtern, appendieren Sie ": Vergangenheit" bis zum Ende Ihrer Suche, wo kann hour
, day
, month
oder year
sein. Beispiel: coronavirus updates :past hour
Hinweis: Wenn Sie einen Reverse -Proxy verwenden, um die Whoogle -Suche auszuführen, stellen Sie sicher, dass die Option "Root URL" auf der Startseite auf Ihre URL eingestellt ist, bevor Sie diese Schritte durchlaufen.
Browsereinstellungen:
http[s]://<your whoogle url>/search?q=%s
https://<your whoogle url>/search?q=%s
Gehen Sie zu Alfred Preferences
> Features
> Web Search
und klicken Sie Add Custom Search
. Konfigurieren Sie dann diese Einstellungen
https://<your whoogle url>/search?q={query}
Whoogle for '{query}'
(oder was auch immer Sie wollen)whoogle
Gehen Sie zu Default Results
und klicken Sie auf die Schaltfläche Setup fallback results
. Klicken Sie auf +
und fügen Sie Whoogle hinzu, ziehen Sie es dann nach oben.
<whoogle url>/search?q=%s
formatierte Such -URL ein. Sie können benutzerdefinierte Site -Umleitungen mithilfe der Umgebungsvariablen WHOOGLE_REDIRECTS
festlegen. Viele Websites wie Twitter, Reddit usw. haben integrierte Weiterleitungen zu Farside-Links, aber Sie möchten möglicherweise Ihre eigenen definieren.
Dazu können Sie die folgende Syntax verwenden:
WHOOGLE_REDIRECTS="<parent_domain>:<new_domain>"
Wenn Sie beispielsweise von "badSite.com" zu "GoodSite.com" umleiten möchten:
WHOOGLE_REDIRECTS="badsite.com:goodsite.com"
Dies kann auch für mehrere Websites verwendet werden, wobei die Komma -Trennung:
WHOOGLE_REDIRECTS="badA.com:goodA.com,badB.com:goodB.com"
HINWEIS: Fügen Sie bei der Definition Ihrer Umleitung "http (s): //" nicht hinzu.
Sie können Ihre eigenen benutzerdefinierten Pony erstellen. Standardmäßig werden Pony in app/static/bangs
gespeichert. Ein Beispiel finden Sie 00-whoogle.json
. Diese werden in alphabetischer Reihenfolge mit späteren Dateien analysiert, die in früheren Dateien überschreiben, mit der Ausnahme, dass DDG Pony (heruntergeladen in app/static/bangs/bangs.json
) immer zuerst analysiert werden. Daher werden alle benutzerdefinierten Pony die DDG immer außer Kraft setzen.
Ein Teil des Deals mit Herokus kostenloser Stufe ist, dass Sie 550 Stunden pro Monat zugewiesen werden (was bedeutet, dass es nicht rund um die Uhr aktiv bleiben kann) und die App nach 30 Minuten Inaktivität vorübergehend geschlossen wird. Sobald es inaktiv wird, funktionieren alle Whoogle-Suchanfragen weiterhin, aber es wird 10 bis 15 Sekunden dauern, bis die App wieder online kommt, bevor das Ergebnis angezeigt wird, was frustrierend sein kann, wenn Sie es eilig haben.
Eine gute Lösung hierfür besteht darin, einen einfachen Cronjob auf jedem Gerät bei Ihnen zu Hause einzurichten, das konsequent eingeschaltet und mit dem Internet verbunden ist (in meinem Fall hat ein Pihole perfekt funktioniert). Alles, was das Gerät tun muss, ist, App -Inhalte konsistent zu holen, um die App in jedem ~ 17 -Stunden -Fenster, in dem Sie sie möchten, am Leben zu erhalten (17 Stunden * 31 Tage = 527, was bedeutet Sie haben außerhalb Ihres Zielfensters gesucht).
Zum Beispiel fügen Sie */20 7-23 * * * curl https://<your heroku app name>.herokuapp.com > /home/<username>/whoogle-refresh
die Startseite der App alle 20 Minuten ab Zwischen 7 Uhr morgens und Mitternacht, um Ausfallzeiten von Mitternacht bis 7 Uhr morgens zu ermöglichen. Und auch hier wäre dies keine harte Begrenzung - Sie hätten immer noch viele verbleibende Stunden Verfügbarkeit pro Monat, falls Sie nach dem Abschluss dieses Fensters gesucht haben.
Da die Instanz nach der Inaktivität zerstört und wieder aufgebaut wird, werden die Konfigurationseinstellungen zurückgesetzt, sobald die App Ausfallzeiten eintritt. Wenn Sie Konfigurationseinstellungen aktiv haben */20 7-23 * * * curl -d "dark=1" -X POST https://<your heroku app name>.herokuapp.com/config > /home/<username>/whoogle-refresh
die Sie zwischen Ausfallzeiten halten möchten (z. */20 7-23 * * * curl -d "dark=1" -X POST https://<your heroku app name>.herokuapp.com/config > /home/<username>/whoogle-refresh
um diese Einstellungen mehr oder weniger dauerhaft zu halten, und die App trotzdem davon abhalten, Ausfallzeiten einzuführen, wenn Sie sie verwenden.
Nur benötigt, wenn Ihr Setup einen Flask erfordert, um sich selbst auf HTTPS zu leiten - im Allgemeinen muss dies nicht von der Whoogle -Suche behandelt werden.
Hinweis: Sie sollten Ihren eigenen Domain -Namen und ein HTTPS -Zertifikat haben, damit dies ordnungsgemäß funktioniert.
Root URL
-Konfiguration auf der Startseite mit https://
beginnt und nicht http://
--build-arg use_https=1
zu Ihrem Laufbefehl--https-only
Flag zum Ende des Befehls whoogle-search
run
: Ändern Sie das Skript lokal so, dass das Flag --https-only
Flag am Ende des Befehls Python Run einbezieht Leider übergeben Firefox -Container derzeit keine POST
(standardmäßig) an den Motor, und Firefox reicht die OpenSearch -Vorlage für die Erstseitenladung aus. Um dies zu umgehen, können Sie die folgenden Schritte unternehmen, um es wie erwartet zum Laufen zu bringen:
GET Requests Only
in Whoogle -KonfigurationHier ist eine Beispiel -Nginx -Konfiguration für 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;
}
}
Sie können dann die SSL -Unterstützung mit LetSencrypt hinzufügen, indem Sie einem Leitfaden wie diesem folgen.
Unter der Motorhaube ist whoogle eine einfache Flask -App mit der folgenden Struktur:
app/
routes.py
: Primärer App -Einstiegspunkt enthält alle API -Routenrequest.py
: behandelt alle ausgehenden Anfragen, einschließlich der Konnektivität von Proxied/Torfilter.py
: Funktionen und Dienstprogramme, die zum Filtern von Inhalten aus vorgelagerten Google -Suchergebnissen verwendet werdenutils/
bangs.py
: Alle Logik im Zusammenhang mit dem Umgang mit dem DDG-Stil "Bang" -Anfragenresults.py
: Versorgungsfunktionen zum Interpretieren/Ändern der individuellen Suchergebnissesearch.py
: Erstellt und behandelt neue Suchanfragensession.py
: Verschiedene Methoden im Zusammenhang mit Benutzersitzungentemplates/
index.html
: Die Vorlage der Startseitedisplay.html
: Die Suchergebnisvorlageheader.html
: Ein allgemeiner "Oberteil der Seite" Abfragehader für Desktop und Mobilesearch.html
: Eine iframe-fähige Suchseitelogo.html
: Eine Vorlage, die hauptsächlich aus dem Whoogle -Logo als SVG besteht (getrennt, um index.html
etwas sauberer zu halten)opensearch.xml
: Eine Vorlage zur Unterstützung von OpenSearch.imageresults.html
: Eine "experimentelle" Vorlage, die zur Unterstützung der Bildfunktion in voller Größe auf dem Desktop verwendet wird.static/<css|js>
static/settings
Wenn Sie neu im Projekt sind, besteht der einfachste Weg, um zu beginnen, um zu versuchen, einen offenen Fehlerbericht zu beheben. Wenn es keine offenen Open hat oder wenn die offenen zu abgestanden sind, versuchen Sie, eine Feature -Anfrage zu übernehmen. Im Allgemeinen sollten Sie einen Test dafür schreiben.
Das Projekt folgt dem Pep 8 -Stilhandbuch, kann sich jedoch ändern. Die statische Typisierung sollte immer verwendet werden, wenn möglich. Funktionsdokumentation wird sehr geschätzt und folgt normalerweise dem folgenden Format:
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 unterstützt derzeit Übersetzungen mit translations.json
. Die Sprachwerte in dieser Datei müssen mit dem "Wert" der gemessenen Sprache in languages.json
übereinstimmen. Nachdem Sie Übersetzungen zu translations.json
hinzugefügt haben.
Was ist der Unterschied zwischen diesem und Searx?
Whoogle soll von Einzelpersonen mit so wenig Anstrengung wie möglich in privaten Fällen eingesetzt werden. Vorkenntnisse über/Erfahrung mit der Befehlszeile oder Bereitstellung von Anwendungen sind für die Bereitstellung von Whoogle nicht erforderlich, was bei Searx nicht der Fall ist. Infolgedessen fehlt Whoogle einige Funktionen von Searx, um so einfach wie möglich bereitzustellen.
Whoogle verwendet auch nur Google -Suchergebnisse, nicht Bing/Quant/usw. und verwendet die vorhandene Google -Search -Benutzeroberfläche, um den Übergang von der Google -Suche so unbemerkt wie möglich zu gestalten.
Ich bin jedoch ein großer Fan von Searx und ermutige jeden, dies zu verwenden, wenn er Zugriff auf andere Suchmaschinen/eine andere Benutzeroberfläche/mehr Konfiguration wünscht.
Warum sieht die Seite der Bildergebnisse anders aus?
Ein Großteil der Apps, die derzeit auf der vorhandenen Unterstützung von Google für das Abrufen von Ergebnisseiten mit deaktiviertem JavaScript -Sehenswürdigkeiten sind. Zu ihrer Ehre haben sie hervorragende Arbeit mit Styling -Seiten geleistet, aber es scheint, dass die Bildergebnisseite - insbesondere auf Mobilgeräten - etwas rau ist. Mit genügend Interesse möchte ich den Umgang mit dem Ergebnis der Ergebnisse übergehen und sie in eine einzigartige mit whoogle-fiedliche Schnittstelle analysieren, die ich selbst stylen kann.
Hinweis: Verwenden Sie öffentliche Instanzen nach eigenem Ermessen. Die Whoogle -Betreuer bestätigen die Integrität anderer Fälle nicht persönlich. Beliebte öffentliche Fälle werden eher befristet oder blockiert.
Webseite | Land | Sprache | Cloudflare |
---|---|---|---|
https://search.albony.xyz | ? IN | Multi-Choice | |
https://search.garudalinux.org | ? Fi | Multi-Choice | ✅ |
https://search.dr460nf1r3.org | ? De | Multi-Choice | ✅ |
https://s.tokhmi.xyz | ? UNS | Multi-Choice | ✅ |
https://search.sethforprivacy.com | ? De | Englisch | |
https://whoogle.dcs0.hu | ? Hu | Multi-Choice | |
https://gowogle.voring.me | ? UNS | Multi-Choice | |
https://whoogle.privacydev.net | ? Fr | Englisch | |
https://wg.vern.cc | ? UNS | Englisch | |
https://whoogle.hxvy0.gq | ? Ca. | Nur türkisch | ✅ |
https://whoogle.hostux.net | ? Fr | Multi-Choice | |
https://whoogle.lunar.icu | ? De | Multi-Choice | ✅ |
https://wgl.frail.duckdns.org | ? Br | Multi-Choice | |
https://whoogle.no-logs.com | ? Se | Multi-Choice | |
https://whoogle.ftw.lol | ? De | Multi-Choice | |
https://whoogle-search-replitcomreside.repl.co | ? UNS | Englisch | |
https://search.notrustverify.ch | ? Ch | Multi-Choice | |
https://whoogle.datura.network | ? De | Multi-Choice | |
https://whoogle.yepserver.xyz | ? Ua | Multi-Choice | |
https://search.nezumi.party | ? ES | Multi-Choice | |
https://search.snine.nl | ? Nl | Mult-Choice | ✅ |
Webseite | Land | Sprache |
---|---|---|
http://hooglqjdkgt2an4tdepberwqz3hk7tjo4kqgdnuj77rt7nshw2xqhqad.onion | ? UNS | Multi-Choice |
http://nuifgsnbb2mcyza74o7illtqmuaqbwu4flam3cdmsrnudwcmkqur37qd.onion | ? De | Englisch |
http://whoogle.vernccvbvyi5qhfzyqengccj7lkove6bjot2XHH5KAJHWVIDQAFCZRAD.ONION | ? UNS | Englisch |
http://whoogle.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid.onion | ? Fr | Englisch |
http://whoogle.daturab6drmkhyeia4ch5gvfc2f3wgo6bhjrv3pz6n7kxMvoznlkq4yd.onion | ? De | Multi-Choice |
Webseite | Land | Sprache |
---|---|---|
http: //Verneks7rfjptpz5fpii7n7nrxilsidi2qxepeUuf66c3tsf4nhq.b32.i2p | ? UNS | Englisch |