Category Archives: Tech

Articles about software and technology

Search

Alternative Search Engines That Respect Your Privacy

Following is a table of some search engines which are more privacy-centric than evil mega-corporations like Google, Bing and Yahoo.

Legend:

  • Decentralized – whether the service and index are controlled by a single entity, such as Google, or distributed among its users, such as YaCy
  • Type – meta: uses 3rd parties, such as Google, to deliver search results
    index: crawls the web and indexes content without relying on 3rd party search engines
    hybrid: a combination of both meta and index
  • Requires JS / Cookies – whether the web interface requires JavaScript and/or cookies (web storage)
  • Client Required – whether you have to download client software in order to use the service
NameDecentralizedTypeRequires JS / CookiesClient RequiredPrivacy PolicyComments
Disconnect (search page SSL)nometano, but functionality is limited / no, but settings are not savednoprivacy policyDisconnect apparently pulls results from Yahoo, Bing and DuckDuckGo, though in my case it forwards all searches to DuckDuckGo regardless of what the preferred search engine is set to. Personally i see no advantage to using Disconnect over other meta search engines.
DuckDuckGo (search page SSL)nohybridyes(?) if searching from the FF search bar, no if searching from the web page / no, but settings are not savednoprivacy policyDuckDuckGo claims to pull its search results from over 400 sources including Wikipedia, Bing, Yahoo and Yandex, as well as its own crawler, and its interface is similar to Google. The company generates revenue from ads which can be disabled in the settings. DuckDuckGo also offers a ‘lite’ version which does not use JS or cookies.
FAROO (search page no SSL)noindexyes / nooptional?FAROO offers a distributed, censorship resistant, peer-to-peer search engine and index, however it is powered by proprietary client software. In answering the question “Why you don’t publish your product as Open Source?“, their response is “[…] it’s not a good idea to hand over your technological advantage to a monopoly, when competing with its free service with enormous brand power.“. A very poor answer in my personal opinion.
findx (search page SSL)noindexno / no, but settings are not savednoprivacy policyfindx has a decent privacy policy. The interface is plain and functional, though they don’t provide a lot of options to customize it. findx displays ads in their results and, though they are clearly marked, there is no option to disable them.
Hulbee (search page (SSL)nometa?yes / no, but settings are not savednoprivacy policyHulbee has a solid privacy policy and an interesting interface, however it appears they pull their results from Bing, though i don’t know if they use Bing exclusively.
MetaGer (search page SSL)nohybrid?no, but some functionality loss / no, but settings are not savednoprivacy policyMetaGer, which has been around for a couple decades, has an excellent privacy policy and claims to pull results from up to 50 other search engines.
Peekier (search page SSL)nometayes / no, but settings are not savednoprivacy policyPeekier provides an interesting, though feature limited interface in the form of zoomable text and thumbnail images of the web pages corresponding to your search results, thus allowing you browse the results before visiting the source page. Peekier appears to pull its results from Bing only however, which is unfortunate.
Qwant (search page SSL)nohybridyes / no, but settings are not savednoprivacy policyQwant, based in France, is an interesting search engine. It is a hybrid in that they use crawlers, but also pull some results from Bing. The interface is pleasant, colorful and easy to use, though there are not many configuration options. Their privacy policy looks solid.
Searx (search page SSL)partiallymetayes(?) if searching from the FF search bar, no if searching from the web page / no, but settings are not savednon/aSearx is a meta search engine which i have found to be the best of its type because of its capability to pull results from a wide array of third party services and it is highly configurable. The interface is clean, customizable, intuitive and similar to Google except it is a bit more powerful. Anyone can run a Searx instance on their own server (see their GitHub page).
Startpage/Ixquick (search page SSL)nometano, but some functionality loss / no, but settings are not savednoprivacy policyStartpage/Ixquick apparently pulls its search results from the top 10 results of other major indexes, such as Google. They have a strong privacy policy and an extensive Q&A page regarding privacy, however they do use tracking images, so if you are using uBlock Origin, go here for the filters necessary to block them.
YaCy (search page SSL, self-signed)yesindexyes / nooptionaln/aYaCy is, in my opinion, the most interesting search engine listed here in that it is a decentralized, distributed, censorship resistant search engine and index powered by free, open-source software. At this time YaCy doesn’t produce a lot of pertinent search results, however the more people use it, the better it will become. For those wanting to run your own instance of YaCy, see their home page and their GitHub page. This article from Digital Ocean may also be of help if you want to run YaCy on a VPS.
NameDecentralizedTypeRequires JS / CookiesClient RequiredPrivacy PolicyComments

If you have any suggestions, please leave a comment (you need not be logged in).

New article: Firefox User Interface Customization

I started a new article titled Firefox User Interface Customization which is a work in progress. At this point there is only a few of CSS code samples for customizing Firefox and its derivatives, but i expect it will grow to include a lot more. The code will work with Waterfox as well, which i know because that’s what i’m currently running.

The transition from XUL to WebExtensions for Firefox add-ons is not going smoothly at all in my case and this is one reason i ditched Firefox and started running Waterfox, the latter of which is a bit more focused on privacy as well as continued support for XUL (legacy) extensions of which i have several that are simply not replaceable at this point. I think the biggest problem with the move to WebExtensions is the limitations in the API and i think it’s a [yet another] mistake by Mozilla to drop support for legacy extensions with the upcoming version of Firefox 57 given that their API seems to be only half-baked. I might have tried Pale Moon, except they apparently have no plans to support WebExtensions whatsoever. I suspect this might come back to bite them in the ass since i’m sure that the vast majority of Moon users get their add-ons from Mozilla and many of those developers seem to be abandoning the legacy extensions that Pale Moon depends on.

Firefox Add-Ons Puzzle

Firefox User Interface Customization

Introduction

Following are a few cool things you can do to customize the appearance of the Mozilla Firefox web browser or its derivatives, such as Waterfox. I’ve just started to put this resource together, but i’m sure many more items will be added in the near future.

Stuff to know

  • You will need to know how to create and edit a userChrome.css file if you haven’t got one.
  • If you need help with CSS selectors and what parameters they can take, see these two documents at w3schools.com which is an excellent resource:
  • If you’re using Classic Theme Restorer, some of this code may interfere with options in CTR and so you disable those options corresponding to the items below if you want to use my code instead
  • Classic Theme Restorer is a great source for popular and well written CSS code for customizing Firefox. Just download the package and extract it and you’ll find all sorts of goodies.

CSS: Move Status Panel to top and style it

The Status Panel is the pop-up text you see in the bottom left/right of the browser when you hover over a link. It also displays some information about the page loading process. As i recall, the link target text used to be located in the location bar before the Australis theme changed all that and dumbed-down Firefox. I’ve always hated that annoying pop-up text appearing at the bottom of the view port (the part of the browser that displays the web page) and so i changed its appearance and location.

The CSS below will move the Status Panel to the top of the view port, make it span the full width of the view port, make it appear semi-transparent with a black background and white text and change some other attributes. You can customize it to your liking.

Copy the code below and past in your userChrome.css file. At the very least you will probably have to change the pixel setting in the top property to get the Status Panel to appear where you want it vertically. If you like the appearance of the Status Panel but prefer to keep it on the bottom of the view port, just delete the line beginning with top:.

/* move status panel to top and style it */
statuspanel {
 top: 76px !important; /* distance from top of browser, not from top of viewport */
 z-index: 999 !important;
 width: 100% !important;
 box-shadow: none !important;
 border-bottom: 1px solid rgba(182,182,182,1.0) !important;
}
.statuspanel-label {
 background-color: rgba(0,0,0,0.5) !important;
 color: white !important;
 font-size: 13px !important;
 font-family:"DejaVu Sans Mono";
 width: 100% !important;
 margin: 0 !important;
}
/*
 * uncomment the below code if you want to change font and background colors for different status individually
*/
/*
statuspanel[type="overLink"] .statuspanel-label {
 background-color: rgba(255,255,255,0.85) !important;
 color: darkblue !important;
}
statuspanel[type="status"] .statuspanel-label[value^="Looking"] {
 background-color: rgba(0,0,0,0.5) !important;
 color: white !important;
}
statuspanel[type="status"] .statuspanel-label[value^="Connect"] {
 background-color: rgba(0,0,0,0.5) !important;
 color: white !important;
}
statuspanel[type="status"] .statuspanel-label[value^="Waiting"] {
 background-color: rgba(0,0,0,0.5) !important;
 color: white !important;
}
statuspanel[type="status"] .statuspanel-label[value^="Transfer"] {
 background-color: rgba(0,0,0,0.5) !important;
 color: white !important;
}

CSS: Reduce navigation bar icon spacing

Reduce the horizontal space between the icons on the Navigation Bar. Adjust the -3 parameters to your liking.

@-moz-document url("chrome://browser/content/browser.xul") {
  /* nav bar icon spacing */
  #nav-bar toolbarbutton {
    margin-left: -3px !important;
    margin-right: -3px !important;
  }
}

