Where Is SkyNote Data Stored?


Recommended Posts

As noted in another thread, I recently reactivated MX Cloud Sync on a profile where I hadn't used it in a long time and had to sort out some mismerged data in my Favorites and saved URL Aliases.  In addition, I lost all the text in one of the notes in my SkyNote, and I'm looking for a way to get it back.
 
I thought I'd be able to find the text of that note by backing up my Maxthon appdata folder, restoring it from a backup about a week old, and opening Maxthon — but that results in Maxthon synchronizing SkyNote before I can get in there to look at (and copy) the text.  By the time I get SkyNote open, the note I'm trying to retrieve has been synched up to its current (empty) state. :wksmiles583:
 
My next thought was to disconnect a computer from the internet, temporarily restore the appdata folder from a backup, and launch Maxthon (in order to prevent SkyNote synching before I could get to that note) — but that fails because Maxthon is unable to log in to the account without an internet connection.  :mad:
 
I was beginning to wonder whether SkyNote saves any data locally, but then I tried reconnecting to the internet, logging into my profile, checking the Auto-login option, and restarting the browser — then disabling the internet connection, shutting down Maxthon, restoring the appdata folder, and restarting Maxthon.  From there, I was able to export the data I needed from the old SkyNote to a text file — and confirm that SkyNote does indeed save some data locally (which is nice to know in case there's an emergency).   :zen:
 
But that leaves me with this question:  Where is that SkyNote data stored?  My best guess is in the encrypted %profile%/Config/SyncConfig.dat file.  Could I have just restored that file instead of the whole folder?
 
It might also be nice to have the ability to import SkyNote data as long as it's encrypted with the same hash — for situations where you might need to restore from a local backup.
Link to comment
Share on other sites

It's in \UserData\Users\[PROFILE]\AppData\{33CA60D6-EADC-4558-9185-2EBE14214AB9}

 

Notes are kept in the "\res" folder of that path.

 

From what i've been able to deduce, each note is saved in it's own file and it uses some database to manage where things go. It is encrypted as you noted, but so long as you're using the same profile I believe you can copy/paste. If not then you can't access it.

 

 

I was beginning to wonder whether SkyNote saves any data locally, 

 

Any cloud based sync system would have to save data locally. Unless a program keeps all cloud data in memory for some reason, it doesn't make sense not to keep a local copy of a file.

 

What you have discovered is the very reason why i'm not a fan of using a cloud account... yet. At least when everything breaks on a local only system, I know I can just import my backup and restart. In my testing with sync you can't import anything locally as it seems it always updates from the cloud.

Link to comment
Share on other sites

It's in \UserData\Users\[PROFILE]\AppData\{33CA60D6-EADC-4558-9185-2EBE14214AB9}

 

Notes are kept in the "\res" folder of that path.

 

From what i've been able to deduce, each note is saved in it's own file and it uses some database to manage where things go. It is encrypted as you noted, but so long as you're using the same profile I believe you can copy/paste. If not then you can't access it.

 

 

 

Any cloud based sync system would have to save data locally. Unless a program keeps all cloud data in memory for some reason, it doesn't make sense not to keep a local copy of a file.

 

What you have discovered is the very reason why i'm not a fan of using a cloud account... yet. At least when everything breaks on a local only system, I know I can just import my backup and restart. In my testing with sync you can't import anything locally as it seems it always updates from the cloud.

@7twenty:  Does cloud sync OVERWRITE any local data; or does it merge the local data and the cloud data?

 

In Secret-HQ's other thread it seemed that a merge is what happens even when that happens not to be what was desired. His other thread dealt with Favorites and SmartURLs.

 

I'd like to get a clear idea of the sync process for future reference.

Link to comment
Share on other sites

I'm not 100% sure, but I think it's an overwrite based on what others have said in the past and the small amount of testing of done.

 

In the testing i've done, if you replace files locally (eg. backup favs) you will always get the cloud version. The only way you can change something locally is within the browser.

 

Still can't get my head around how it figures out what is current.

Link to comment
Share on other sites

It's in \UserData\Users\[PROFILE]\AppData\{33CA60D6-EADC-4558-9185-2EBE14214AB9}

 

Notes are kept in the "\res" folder of that path.

 

Thanks for the answer!   :top:  Knowing that, I might be able to dig out other backups and maybe even find one more recent than the one I wound up restoring from (which was about a month old; I'd accidentally overwritten all the most recent local backups before I realized there was an issue).

 

 

 

7twenty, on 30 Aug 2015 - 10:41 AM, said:

 

Any cloud based sync system would have to save data locally. Unless a program keeps all cloud data in memory for some reason, it doesn't make sense not to keep a local copy of a file.

 

That's what I would think, too — but after a little poking, I was starting to wonder whether there were only temp files in the local directory that got trashed as soon as Maxthon closed.  (After all, SkyNote is the only service where MX Cloud Sync can't be disabled.)

 

7twenty, on 30 Aug 2015 - 10:41 AM, said:

What you have discovered is the very reason why i'm not a fan of using a cloud account... yet. At least when everything breaks on a local only system, I know I can just import my backup and restart. In my testing with sync you can't import anything locally as it seems it always updates from the cloud.

 

In Secret-HQ's other thread it seemed that a merge is what happens even when that happens not to be what was desired. His other thread dealt with Favorites and SmartURLs.

 

I'd like to get a clear idea of the sync process for future reference.

 

I'm not 100% sure, but I think it's an overwrite based on what others have said in the past and the small amount of testing of done.

 

In the testing i've done, if you replace files locally (eg. backup favs) you will always get the cloud version. The only way you can change something locally is within the browser.

 

Still can't get my head around how it figures out what is current.

 

I could be mistaken, but my brief tinkering over the last couple of days has led me to believe that clearing all the data in Favorites and URL Aliases from within Maxthon results in deleted MX Cloud Sync files — or, maybe, versions of those files where the timestamp WON'T trigger an override of local data.  I was able to restore from my old local files by "zeroing out" the Favorites and URL aliases, letting those sync with the Maxthon Cloud, then restoring from old backup files.  The old backup files then synced to the Maxthon Cloud and to my other devices.

I wasn't deliberately testing this function, though, so it might be worth someone's time to set up a proper (more thorough) test to verify whether that's really what happened in my case.

 

Or a dev can pop in and tell us.  :titter:  I wouldn't want the devs to reveal anything that might make it easier for bad guys to attack Maxthon users, but I too would like to know a little more about data synchronization and how to secure and manage my own local data.  (In case anyone's curious, I recently created a new Maxthon profile for common work-related tasks and deleted some data that doesn't belong exclusively to me — which is why I decided to re-enable synchronization in my personal Maxthon account.)

Link to comment
Share on other sites

MODS: If you want to move some of this over to the Favorites/URL Aliases thread, that can be found here.

 

It always uses the newest file found, in my case v18 as assigned on  Maxthon Online Favorites. ... In the image you can see how to lock an older version as default.

 

When I restored a local backup and re-enabled Favorites synchronization after months (two years?) of it being disabled, my local Favorites remained — and the old folders and Favorites from the online file (at fav.maxthon.com) began appearing at the bottom of my Favorites list.  Bookmarks that hadn't changed in the last couple of years didn't get added, but those that were different from the local ones got added to the bottom of the list.

For example, if my local Favorites looked like this:

 

Favorites Folder 1

Favorites Folder 2

Favorites Folder 3

Favorite i

Favorite ii

Favorite iii

Favorite iv

 

... and my Maxhon Cloud Favorites looked like this:

 

Favorites Folder 1

Favorites Folder B

Favorites Folder C

Favorite i

Favorite b

Favorite c

 

... then my post-restore, post-sync Favorites looked like this:

 

Favorites Folder 1

Favorites Folder 2

Favorites Folder 3

Favorite i

Favorite ii

Favorite iii

Favorites Folder B

Favorites Folder C

Favorite b

Favorite c

 

(For the sake of the example, imagine I'd renamed 1, 2, 3 and i, ii, iii to A, B, C and a, b, c.)

 

I didn't pay as close attention to the URL Aliases, as they were more of a jumble (and harder to spot a pattern, as they're unalphabetized).

 

It always uses the newest file found, in my case v18 as assigned on  Maxthon Online Favorites. I imagine if you find some way to rename a local file to the newest file it would use that.

 

Those were the lines I was thinking along.  With the Favorites.dat file, I tried opening it with a hex editor, changing a single bit, and saving it — then undoing that change and saving again.  In theory, that left me with an identical encrypted file that had a new timestamp and should have overwritten the Favorites.dat file from the Maxthon Cloud.

 

Way back in the days when personal-data files weren't encrypted, the Favorites.xml file had modified timestamps for each individual favorite and folder in file.  That would enable Maxthon to compare the lists from two different files and merge/overwrite individual entries (instead of the whole file) easily enough, just comparing the name, URL, and timestamp parameters of each line item.

 

That was in the days before URL Aliases, but maybe they have a similar timestamp stored with them.  (As I said, though, I paid less attention to their oddities than to the Favorites when I ran into my little snag the other day.)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.