Karl Winzig wrote:
> VanguardLH wrote:
>
>> How is a *site* wanting to use Javascript that you don't want to allow a
>> fault with the web browser? The search URL for the DuckDuckGo search in
>> Firefox points at DuckDuckGo's home page. They aren't going to point at
>> some place drilled down into that web site because you don't want to use
>> the home page for the search engine.
>
> I may be wrong, but it seems to me that all I want to do is use Firefox'
> default search engine plugin without Javascript being enabled.
>
> It's certainly obvious that anyone wanting to use Duckduckgo wants to
> do so for privacy reasons, and that same person wouldn't want javascript
> for the exact same privacy reasons.
>
> Firefox developers should make it easier (not harder) for people to
> set a privacy switch (e.g., the Tor Browser Bundle proves it can be done,
> but I don't need the 3-hop encryption that comes with Tor and which
> slows it down immensely).
>
> All I would want (in the future) is for the search plugins for Firefox
> to be smart enough to still work if someone has Javascript disabled.
>
> It's a pretty simple algorithm for a *programmer* to implement:
> - If javascript is on, and the person selects duckduckgo, then
> point them to the duckduckgo javascript site.
> - If javascript is off, and the person selects duckduckgo, then
> point them to the duckduckgo non-javascript site.
What if Javascript is on for the current page you are visiting but off
when you visit a different page (the search engine)? Remember that you
are using an *extension* to do Javascript enable/disable, not the web
browser to do that. You want Mozilla to adapt their search provider
definitions based on what some extension is doing. Not sure how the web
browser is going to know what an extension is doing.
> I'll try out the other suggestions (not bookmarks though, which
> is a dead-wrong approach to patching a Firefox bug), and will
> let you know what I find out.
I tried hunting around in my Firefox profile folder for something with
the "duckduckgo" string to see if I could find a file that I could edit.
Then I would've tried editing the URL within that file to change to the
one where you add "/html/" to the end of the URL to go to their
non-Javascript search page. Alas, didn't find such a file to let me
edit. I thought there used to be a searchplugin subfolder that had the
XML or whatever that defined the search provider pseudo-extension but I
didn't find one under my Firefox profile folder. Maybe that was to
prevent malware from altering that file to take you to their malicious
forged site. That's why I suggested using a keyworded bookmark.
I did find a <profile>\search.json file that had a "duckduckgo" string
within it; however, I don't know how to edit json files. I can open
them with a text editor. You could copy the file (as a backup) and try
editing the "
https://duckduckgo.com/" string to go to a different URL,
like "
https://duckduckgo.com/html/". You may also have to change
"
https://ac.duckduckgo.com/ac/" to whatever would be DuckDuckGo's
non-Javascript search page. As I recall, some searches there end up
using the "ac" hostname and also in the path. There are multiple
locations in the .json file where the search provider's home or URL
search page are listed. If editing the .json file didn't work, delete
it and copy back the original file.
I don't know that a JSON file called as an external function is going to
be able to look back into the web browser to see under what conditions
it is currently running.
https://en.wikipedia.org/wiki/JSON
Search engine sites can have lots of pages. I doubt a "search provider"
election is going to list all of them or anything other than the
standard page for the search provider. You'd end up with DuckDuckGo
(Javascript - standard home page), DuckDuckGo (non-Javascript),
DuckDuckGo (Images), DuckDuckGo (Videos), DuckDuckGo (pick a country),
DuckDuckGo (without page breaks), DuckDuckGo (time frame), and so on.
So instead of listing one search provider just for DuckDuckGo, there
would be half a dozen or more. Then multiple the same for every search
provider that had multiple search criteria scenarios. You'd end up with
a huge list of search providers that would be longer than the height of
your screen.
You use DuckDuckGo to avoid having Google, Microsoft, Yahoo, or some
other biggie track to where you navigate. Not you personally but you
don't want to let them compile a database of sites to rank them to
provide relevant results. Okay, but then why don't you trust
DuckDuckGo? Their Javascript ensures that an HTTP Referer header does
*not* get sent to the target site when you click on a link to go there.
With just their HTML-only (non-Javascript) page, all DuckDuckGo can give
you is the direct URL link which means the visited site will get the
HTTP Referer header to know from whence you came. You could use an
add-on to block sending the Referer header but some sites refuse to let
you navigate between their web pages without it (they use it as security
to ensure you get to a web page from another of their own rather than
let you directly drill into their site). Some add-ons will allow
Referer within the same domain but block it across domains (when you
visit one domain but navigate to another); however, sites nowadays are
often spread across multiple domains so blocking Referer from one of
their domains when you click a link to visit another of their domains
can still result in breaking their check that you got there from an
allowed page.
They also let you somehow add !proxy into the URL so when you click on a
search result link that you anonymously visit the target site. Never
used it so not sure how it works. Saw it mentioned in their privacy
page (
https://duckduckgo.com/privacy). Rather than have to putz with
the URL (edit it), I use Ixquick's StartPage which has a Proxy link.
Rather than use Startpage (operated by Ixquick) which only searches
Google, I use
ixquick.com (also called StartPage) that searches multiple
providers. When I do a search there (and, yes, I do permit Javascript),
there is a Proxy link that can hide me when I visit the target site.
That's a lot easier than trying to figure out how to modify the URL
before using it.