CSS: Remove “Get Add-Ons” menu item from the add-ons panel

/* remove the Get Add-Ons button in the sidebar */
@-moz-document url("about:addons") {
  #category-discover {
    display: none !important;
  }
}

CSS: Adjust vertical space between the bookmark items

This will reduce the vertical space between your bookmarks in the sidebar.

/* adjust spacing between bookmark menu items */
.sidebar-placesTree treechildren::-moz-tree-row {
  height: 1.2em !important;
  border-width: 1px !important;
}

More coming! Stay tuned…

‘Firefox Configuration Guide for Privacy Freaks and Performance Buffs’ article updated

The Firefox Configuration Guide for Privacy Freaks and Performance Buffs article has been updated with further information regarding IndexDB storage and how to control it. The way that Firefox currently handles IndexDB storage is absolutely terrible in my opinion in that there is no easy way to remove it from the Firefox UI, such as by clearing the browser history. This local storage, which can eat up your drive space with 10’s of megabytes of data per domain, is a threat to personal privacy and can be used to fingerprint your browser by the domain that stored the data.

The Pirate Bay and its cryptocurrency mining script – why this might be the best thing since DOOM

People are now creating scripts to mine cryptocurrencies using your computing power while you visit any websites which employ these scripts. I first learned about this when The Pirate Bay used such a script in certain sections of their website.

