Sunday, April 30, 2006

Turn Google Desktop into multisite search tool




Actively using Google Desktop on my own computer I thought how nice it could be if there was kind of mini-Google search engine running in my organization, letting to search across document servers, intranet and may be even in explicitly specified shared locations on another computers. Just think about finding Travel Policy.doc in one click instead of browsing dozens of folders in HR directory on the doc's server. Or looking for a piece of code written by you (or someone else!) just by clicking something like
RemotingServices.GetLifetimeService()
in the desktop search screen.

Even more - having few computers connected by LAN at home - it could be great to have a possibility to search across all of them, instead of chasing for some lost .doc file on each computer apart.

Well, for the first part (the Enterprise mini-Google) - it's actually offered by Google itself for as much as £1,995.

Btw, Google Desktop per se offers some kind of that functionality, but in a different aspect - for users who have a GMail account - it provides "Search Across Computers" service. The concept is that data on all your computers is indexed and stored in a centralized location (somewhere in the deeps of Google servers), thus enabling you to search it from any of your computers. The problem here is that you passing indexed content of your computer over the internet and storing it at server which belongs to, yet reliable, but still - 3rd party side. And it's kind of disturbing, despite in reality - most of computers are exposed to so many treats, anyway, that passing this index over the net is really the last thing to worry about.
Btw, the index could be encrypted, selecting the following option in the Desktop Search options (and slowing search a bit):




Anyway, it's good for corporate, but a bit expensive for the home user.
So, after browsing around here and there - I've found that there is a solution for that, which would even keep all your indexes local, without letting them leave to the deep sea of the internet.
No hacks needed - you are two plugins and few configurations away...

As said - you'll need to install two plugins first of all. First one is DNKA and the 2nd is TweakGDS. Select one of your home computers that would serve as 'Google-home-server' and install both plugins on it.
(Do you know there is a whole set of extensions for the GDS, all available here?).

I. In Tweak GDS:
1) Define where you would like to keep index of the crawled files:


2) Define how much result-per-page you want to see:



II. In DKNA:
1) Define which computers allowed to access the 'server' GDS computer:

Please note that dragons possible security breach lies here. DKNA works as web-server, listening on the port 4664 and redirecting requests from computers with allowed IP's to the local GDS service. Since requestor could provide a fake IP address - it could generally be a possibility for hacker to make GDS searches on you PC...

2) So, it would be good idea to disable anonymous access and define users allowed to access the GDS in the DNKA Users setup screen:



3) Finally - you may review access log (Misc Options of DNKA Options screen) from time to time.


III. The last thing - is to configure your GDS (below):
1) You need to make sure the GDS plugin is enabled.
2) If you want to crawl any network locations - add them in "Search These Locations" section.
3) In "Don't Search These Locations" add both http://127.0.0.1 and http://127.0.0.1:4664 to avoid duplicate results in your search.
If you computer would server explicitly for search - remove its drives from the search locations.
4) It's a good idea to encrypt indexes anyway.



Two final remarks:
1) I can't bet this solution is hack-proofed, if you are concerned about security.
2) I wonder, whether it would continue to be available, since Google would probably prefer people buying their Google-mini/enterprise solution instead...