Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] FoxxMD - whoogle-search

Featured Replies

Application Name: whoogle-search

Application Site: https://github.com/benbusby/whoogle-search

Github Repo: https://github.com/benbusby/whoogle-search

Docker Hub: https://hub.docker.com/r/benbusby/whoogle-search

Template Repo: https://github.com/FoxxMD/unraid-docker-templates

 

Overview

 

whoogle-search is a self-hosted Google search proxy with built in privacy enhancements and protections against tracking and data collection, intended as a replacement for both desktop and mobile. 

 

whoogle-search is in active development! Please check the project page (github) if you have non-docker/unraid related questions

 

Some 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
  • POST request search queries (when possible)
  • View images at full res without site redirect (currently mobile only)
  • Dark mode
  • Randomly generated User Agent
  • Optional location-based searching (i.e. results near <city>)
  • Optional NoJS mode to disable all Javascript in results
  • Configurable "always open links in new tabs"

 

Some screenshots:

 

image.png.a87f752b778f34128eb508143a8c9fd7.png

 

image.thumb.png.57639cafcdf844d4e94781441206fee5.png

 

Usage

 

Minimal setup requires only adding the app through CA

 

Template variables/config in unraid

  • Config - mapping to a folder where user settings, in app, will be persisted
  • Application HTTPS Only - setting to true will make the whoogle-search application enforce https (redirect http to https), inside the container
  • Container Port - the port whoogle-search will start on, inside the container

 

Additional settings such as authentication, proxy, config defaults can be set via environmental variables (Variable config type in unraid template). Refer to the Environmental Variables section in the project's documentation. Use the whoogle variable as the Key in the unraid template with the value as-is.

 

If the variable is for a true/false value then use 1 for true and for false (thanks jmztaylor) EX

  • Key: WHOOGLE_CONFIG_DISABLE
  • Value: 1

 

In App

  • Root Url in the web configuration can be set to the same as the url:port as you use to access the UI if you want post-configuration actions to redirect to the same page. Or configure with your external URL if using whoogle-search behind a reverse proxy.

 

 

Edited by FoxxMD
add additional env info

  • Replies 69
  • Views 25.5k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • My apologies I am not too familiar with unraid using a custom network. unraid cannot use port mappings when the network type is not bridge because you have manually setup a different network to attach

  • @coupas looks like that might be related to issue #311 with this potential workaround to fix it? Either way this definitely an issue with whoogle rather than the unraid template so you'll get more hel

  • @coupas does this new release address your issue? https://github.com/benbusby/whoogle-search/releases/tag/v0.5.0

Posted Images

Im using it with
br0, how i can change the port to 443?

image.thumb.png.2e19c40152425d20b35b151ad1014bb3.png

I changed it from interface but doest works

image.thumb.png.3ef7c2e0eab6f895c0d2e07537629039.png

Thanks!!

  • Author

@milfer322 I think you are asking how to access it at 192.168.1.6? The root URL can stay the same, you just need to change the Web UI port to 443.

1 hour ago, FoxxMD said:

@milfer322 I think you are asking how to access it at 192.168.1.6? The root URL can stay the same, you just need to change the Web UI port to 443.

Yes, how i can change the web UI to 443? 

Thanks!

  • Author
1 hour ago, milfer322 said:

Yes, how i can change the web UI to 443? 

Thanks!

There should be a Web UI entry in your container settings. Click Show More Settings (but it shouldn't be hidden). If you don't have it for some reason use Add Path, Port, variable, etc. action at the bottom to add it with Container Port 5000 Host Port 443

 

image.thumb.png.76dc57c26aaffb3869229b70b357c618.png

I try it, but when I use network type BR0 It doesn't work.

image.thumb.png.5cd96a6cf314c882d577c8eabe83087d.png

Thanks.

Edited by milfer322

  • Author

My apologies I am not too familiar with unraid using a custom network. unraid cannot use port mappings when the network type is not bridge because you have manually setup a different network to attach the container to.

 

You can either use the bridge network and let unraid map the internal port (5000) to the host port (443) on your IP, do your own mapping (externally) somehow, or you can take some step to modify the port whoogle starts on such as:

  • Fork the project and modify Dockerfile to hardcode a specified port in the entrypoint command, then use your own build as the repo
  • Open an issue to request specifying port using an environmental variable in the Dockerfile

Edited by FoxxMD

  • Author

@milfer322 the author has updated the dockerfile for this app. It is now possible to do what you want by setting these variables in the template:

  •  Container Port to 443
  • Additionally, you may want to set Application HTTPS Only to true.
  • 2 weeks later...
  • Author

@milfer322 you can update your unraid template to get the ready-made configuration (may require removing and re-installing app from CA?)

 

Or you can add the variables yourself to your template:

  • HTTPS_ONLY as false or true
  • EXPOSE_PORT will specify what port whoogle will start on inside the container

  • 2 weeks later...

@FoxxMD
I used that but they work in HTTP no in HTTPS only works http://192.168.1.9:443, with https://192.168.1.9 dont works

 

image.thumb.png.9d55c739e73fe54653e496836e40e2d0.png

 

 

  • 1 month later...

I'm having trouble getting this to work through LS.io letsencrypt reverse proxy, anyone got any tips? What proxy configs are people using?

4 hours ago, BadCo. said:

I'm having trouble getting this to work through LS.io letsencrypt reverse proxy, anyone got any tips? What proxy configs are people using?

I'm using this config with a subdomain: 

 

# make sure that your dns has a cname set for whoogle and that your whoogle container is not using a base url
# if whoogle is running in bridge mode and the container is named "whoogle", the below config should work as is
# if not, replace the line "set $upstream_app whoogle;" with "set $upstream_app <containername>;"
# or "set $upstream_app <HOSTIP>;" for host mode, HOSTIP being the IP address of whoogle


server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name whoogle.*;

    include /config/nginx/strong-ssl.conf;

    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app whoogle-search;
        set $upstream_port 5000;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;

Note that "strong-ssl.conf;" is specific to my setup. Yours should be just 

include /config/nginx/ssl.conf;

Just paste the above in a file and call it whoogle.subdomain.conf and place it in /letsencrypt/nginx/proxy-confs (assuming you're using LSIO's letsencrypt container)

 

Still having some issues in chrome, gets a 522. Works fine in firefox tho, will have to look into that.

  • Author

Mine is similar to strike but it works with less configuration:

 

server {
	listen 443 ssl http2;
	server_name search.yourDomain.me;
	
	# ssl specific to my machine
	# nothing whoogle specific in here though, same for all subdomain ssl
    include /config/nginx/sub-strong-ssl.conf; 
	
	location / {
        include /config/nginx/proxy.conf; # default proxy conf included in docker-letsencrypt container
        proxy_pass         http://yourHostIp:whooglePort/;
  }
}

 

Thanks for the examples, I'll give them a try.

 

This is what I a, currently using. I have had to change the container port due to a conflict with DashMachine.

 

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name search.mydomain.net;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {
        #enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable the next two lines for ldap auth
        #auth_request /auth;
        #error_page 401 =200 /login;

        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app whoogle;
        set $upstream_port 8798;
        set $upstream_proto https;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }   
}

 