This is an extremely interesting development and it will be just as interesting to see how wide-spread it becomes. Just days after TPB was found running such a script, there was already a cryptocurrency miner WordPress plug-in on wordpress.org with 300+ active installs as of Sep. 27, 2017.

At first i categorized this as outright malware and, in fact, i would say this was accurate in the case of The Pirate Bay when they introduced it secretively and didn’t make it an opt-in option for its users. It also appears that ad-blockers, including uBlock Origin, as well as anti-virus software vendors, are targeting these mining scripts. After giving it some thought however, this seems like it might be an excellent way for independent journalists and others to generate some “cash” to support their work whilst dumping, or at least cutting back on their intrusive ads.

The company apparently responsible for all the hub-bub is Coinhive and, frankly, i very much like what they have to say about their cryptocurrency miner. There are millions of people — me being one of them — running ad-blockers to remove all the in-your-face garbage that people and corporations use to monetize their websites and the service offered by Coinhive could be a revolution in this regard in that everyone, from the Google’s of the world to individuals like yourself, could monetize websites and services with cryptocurrency miners that are virtually transparent to their visitors. I say “virtually” because i think it is absolutely critical that such mining scripts only run if the visitor chooses to run them. Apparently Coinhive feels the same way. Here’s some comments from the Coinhive blog:

Our goal was to offer a viable alternative to intrusive and annoying ads that litter so many websites today. These ads are not only a distraction to end users, but also provide notoriously unpredictable and non-transparent revenue numbers. We set out to change that.

[…]

We’re a bit saddened to see that some of our customers integrate Coinhive into their pages without disclosing to their users what’s going on, let alone asking for their permission. We believe there’s so much more potential for our solution, but we have to be respectful to our end users.

[…]

It’s probably too late to do anything about the adblockers that already prevent our current JavaScript from loading. Instead, we will focus on a new implementation that requires an explicit opt-in from the end user to run. We will verify this opt-in on our servers and will implement it in a way that it can not be circumvented. We will pledge to keep the opt-in in tact at all times, without exceptions.

I like their ethics and motivation for creating this service. Their privacy policy is also very good, at least for the time being.

Right now i’m blocking these scripts, but hopefully this will change in the future.