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
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.
Just using duckduckgo. I’m not happy with my search results as they heavily prioritize clickbait CEO blogs instead of showing official documentation / sources.
Duckduckgo results are pretty bad in my experience, brave search and startpage are way better.
I’ve been using DuckDuckGo for years now and recommend it all the time.
I get decent, reliable results so haven’t shopped around.
This. Clean, reliable and functional. Although I’ve never wrapped my head around how they make their $$
They place ads in the search results.
If you disable your ad blocker, the first search result will almost always an Amazon ad. I test searched for “Headphones” and it also shows a row of JBL headphones at the top ala google shopping, which is an ad as well.
Really, they make their money the same way as google, they just don’t track your searches and site visits.
They still run ads, just less profitable ones since they’re less intrusive, aren’t personalised, and most never see them anyway because if youre on DDG in the first place, you’re also likely to be using adblock.
Been a duckie for years now but I find myself going back to google for things like maps and shopping (that nearby search is a godsend) have you found any privacy mindfull alternatives?
Unfortunately not. If anyone knows of something I’d be keen.
On Android you can install Organic Maps, but the downside is that you’ll need to download the maps for each area you want to have a map of (which, takes storage)
OsmAnd+ seems to be a good alternative recommended often, but I just haven’t used it.
On PC, OpenStreetMaps is your friend
On Android you can install Organic Maps, but the downside is that you’ll need to download the maps for each area you want to have a map of (which, takes storage)
OsmAnd+ seems to be a good alternative recommended often, but I just haven’t used it.
On PC, OpenStreetMaps is your friend
Do you find DDG to be slower than Bing or Google? A few years ago I thought there was a noticeable delay with DDG, but not with Google.
Not really, they’re both nice and snappy.
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.
My own searxng instance, listed at https://searx.space
Perhaps I need to go back to figuring out SearXNG. Although I did read that there’s a slight privacy compromise to use SearXNG over SearX.
Perhaps that doesn’t apply if it’s self-hosted, though.
Using self hosted SearXNG as well. If you have docker running already it’s a snap to setup.
Yeah I’ve got Docker up and running with lots of containers, but wasn’t getting any results back from SearXNG for some reason, kept getting timeouts. I’ve got everything running behind Traefik so might just be a bit of a config issue.
I probably wouldn’t expose it externally to your network, but that’s just me. Unless that’s what you’re doing, there aren’t really any ports to expose with Traefik.
No, I’m using local DNS in Pi-hole with a domain I own but nothing is externally accessible. And even if it were, I’ve got Authelia on all my containers (except, Vaultwarden because I can’t get it to work).
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.
I used to think Google search was clean until I used ddg. For some reason I prefer how ddg display searches.
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.
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.
Titanium leveling jacks most likely
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!
I’ve had a pretty similar journey to yours and I’m currently using Qwant, although the only reason I’m using them is because they’re based in Europe and haven’t had any scandals that I could find. If you’re really concerned about privacy I’ve heard good things about Kagi.
They have a partnership with Microsoft. Not saying it’s a scandal but that was my reason to stop using it
deleted by creator
Do you use it on mobile? Have you had any success configuring it as default search on mobile because I gave up (iPhone)
Would love to know this, and this did form part of my OP in terms of which search engines could be “hacked” into Safari.
deleted by creator
Duckduckgo was brutal on my battery I switched back to Firefox
Personally, I use duck duck go as my primary search engine but I only use it to search for things. But since chatgpt4, I use perplexity.ai for actual answers. Browser wise, I use duck duck go where I can or Arc on my Mac with all the usual privacy plugins.
What are your thoughts on Arc? I tried it a couple of months ago but couldn’t really get used to the layout, etc.
Sure it’s as good a browser as any, I just wasn’t feeling it.
For me personally, it fits how work with the web. I really like the full screen view and the tab navigation between spaces and bookmarks. Because it’s so different, There is a learning curve but once passed it, I genuinely enjoy the experience it offers. I don’t care much for the other customisation features but I can see why they’d appeal to users.
deleted by creator
Someone pointed me in the direction of these guides:
https://duckduckgo.com/duckduckgo-help-pages/results/syntax/
deleted by creator
Mullvad Leta
I like the fact that brave search has an AI, that’s why I use it. I might self-host a foss search engine though
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.
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
Does anyone have experience/thoughts about Mojeek?
I just recently learned about it and haven’t really explored it, but curious.
Thanks!
I’ve played with it a bit. It’s just okay to me. I’d rather just use DDG.
deleted by creator