7

I'm looking for a way to synchronize bookmarks between Chrome instances, without uploading them to anybody's servers.

It must work even if bookmarks are modified while disconnected from the network. I expect to run a command to request the synchronization. I don't want to have to dig into menus, everything should be packed in a shell command.

The tool should handle common cases transparently: bookmark added or removed, bookmark link or text changed. Ideally, there should be some form of interactive conflict resolution if there have been conflicting edits (e.g. same bookmark modified in different ways) but I can probably live with something substandard here.

I want to keep editing bookmarks inside Chrome, so maintaining a text file under distributed version control and importing that after every change won't do. Putting the bookmark database under version control won't allow any kind of merges so it won't do either. A two-way conversion with a text file which I'd put under DVC could work.

The Chrome instances are on multiple machines which communicate via the local filesystem (VM with shared directories) or over SSH. I have Chrome instanced running on both Linux and Windows. If a server component is required, I'll run in on Linux.

Synchronization with Firefox would be a plus but is not required.

Wikipedia's comparison of browser synchronizers is a bit messy and as far as I can see none of the software listed there fits the bill.

  • 2
    The easiest solution would be to sync the bookmark files between your machine. I would suggest a rsync type command as a first approach (able to push or pull, so always run on Linux) but all bookmarks are stored in a single file per profile, so conflict resolution might be messy. Maybe we can find something a bit more intelligent/interactive for merging. That still leaves Firefox out (since I assume the storing format is not the same). I suppose most synchronizers are based on the browser API and as a consequence may not be able to run independently and will probably go over the web. – Chop Aug 21 '15 at 11:15
  • 1
    When you say disconnected from "the network", do you mean "The Internet", or even a LAN? – YetAnotherRandomUser Sep 3 '15 at 20:38
  • 2
    @allanonmage When I want to synchronize, I do have a LAN connection between the two machines. When I'm editing bookmarks, I might not have any network connection, so a system that works solely by synchonizing bookmarks when they're modified won't do. – Gilles 'SO- stop being evil' Sep 3 '15 at 20:40
  • I must ask, what is your fear regarding using something like Xmarks? Aside from that, you could use a Script to download all bookmarks files periodically onto one machine, merge them (all files into one, new file), search for duplicates, then re-upload to all other machines (writing over the old file). – Michelfrancis Bustillos May 1 '16 at 6:17
  • @MichelfrancisBustillos I don't know Xmarks. Why do you think I fear it? At a guess, does it require uploading bookmarks to their servers? I don't want that. The contents of some of my bookmarks are confidential. – Gilles 'SO- stop being evil' May 1 '16 at 23:03
2

I came across this software, Linkman, that is local only, and has several features that you're looking for. Alas, it's missing some features I'm looking for though.

I have not tried it out [yet], and I stumbled across your post looking to find a secure bookmark manager.

http://www.outertech.com/en/bookmark-manager

  • I removed the "I am looking for similar functionality, but I'm OK with storing encrypted blobs in the cloud." part, it would make a good but separate question if you want. Could you please detail what requirements Linkman fills and what requirements it does not? By the way, is it free or not, open source or not? Thanks! :-) – Nicolas Raoul Mar 27 '17 at 15:25
  • I used to regularly search for good bookmark software, then gave up & bout Linkman years ago, because it had no real competition. It is not expensive & upgrades are free for life. Check the features & if it looks good for your needs, do not hesitate to buy it. – Mawg Mar 28 '17 at 7:55
0

This is not a fully formed solution, just a start. It will create a merged, duplicate-less HTML bookmarks file (chromeMerge.html) in a shared folder, but I could not find a way to upload it to Chrome via Command Line/Batch.

Windows & Chrome Only:

On each machine, download and install python, download py-chrome-bookmarks and save it and the following Batch file to a local folder. Set it to run periodically on each machine (preferably staggered):

SET sharedFolder = **Insert path to folder shared between all computers here.**
python py-chrome-bookmarks.py C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User_Data\Default %sharedFolder%\%COMPUTERNAME%.html
type %sharedFolder%\%COMPUTERNAME%.html >> %sharedFolder%\chromeMerge.html
del %sharedFolder%\%COMPUTERNAME%.html
call :removeDupes
del %sharedFolder%\chromeMerge.html
rename %sharedFolder%\chromeMarks.html chromeMerge.html
del %sharedFolder%\chromeMarks.html


:removeDupes
setlocal enabledelayedexpansion
type nul>unique.txt
for /F "tokens=*" %%i in (%sharedFolder%\chromeMerge.html) do (
    find "%%i" unique.txt 1>nul
    if !errorlevel! NEQ 0 (
        echo %%i>>%sharedFolder%\chromeMarks.html
    )
)
exit /b

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.