diff --git a/apps/whoogle/config.json b/apps/whoogle/config.json new file mode 100644 index 00000000..11863fc4 --- /dev/null +++ b/apps/whoogle/config.json @@ -0,0 +1,16 @@ +{ + "$schema": "../schema.json", + "name": "Whoogle Search", + "available": true, + "exposable": true, + "port": 8255, + "id": "whoogle", + "tipi_version": 1, + "version": "0.8.2", + "categories": ["social"], + "description": "Get Google search results, but without any ads, JavaScript, AMP links, cookies, or IP address tracking.", + "short_desc": "A self-hosted, ad-free, privacy-respecting metasearch engine.", + "author": "Ben Busby", + "source": "https://github.com/benbusby/whoogle-search", + "form_fields": [] +} diff --git a/apps/whoogle/docker-compose.yml b/apps/whoogle/docker-compose.yml new file mode 100644 index 00000000..fda72121 --- /dev/null +++ b/apps/whoogle/docker-compose.yml @@ -0,0 +1,38 @@ +version: "3.7" + +services: + whoogle: + container_name: whoogle + image: benbusby/whoogle-search:0.8.2 + restart: unless-stopped + networks: + - tipi_main_network + ports: + - ${APP_PORT}:8255 + environment: + EXPOSE_PORT: 8255 + labels: + # Main + traefik.enable: true + traefik.http.middlewares.whoogle-web-redirect.redirectscheme.scheme: https + traefik.http.services.whoogle.loadbalancer.server.port: 8255 + # Web + traefik.http.routers.whoogle-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.whoogle-insecure.entrypoints: web + traefik.http.routers.whoogle-insecure.service: whoogle + traefik.http.routers.whoogle-insecure.middlewares: whoogle-web-redirect + # Websecure + traefik.http.routers.whoogle.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.whoogle.entrypoints: websecure + traefik.http.routers.whoogle.service: whoogle + traefik.http.routers.whoogle.tls.certresolver: myresolver + # Local domain + traefik.http.routers.whoogle-local-insecure.rule: Host(`whoogle.${LOCAL_DOMAIN}`) + traefik.http.routers.whoogle-local-insecure.entrypoints: web + traefik.http.routers.whoogle-local-insecure.service: whoogle + traefik.http.routers.whoogle-local-insecure.middlewares: whoogle-web-redirect + # Local domain secure + traefik.http.routers.whoogle-local.rule: Host(`whoogle.${LOCAL_DOMAIN}`) + traefik.http.routers.whoogle-local.entrypoints: websecure + traefik.http.routers.whoogle-local.service: whoogle + traefik.http.routers.whoogle-local.tls: true diff --git a/apps/whoogle/metadata/description.md b/apps/whoogle/metadata/description.md new file mode 100644 index 00000000..03a09e49 --- /dev/null +++ b/apps/whoogle/metadata/description.md @@ -0,0 +1,27 @@ +Get Google search results, but without any ads, JavaScript, AMP links, cookies, or IP address tracking. Easily deployable in one click as a Docker app, and customizable with a single config file. Quick and simple to implement as a primary search engine replacement on both desktop and mobile. + +## Features +- No ads or sponsored content +- No JavaScript\* +- No cookies\*\* +- No tracking/linking of your personal IP address\*\*\* +- No AMP links +- No URL tracking tags (i.e. utm=%s) +- No referrer header +- Tor and HTTP/SOCKS proxy support +- Autocomplete/search suggestions +- POST request search and suggestion queries (when possible) +- View images at full res without site redirect (currently mobile only) +- Light/Dark/System theme modes (with support for [custom CSS theming](https://github.com/benbusby/whoogle-search/wiki/User-Contributed-CSS-Themes)) +- Randomly generated User Agent +- Easy to install/deploy +- DDG-style bang (i.e. `! `) searches +- Optional location-based searching (i.e. results near \) +- Optional NoJS mode to view search results in a separate window with JavaScript blocked + +*No third party JavaScript. Whoogle can be used with JavaScript disabled, but if enabled, uses JavaScript for things like presenting search suggestions. + +**No third party cookies. Whoogle uses server side cookies (sessions) to store non-sensitive configuration settings such as theme, language, etc. Just like with JavaScript, cookies can be disabled and not affect Whoogle's search functionality. + +***If deployed to a remote server, or configured to send requests through a VPN, Tor, proxy, etc. + diff --git a/apps/whoogle/metadata/logo.jpg b/apps/whoogle/metadata/logo.jpg new file mode 100644 index 00000000..b2ecd7b0 Binary files /dev/null and b/apps/whoogle/metadata/logo.jpg differ