TL;DR: how to setup hunch.ly within Chromium browser along with various quirks.
Hunchly by Justin Seitz is one of the recommended tools when it comes to OSINT related work. However I was attracted to hunchly for its capabilities specially saving all browsed pages in a session. So long story short after a bunch of email exchanges with Justin it was clear that this investment will be fruitful. end result I bought hunchly. If you are a someone interested in OSINT I would definitely recommend using hunch.ly
I am also a big fan of not sharing my data with google and hence I prefer using Chromium builds for most of my work. I am also a big fan of –app and –user-data-dir option in chromium which form the basis of my Chromifier for Nix script With these two in hand I started with the setup. Created a new user data directory for hunch.ly let’s say we name it
/Work/hunch.ly and used Chromifier script to build the MacOSX application.
This is where things took an ugly turn and we (Justin and I spend nearly 24 hours on trying to debug the issues).
After installing Hunchly via dmz and configuring a separate chromium profile, when I launched chromium it didn’t picked hunchly automatically as I was expecting. This is where an email chain was started between me and Justin which after a couple of exchanges resulted in following conclusion.
- Chrome is working as expected.
- Chromium on windows was working as expected (not tested by me).
- Chrome profiles were working as expected.
- Chromium default on mac was not working.
At this point Justin suggested following actions which should get the stuff sorted for chromium.
cd ~/Library/Application Support/Chromium cp -r ~/Library/Application\ Support/Google/Chrome/External\ Extensions . cp -r ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts .
This new change resulted in following conclusions
- Chromium default started to work.
This solved the issue for him on Chromium, however due to my setup this was also not working as I expected. So I followed the steps and ended up with a chromium session which was although not loading hunchly automatically but was still allowing it to be installed as an extension. However the extension then got stuck at “Hunchly is initializing…please wait.” message
I was desperate to get the setup going and was inclined to making Chrome profile as option although was not happy with it. Another thing bugging me was the fact that the profile load on chrome depends on what’s last loaded and not what I want to load. This lead me to the discovering the
--profile-directory option which takes the profile name which is to be loaded. Point to remember profile name is not the display name but rather the profile folder name on disk. use
chrome:\\version to identify the folder name.
So I got my setup going somewhat but was not happy with it, but it was late night and I decided to take rest. And just like it is said a good night sleep or atleast some sleep helps in refreshing the brain and you might find the answer which was staring right at your face. I woke up with an idea that may be chromium is not loading its data from default location
~/Library/Application Support/Chromium when using
--user-data-dir and instead assuming the content to be loaded via the specified location entirely. Hence I went back to the old emails and identified the commands and ran these modified commands. (/Work/hunch.ly was my user-data-dir argument value)
cd /Work/hunch.ly/ cp -r ~/Library/Application\ Support/Google/Chrome/External\ Extensions . cp -r ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts .
After these commands and exiting the entire chromium session, restarting chromium resulted in auto loading of hunchly and then it was a seamless work on that specific profile. So In short following was identified.
- Hunchly setup should by default put files in
~/Library/Application Support/Chromiumfolder if it detects chromium build or may be ask user to specify which browser to be configured.
- Chromium / Chrome –user-data-dir assumes everything would be available within the data dir and hence default locations are completely ignored. So if you use this option remember to pull the data from default locations.
After getting this issue sorted I informed Justin about the same and then decided to write about it as per the discussion. Once again thanks Justin for building this awesome plugin and also for being a very supportive author.