I'm a big fan of Simplenote, the iOS app is great but the OSX app, not so much. I had been using nvAlt as a client as it supports all the features that the official client does plus it allows you to take a plain text copy locally which can be opened with an external editor (like atom). The issue I had with this approach was that if you made a change on your phone, you had to open and sync with nvAlt prior to editing the local text file which sometimes can catch you out and create conflicts.
I wanted to create my own solution where I could manually (and schedule with cron) a sync of my local text files and Simplenote. I've been running this for a few weeks now, most of the bugs are squashed, so here we have it snsync !
Installation
At the moment there is no packaging, so either download the latest release or use git:
$git clone https://github.com/linickx/snsync.git
Once unpacked, you'll need a configuration file. By default, you need ~/.snsync
but the command line options do allow to select another file, the minimal info needed is a username and password:
[snsync]
cfg_sn_username = [email protected]
cfg_sn_password = secret
IMPORTANT! Protect your .snsync
file with the correct permissions and disk encryption.
Usage
Usage is simple... The following options are available:
$./snsync -h
Usage: snsync [OPTIONS]
OPTIONS:
-h, --help Help!
-d, --dry-run Dry Run Mode (no changes made/saved)
-s, --silent Silent Mode (no std output)
-c, --config= Config file to read (default: ~/.snsync)
$
For example: just snsync
on it's own should work, but something like this can be used for cron: snsync -s --config=something.txt
I'm using this against my Simplenote store of about 1,000 notes, the first full sync will take a long time (mine -> approx 15mins) you will also find a high number of HTTP ERRORS
reported, just wait and re-run the script, missed notes will be downloaded.
NOTE The --silent
switch will run quicker, that's due to a delay needing to be added for proper console output.
No warranty is offered, use this at your own risk; I use this for my "production" notes but I always keep backups. The recommended approach is to manually download all your notes for a backup, then use the --dry-run
option to observe changes until you are happy.
Enjoy!
If you have any issues or questions, please raise them on github, pull requests are welcome, I've already opened a few issues to show the next features/things I'd like to do.