EDIT: Just seen my mistake, $uppstream_app name is wrong. Hopefully that's the only one.

 

EDIT2: Still doesn't seem to work :(

 

EDIT3: Ok it works, yaaay. See below for final config

 

# make sure that your dns has a cname set for whoogle and that your whoogle container is not using a base url
# if whoogle is running in bridge mode and the container is named "whoogle", the below config should work as is
# if not, replace the line "set $upstream_app whoogle;" with "set $upstream_app <containername>;"
# or "set $upstream_app <HOSTIP>;" for host mode, HOSTIP being the IP address of whoogle


server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name search.hardnet.nz;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app whoogle-search;
        set $upstream_port 8798;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
        }
    }

 

Edited by BadCo.

  • 10 months later...

Dear Whoogle,

 

Thanks for this glorious piece of docker. It's a wonderful tool.

 

However, I can no longer get it to work. Everytime I try and search I keep getting hit by google wanting me to accept cookies. And no matter what I choose.. I keep getting the same page. I can not get past it.

 

So atm I am using google.com. The horror.

 

Please advise.

2021-05-17 15_30_34-Window.png

2021-05-17 15_31_14-Window.png

  • Author

@coupas looks like that might be related to issue #311 with this potential workaround to fix it? Either way this definitely an issue with whoogle rather than the unraid template so you'll get more help posting in the github issues for whoogle than here, I think.

Edited by FoxxMD

29 minutes ago, FoxxMD said:

@coupas looks like that might be related to issue #311 with this potential workaround to fix it? Either way this definitely an issue with whoogle rather than the unraid template so you'll get more help posting in the github issues for whoogle than here, I think.

 

Thanks a lot. It seem to be getting fixed in a coming update of the docker template.

 

https://github.com/benbusby/whoogle-search/pull/320

Is anyone reverse proxying whoogle with NginxProxyManger? I can hit the domain but the site is blank.

Console gives me this errors:

Loading failed for the <script> with source “https://ajax.cloudflare.com/cdn-cgi/scripts/8g5r2512/cloudflare-static/rocket-loader.min.js”. search.domain.com:1229:1
Loading failed for the <script> with source “https://static.cloudflareinsights.com/beacon.min.js”. search.domain.com:1229:1
Cookie “session” will be soon rejected because it has the “SameSite” attribute set to “None” or an invalid value, without the “secure” attribute. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite search.domain.com
Content Security Policy: The page’s settings blocked the loading of a resource at https://ajax.cloudflare.com/cdn-cgi/scripts/8g5r2512/cloudflare-static/rocket-loader.min.js (“script-src”).
Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). search.domain.com:1229:1
Content Security Policy: The page’s settings blocked the loading of a resource at https://static.cloudflareinsights.com/beacon.min.js (“script-src”).
Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). utils.js:35:9
Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). index.js:4010:22
Loading failed for the <script> with source “https://search.domain.com/cdn-cgi/bm/cv/598746589/api.js”. search.domain.com:64:1

 

  • 4 weeks later...

Been using this for a while and am happy with it- thanks for making it

 

I'm not familiar with how Whoogle works, but is there a reason this Docker connects to TOR/odd proxies? I assume it has to do with how Whoogle works but it is querying even when searches are not being made.

 

Traffic log showing connections to newly registered domains: https://i.imgur.com/d9BXYSZ.png

Traffic log showing connections to TOR: https://i.imgur.com/5zV0rlG.png

 

  • 2 weeks later...
  • Author

@fordbaxter I'm not familiar with TOR usage for whoogle. There is an ENV variable for it but I assumed that if it wasn't turned on explicitly using this variable it wasn't running at all. This issue brings up the fact that your outbound requests won't use TOR but it is still running. You can kill the TOR service from within the container for now (instructions in the issue). If it's a concern I'd recommend bringing it up in that issue or ask the author to implement a way to fully disable the service.

Edited by FoxxMD

  • 1 month later...

I'm really enjoying this docker but didn't want the configuration accessible in the event some random person stumbled on my subdomain. To hide it create a new variable. (See image attachment.) Then simply change the value to 'true'.

 

Screenshot 2021-08-26 110150.png

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.