TL;DR - which privacy-focused search engine do people recommend, preferably one that can also easily be used as a default option in Safari?
I ditched Google in about 2016ish I would guess, and since then have used DDG as my default search engine.
As someone entrenched in the Apple ecosystem, it’s always seemed like a sound choice, as it’s one of the search engines built in to Safari on both iOS and macOS.
After spending a bit more time recently playing around with and updating my Docker containers, I started hosting a Whoogle container, which seemed to work pretty well, but I don’t see many out there talking about it, so not sure how good it actually is. I then tried a SearXNG container, but either had it misconfigured or just wasn’t getting many search results back.
At the moment I’m trying out Startpage, but I know there are potential privacy concerns since they were part-bought in 2019 by a US ad-tech company.
I’m also playing around with different browsers at the moment, flicking between Safari, Firefox and Brave. At which point I stumbled across Brave Search, which seems pretty promising.
So, which search engines do you all recommend?
UPDATE: Probably should’ve done a poll! But latest (if I’ve captured everything correctly) is:
- DuckDuckGo - 10
- Qwant / SearXNG / Kagi / Brave - 4
- Startpage / Ecosia - 2
- Google - 1
As to my other questions around browsers:
- Majority seem to use Firefox
- Some mentions of Brave
- One mention of Arc
I started paying for Kagi a few months ago and I’m loving it. Search results and tools are great. People balk at paying for a search engine, but at least this way I know I’m not the product.
The weird thing for me is that by paying to use, you will need to be uniquely identified, and that opens doors for losing privacy in several ways. How is that addressed by kagi?
They address this on their website and go in further detail on their privacy policy. You’d have to read through that to decide if they do enough to earn your trust. But in my opinion not having any advertising removes most of their incentive to try to collect user data. I suppose there could be a temptation to collect the data to resell, but since a large portion of their income relies on the reputation of being a search alternative that has a focus on privacy I feel the risk to their reputation would be greater than whatever revenue that would generate.
Of course there are all kinds of companies that flew too close to the sun and sold out user privacy for a Coke and a smile. I’ve decided to go with Kagi and have been very happy with them so far. If they ever sell out I’ll cash out, but they seem to be the best option for me right now.
Kagi has been great. I’d like to see more searches on their $5 plan as 300 searches a month doesn’t feel adequate. It has been great being able to promote, demote, and block sites from searching and I have found my results to be more helpful and relevant than Google alternatives I tried. I don’t think I have used Google search at all since signing up. Highly recommend.
I’ve been loving my kagi trial. I used my 100 searches. I’ll wait to see how long I can suffer before I buy it.
DuckDuckGo from the browser, because 90% of the time I can get where I want with the appropriate ! bang from the address bar.
With the appropriate ! bang from the address bar
What does this mean? I want to like DuckDuckGo, but it’s kinda messy.
They are basically shortcuts. For example, I can type “!w ibuprofen” into DuckDuckGo (or the address bar because I have it set as my default search engine) and be brought immediately to the wikipedia page for Ibuprofen. There’s also !yt for youtube search, !so for stack overflow search, and many more.
I’m using Ecosia. Planting trees FTW!
I run a pihole to block ads network-wide. I tried doing a general search for a bit of info on it and didn’t find much, but I guess my question is are the ads they run more like sponsored results, or like actual advertisements?
You can find info here: https://ecosia.helpscoutdocs.com/category/314-privacy-friendly-search-engine
TLDR they have ads, but related to your current search, not your profile. And they are Bing based.
Using qwant because it’s developed and hosted in France. Better than supporting a US company as a European.
But qwant uses bing
So you’re still supporting Microsoft
They use their own indexer.
I think there was some drama a while ago about them collecting and sharing data which got them delisted from PrivacyGuides? Not a good look imo.
Default search in Firefox: SearXNG (List of Instances) (solves 60-80%)
if not the solution, I then search for “dd [term]” which goes to duckduckgo. Solves mostly the rest.
If not, and I am really desperate, I try: “dd !g [term]” so it goes to ddg, redirects to google and then I am reminded how bad a first page result can be. Only ads, sponsored entries and only big company names. Good luck finding anything from a forum or a small blog on google today. All the search words are bundled up in company results that has nothing to do with the topic.
You don’t use an adblocker?
Sure. But how is that changing the quality of google results? Are you trolling?
I meant because you mentioned there’s nothing but ads which would be gone with an adblocker. Did you mean the actual results are essentially ads or literally the ads and Sponsored post at the top?
Sponsored results. I do not see ads, but I can see from the thing that I was searching for, and the difference between the that abd the first 4 results, that this can not be a real search result but a highly customized and profiled result. The results are just straight garbage.
Have a look at uBlacklist it removes a lot of the SEO rubbish for me
deleted by creator
Duckduckgo was brutal on my battery I switched back to Firefox
Do you use it on mobile? Have you had any success configuring it as default search on mobile because I gave up (iPhone)
deleted by creator
Would love to know this, and this did form part of my OP in terms of which search engines could be “hacked” into Safari.
ddg.gg for the win.
Started using them when I confronted the Google filter bubble for the first time.
But what totally sold me? DDG provided me link for a product I had searched for in vain on Google for years at that point, using the exact same query.
Please reveal the product. I am consumed by curiosity.
Steel leveling jacks, manual, center screw variety, used extensively for leveling mobile homes back in the day.
First time I used DDG to look for them, BOOM, half way down the page a manufacturer in Enid, OK. G? Literally for years kept serving me up pneumatic, expensive, industrial gear or services.
Your post may have just convinced me to try ddg. My problem with Google is that increasingly it does not give me what I am looking for and instead gives me what it thinks I should want. From your description it sounds like ddg is what Google used to be.
Pretty much. They deliver a couple of sponsored entries per search, but even those have been occasionally productive. No harm in trying for a while, you can always change if it’s not working. GL&HF!
That is definitely not what I was expecting
That is definitely not what I was expecting
Please reveal what you were expecting. I am consumed by curiosity.
Mullvad Leta
I recently started using Duck Duck Go instead of Google.
I still had this thought that Google was the best technology as I went from the early web (remember… altavista.digital.com, yahoo, …) and I remember that Google was really a game changer when it started to become popular.
I tested setting DDG as default search engine in my desktop and mobile browsers, thinking that when I don’t have expected results I would go to Google… I never had to switch to Google because I was wrong, DDG is as good as Google while being better from privacy point of view.
For the browser I use Vivaldi on both android and desktop.
Does anyone have experience/thoughts about Mojeek?
I just recently learned about it and haven’t really explored it, but curious.
Thanks!
deleted by creator
I’ve played with it a bit. It’s just okay to me. I’d rather just use DDG.
I’m using an Ad-, Tracking- etc blocker in all my devices, so I’m not too worried about using Google or Bing when I do.
But I’m hosting my own instance of SearchXNG and that’s often simply the most powerful and flexible search engine.
Also self-host SearchXNG. Its definitely the way to go. I like you can choose which search engines to pull from
I replied to another comment on here saying that I’d tried this once before, via a Docker container, but just wasn’t getting any results back (kept getting timeouts from all the search engines).
I’ve just revisited it, and still get the timeouts. Reckon you’re able to help me troubleshoot it?
Below are the logs from Portainer:
File "/usr/local/searxng/searx/network/__init__.py", line 165, in get return request('get', url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 98, in request raise httpx.TimeoutException('Timeout', request=None) from e httpx.TimeoutException: Timeout 2023-08-06 09:58:13,651 ERROR:searx.engines.soundcloud: Fail to initialize Traceback (most recent call last): File "/usr/local/searxng/searx/network/__init__.py", line 96, in request return future.result(timeout) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/_base.py", line 458, in result raise TimeoutError() TimeoutError The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/searxng/searx/search/processors/abstract.py", line 75, in initialize self.engine.init(get_engine_from_settings(self.engine_name)) File "/usr/local/searxng/searx/engines/soundcloud.py", line 69, in init guest_client_id = get_client_id() ^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/engines/soundcloud.py", line 45, in get_client_id response = http_get("https://soundcloud.com") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 165, in get return request('get', url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 98, in request raise httpx.TimeoutException('Timeout', request=None) from e httpx.TimeoutException: Timeout 2023-08-06 09:58:13,654 ERROR:searx.engines.soundcloud: Fail to initialize Traceback (most recent call last): File "/usr/local/searxng/searx/network/__init__.py", line 96, in request return future.result(timeout) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/_base.py", line 458, in result raise TimeoutError() TimeoutError The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/searxng/searx/search/processors/abstract.py", line 75, in initialize self.engine.init(get_engine_from_settings(self.engine_name)) File "/usr/local/searxng/searx/engines/soundcloud.py", line 69, in init guest_client_id = get_client_id() ^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/engines/soundcloud.py", line 45, in get_client_id response = http_get("https://soundcloud.com") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 165, in get return request('get', url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 98, in request raise httpx.TimeoutException('Timeout', request=None) from e httpx.TimeoutException: Timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikidata: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.duckduckgo: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.google: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.qwant: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.startpage: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikibooks: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikiquote: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikisource: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.wikipecies: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.wikiversity: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.wikivoyage: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.brave: engine timeout 2023-08-06 10:02:05,481 WARNING:searx.engines.wikidata: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,481 ERROR:searx.engines.wikidata: HTTP requests timeout (search duration : 6.457878380082548 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,482 WARNING:searx.engines.wikisource: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,484 ERROR:searx.engines.wikisource: HTTP requests timeout (search duration : 6.460748491808772 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,485 WARNING:searx.engines.brave: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,485 ERROR:searx.engines.brave: HTTP requests timeout (search duration : 6.461546086706221 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,487 WARNING:searx.engines.google: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,487 ERROR:searx.engines.google: HTTP requests timeout (search duration : 6.463769535068423 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,489 WARNING:searx.engines.wikiversity: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,489 ERROR:searx.engines.wikiversity: HTTP requests timeout (search duration : 6.466003180015832 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,490 WARNING:searx.engines.wikivoyage: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,490 ERROR:searx.engines.wikivoyage: HTTP requests timeout (search duration : 6.466597221791744 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,490 WARNING:searx.engines.qwant: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,490 ERROR:searx.engines.qwant: HTTP requests timeout (search duration : 6.4669976509176195 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,491 WARNING:searx.engines.wikibooks: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,491 ERROR:searx.engines.wikibooks: HTTP requests timeout (search duration : 6.4674198678694665 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,491 WARNING:searx.engines.wikiquote: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,492 WARNING:searx.engines.wikipecies: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,492 ERROR:searx.engines.wikiquote: HTTP requests timeout (search duration : 6.468321242835373 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,492 ERROR:searx.engines.wikipecies: HTTP requests timeout (search duration : 6.468797960784286 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,496 WARNING:searx.engines.duckduckgo: ErrorContext('searx/engines/duckduckgo.py', 98, 'res = get(query_url, headers=headers)', 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,497 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 6.47349306801334 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,511 WARNING:searx.engines.startpage: ErrorContext('searx/engines/startpage.py', 214, 'resp = get(get_sc_url, headers=headers)', 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,511 ERROR:searx.engines.startpage: HTTP requests timeout (search duration : 6.487425099126995 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:04:27,475 ERROR:searx.engines.duckduckgo: engine timeout 2023-08-06 10:04:27,770 WARNING:searx.engines.duckduckgo: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:04:27,771 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 3.2968566291965544 s, timeout: 3.0 s) : TimeoutException 2023-08-06 10:04:50,094 ERROR:searx.engines.duckduckgo: engine timeout 2023-08-06 10:04:50,187 WARNING:searx.engines.duckduckgo: ErrorContext('searx/engines/duckduckgo.py', 98, 'res = get(query_url, headers=headers)', 'httpx.ConnectTimeout', None, (None, None, 'duckduckgo.com')) False 2023-08-06 10:04:50,187 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 3.0933595369569957 s, timeout: 3.0 s) : ConnectTimeout
The above is a simple search for “best privacy focused search engines 2023”, followed by the same search again but using the ddg! bang in front of it.
I can post my docker-compose if it helps?
First thing that comes to mind is are you running it on Host Network? That’s a requirement
For search engine, I go with SearXNG, and for web browser, Mull. Or hardened Firefox, on PC.
Do you use a self-hosted SearXNG, or one of the other hosted instances?
Self-hosted under a VPN would be the way to go if you want to be 100% sure.
The problem with public instances is that you can’t really know what the owner does with the data. There are safe ones, and malicious ones. I’d just look for one that has a good reputation.
Yeah I have a self-hosted one but I’m struggling to get results. I posted under another comment on this thread, was just gonna ask for some support troubleshooting.
Completely agree though, self hosting over public instances all day long.
deleted by creator
I use presearch. Pretty happy with it. Never paid out my rewards, they’re just growing
My own searxng instance, listed at https://searx.space