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 !
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 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.
--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.
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.