I just discovered these cool looking 'goodies' on DuckDuckGo, but I have no idea how to use them, or what they are. Can someone enlighten me?
DuckDuckGo – What Are DuckDuckGo Goodies?
duckduckgosearch-engine
Related Solutions
Okay, I finally found a way to achieve exactly what I wanted. Especially the setting about how many results get shown seems to be only available via the parameter generated on the "Settings" page.
Here is a step by step guide and at the bottom I will provide the conclusion as to how you can assemble your own search URL based on the "Settings" page. If you read carefully, especially the conclusion, you'll find this doesn't only apply to Opera.
Preparations
Go to the website of startpage.com
and choose the "Settings" (highlighted in the following screenshot).
Configure your search
Now configure the search using the provided form.
At the bottom of the form you'll find a button "Generate URL". After you press it, you'll see something similar to the following (minus the highlighting):
The text next to "Obfuscated URL" says:
Obfuscated URL An obfuscated URL protects your privacy by hiding your Settings choices.
Now that is obviously true at a first glance. Your settings are hidden from plain sight, but that's a very very thin veneer. In fact if you use the given URL and then "Create Search" from the provided search field or go to the "Settings" page again from there, neither will divulge details about your preferences to whoever uses the URL. Well, except obviously the company behind startpage.com
which knows it either way.
Still, it's hard to tell whether the obfuscated form contains some identifier that would be generated based on your IP and other identifying data. It's possible it doesn't, but it would take experimentation to prove this theory wrong or right.
I prefer the plain text URL, but your mileage may vary.
Preparation to creating a search
Use the URL from that page and visit it. Here's the obfuscated URL from my example, just so you can follow the steps:
NB: The customized searches all start with https://startpage.com/do/mypage.pl
, but that doesn't allow you to initiate the search, which is what we're after.
Use the step described in the support section of startpage.com
and elsewhere to create a search from the search field.
At this point a dialog in your browser (I know a similar feature exists in Firefox) should prompt you to give more details (e.g. naming the shorthand/quick-search and so on).
Customizing the quick-search
Here you can give a shorthand ("Keyword") and customize the query string further. And this is where we get to see how the settings from the "Settings" page can be reused.
Conclusion
Assume we have the following generated URL:
https://startpage.com/do/mypage.pl?prfh=lang_homepageEEEs/air/eng/N1Nfont_sizeEEEmediumN1Nrecent_results_filterEEE2N1Nlanguage_uiEEEenglishN1Ndisable_open_in_new_windowEEE1N1NsslEEE1N1Ndisable_family_filterEEE1N1Nnum_of_resultsEEE100N1Ngeo_mapEEE1N1N
the resulting settings for the quick-search would then be:
- Address:
https://startpage.com/do/search
- Query string:
cat=web&cmd=process_search&language=english&engine0=v1all&query=%s&abp=-1&prfh=lang_homepageEEEs%2Fair%2Feng%2FN1Nfont_sizeEEEmediumN1Nrecent_results_filterEEE2N1Nlanguage_uiEEEenglishN1Ndisable_open_in_new_windowEEE1N1NsslEEE1N1Ndisable_family_filterEEE1N1Nnum_of_resultsEEE100N1Ngeo_mapEEE1N1N&suggestOn=0&x=0&y=0
where the query string has the following obvious parameters:
cat
which seems to refer to the type (or category?) of search, i.e. web (cat=web
), image (cat=pics
) or video (cat=video
) at the moment of this writingcmd
is vital here, it's the functional equivalent of pressing the search button (cmd=process_search
)language
is the search language, another parameterlui
controls the language of the user interfaceengine0
(engine0=v1all
) is something proprietary and I have no idea what possible and valid values exist there, but the same parameter also exists in Ixquick (another search engine by the same company)query
is the search query whereas a blank space is encoded as%20
or+
depending on the context. The%s
inquery=%s
is in Opera the placeholder for the search query- It is possible to add things like search operators, e.g.
query=%s+site:linux.die.net
would limit the search to the sitelinux.die.net
which hosts a bunch of Linuxman
pages
- It is possible to add things like search operators, e.g.
- Unknown parameters:
abp=-1
suggestOn=0
x=0
y=0
Last but not least the most important part:
prfh
(prf == profile?) which is the exact value as in the generated URL, e.g. hereprfh=lang_homepageEEEs%2Fair%2Feng%2FN1Nfont_sizeEEEmediumN1Nrecent_results_filterEEE2N1Nlanguage_uiEEEenglishN1Ndisable_open_in_new_windowEEE1N1NsslEEE1N1Ndisable_family_filterEEE1N1Nnum_of_resultsEEE100N1Ngeo_mapEEE1N1N
This means one can assemble a URL from:
- Script:
https://startpage.com/do/search
- Separator for parameters:
?
- Basic parameters:
cat=web&cmd=process_search&lui=english&language=english
(for English search and UI - Separator between parameters:
&
- Search:
query=%s
where%s
is a placeholder for the search term(s) - Separator between parameters:
&
- And the settings from the "Settings" page:
prfh=...
In the prfh
value EEE
seems to signify a =
and N1N
the separator between the parameters (similar to &
in the URI). However, you cannot extract these values and use them "outside" the prfh
value. A translated value would thus look like (I chose |
as the separator):
prfh=lang_homepage=s/air/eng/|font_size=medium|recent_results_filter=2|language_ui=english|disable_open_in_new_window=1|ssl=1|disable_family_filter=1|num_of_results=100|geo_map=1|
DuckDuckGo may use it to track what link you opened and improve its search rankings. You shouldn't consider that as a bad thing because they know the search term you manually entered anyway.
This is also good for your privacy because it can hide your search term from other https sites, in case the referer info is forwarded to them by your browser.
Best Answer
When going to the Goodies and selecting the "programming" option, the following can be seen:
If you edit the field where "6GB/700KB/s in min" is mentioned and change it to "15GB/600KB/s in hour", then the following can bee seen:
So then if you type that in the main DDG search field, you get this: