No description
  • TypeScript 59.7%
  • Rust 35.7%
  • CSS 3.2%
  • HTML 0.9%
  • Makefile 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2024-05-07 17:01:47 +01:00
.github Fix linux build name 2024-04-08 18:50:45 +01:00
.vscode Initial commit. 2024-04-08 17:45:51 +01:00
public Initial commit. 2024-04-08 17:45:51 +01:00
src Fix tsc errors, add to make test 2024-04-09 14:37:43 +01:00
src-tauri Fix cross-platform build 2024-05-07 17:01:47 +01:00
.gitignore Initial commit. 2024-04-08 17:45:51 +01:00
.nvmrc Initial commit. 2024-04-08 17:45:51 +01:00
app-icon.png Initial commit. 2024-04-08 17:45:51 +01:00
biome.json Initial commit. 2024-04-08 17:45:51 +01:00
index.html Initial commit. 2024-04-08 17:45:51 +01:00
LICENSE Initial commit. 2024-04-08 17:45:51 +01:00
Makefile Build tauri app binary as well when building the bundle 2024-04-08 17:54:05 +01:00
package-lock.json Initial commit. 2024-04-08 17:45:51 +01:00
package.json Hide dock icon on macOS 2024-05-01 08:33:04 +01:00
README.md Switch from sync every minute to every 5 minutes. 2024-04-12 11:50:04 +01:00
tailwind.config.ts Initial commit. 2024-04-08 17:45:51 +01:00
tsconfig.json Initial commit. 2024-04-08 17:45:51 +01:00
tsconfig.node.json Initial commit. 2024-04-08 17:45:51 +01:00
vite.config.ts Initial commit. 2024-04-08 17:45:51 +01:00

bewCloud Desktop Sync

This is the Desktop Sync client for bewCloud. It is built with Tauri and relies on rclone, which relies on rsync.

Usernames, passwords, and sync is all handled by rclone. The connection to a bewCloud instance happens via HTTP and a remote via WebDav is created in rclone.

The app runs rclone bisync every five minutes, or when it's forced to do so.

If you're looking for the mobile app, it's at bewcloud-mobile.

Install

You need to have rclone installed in your computer, as the app makes a shell call to that command. If you already have configured remotes they won't show up (unless you manually edit the <AppDataDir>/config.json), but bewCloud will not affect them (new ones will be created and also shown by the app).

Note

If you use a password to encrypt the rclone config file, you need to have set RCLONE_CONFIG_PASS for your user, "globally".

Then, download the appropriate binary from the releases page for your OS and run it!

Alternatively, you can build from source!

Development

You need to have Tauri's dependencies installed.

Also, run rustup component add rustfmt so make format can also format the rust code.

$ make install # installs module dependendies
$ make start # runs the app
$ make format # formats the code
$ make test # runs tests

Build from source

Don't forget to check the development section above first!

Note

If you're releasing a new version, update it in src-tauri/tauri.conf.json, src-tauri/Cargo.toml, and package.json first.

$ make build # builds the app binaries!

TODOs:

  • Build binaries for Arch and RPM too (https://github.com/0-don/clippy/blob/master/.github/workflows/release.yml)
  • Create release with signed builds on tag push
  • Actually check and delete local directory's remote directories when they're removed
  • Actually delete local directory when a remote is removed (code is commented)
  • Implement directory watching (kind of complicated right now as notify or hotwatch get their watchers destroyed after Tauri's setup)