megatron33 downloadsKeep your vault in a two-way sync with a MEGA folder through MEGAcmd, MEGA's official command-line tool: sign in, create, pause or remove the sync, and follow its status and logs. Requires MEGAcmd.
Keeps your Obsidian vault in a two-way sync with a folder on MEGA, run by MEGA's own command-line tool, MEGAcmd.
The sync itself is done by MEGAcmd, MEGA's official command-line program, with the same sync engine as MEGA's desktop app. MEGA-Route sets the sync up from Obsidian, checks it before it starts, writes your exclusions as MEGA rules, and shows how the sync is doing in the status bar, the ribbon and a live log in its settings. It never copies, uploads or deletes a file itself.
Not affiliated. MEGA-Route is not made, endorsed or supported by MEGA (Mega Limited) or by Obsidian. MEGA, MEGAcmd and MEGAsync are MEGA's names for their products.
What MEGA-Route runs, sends and stores, as Obsidian's Developer policies ask, is set out item by item in docs/disclosures.md. In short:
child_process: it runs only MEGAcmd's own client, which you install (MegaClient.exe on Windows,
mega-exec on macOS and Linux), and the system's process list (tasklist, ps) to see whether MEGAcmd runs; never
a shell, always an argument array with shell: false.fs: only where Obsidian's vault API cannot do the job: reading MEGAcmd's log and checking its program
(both outside the vault), writing .megaignore in place (MEGA marks it hidden, and the vault API's write cannot
replace a hidden file on Windows), and listing the vault's folders to find links in it (junctions and symbolic
links), which the vault API follows and cannot tell apart. Everything else in the vault goes through Obsidian's API./<vault name> by default). Before anything is
created it checks that MEGAcmd runs and is signed in, that the MEGA folder exists and what it holds, that no other sync
covers the vault or the folder, and whether MEGA's desktop app is running; then it shows what will happen and waits
for you to confirm..megaignore at the top of the vault,
with fixed rules that always keep out Obsidian's window layout, .trash and the plugin's own folder.MEGA-Route is not in Obsidian's list of community plugins. Install it by hand:
%LOCALAPPDATA%\MEGAcmd).<vault>/.obsidian/plugins/mega-route/ and copy main.js, manifest.json and styles.css from this
repository (or a release) into it.Coming from version 2.x? Read Moving from version 2 first.
MEGA: scanning, then MEGA: syncing 3% rising to MEGA: synced.| Page | What it covers |
|---|---|
| Disclosures and compliance | MEGAcmd as a separate program, network use, files outside the vault, accounts, telemetry, each of Obsidian's rules |
| Setting up MEGAcmd | Installing MEGAcmd, its server, signing in, where the plugin looks for it |
| The sync | Creating, pausing, resuming and removing the sync; what two-way means; exclusions and .megaignore |
| Settings | Every setting, which are kept per device, and the log pane |
| Status and logs | The status bar, the ribbon menu, the states and what they mean, the logs and where they are |
| Troubleshooting | One engine per folder, MEGA's desktop app, sync issues, common messages |
| Moving from version 2 | What changed, what was carried over, where 2.x's files are, clearing the old sign-in data |
| Building and testing | Building main.js, the tests and the fake MEGAcmd, the code's layout |
| Licence | The plugin's licence, and MEGAcmd's |
MEGA-Route started as a set of changes to MEGA Sync by ledokter (versions 2.x, kept apart from this repository). Version 3 is a new implementation, written from scratch: the sync is MEGAcmd's, and no code of MEGA Sync or of 2.x is in it. Thanks to ledokter for the plugin this one started from.
How it differs from MEGA Sync (in Obsidian's community plugins): MEGA Sync, as of its version 2.4.0, syncs with its
own engine inside Obsidian, signing in itself and keeping your credentials in its settings. MEGA-Route has no sync
engine: MEGA's own client, MEGAcmd, does the syncing, continuously and outside Obsidian, with MEGA's sync engine and
.megaignore rules; the plugin sets it up, checks it before it starts, and shows its state and logs. It stores no MEGA
credentials.
MIT (LICENSE). MEGAcmd is MEGA's and has its own licence; it is not part of this plugin. Details: Licence.