Joe Rosato via plug on 28 Aug 2020 11:00:13 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] bookmarks


Quick aside. I have always been surprised that the big companies that have all your data can't AI some type of intelligent organization. They can AI pictures of a cat, but yet can't AI documents that are resumes and then organize things.

On Fri, Aug 28, 2020, 1:37 PM brent timothy saner via plug <plug@lists.phillylinux.org> wrote:
On 8/28/20 12:39, jeff via plug wrote:
> On 8/27/20 1:07 PM, Rich Kulawiec via plug wrote:
>>     <li> security, iot <a href="" href="http://example.com" rel="noreferrer noreferrer" target="_blank">http://example.com">Description</a>
>>
>> Then I add each entry -- or more likely, group of entries -- to a set
>> of files that have appropriate names like "climate.html" or
>> "security.html".
>> Revision history on those files is kept via RCS, because it's (still)
>> perfectly fine for a use case like this.  The set of files are
>> periodically
>> rsync'd to the relevant systems.
>>
>
> Thorough.
> But I'd expect nothing less from you, Rich :)
>
>
> So the need exists for a program to somehow sync bookmarks on 'all'
> browsers. This would be my first choice.

Consolidating bookmarks from at the *least* Firefox and Chrome shouldn't
be too hard. Chrome stores its bookmarks in a JSON file[0], and Firefox
stores them in a sqlite3 DB[1] (you'd have to map the moz_bookmarks
table's `fk` with the moz_places table's `id`), but there are rotating
daily backups in LZ4-compressed JSON format[2] that are a nightmare to
parse so I'm not even going to go into it. (NOTE: LZ4 is different from LZ.)

It's the things surrounding that could complicate things (though would
speedily be resolved with user input/action).

Both support profiles, so if more than one is found the user would need
to specify which profile.

They of course also don't track *exactly* the same information, so
*importing* them can be a bit tricky, but not impossible.

So yeah, anyone with any competence level in python or something and the
desire and time to do so could probably easily consolidate them.



[0] Default location (on most distros):
~/.config/google-chrome/<profile>/Bookmarks
(where <profile> is usually Default). Format is self-explanatory.

[1] Default location (on most distros):
~/.mozilla/firefox/<profile>/places.sqlite
(where <profile> is usually in the format of "<s>.default-<t>"
  where s = random mixed-case alphanumeric string and
  where t = UNIX epoch (in microseconds, so remember to divide by
            1000) of when the profile was created)
See: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Database

[2] Default location (on most distros):
<moz_profile>/bookmarkbackups/bookmarks-<Y>-<M>-<D>_<x>_<b>.jsonlz4
(where <moz_profile> is the profile from [1], and
  where Y = expanded year, and
  where M = zero-padded month, and
  where D = zero-padded day, and
  where x = # of entries(??), and
  where b = base64-encoded string of a random(?) 16-byte sequence)

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug