diff --git a/Readme.md b/Readme.md new file mode 100644 index 00000000..30a4daab --- /dev/null +++ b/Readme.md @@ -0,0 +1,52 @@ +# shadowcloud +shadowcloud is an enchanced cloud storage client. + +# Features +* Allows to use different storages as one "drive" (virtual region) +* Enables random file access, media streaming +* Removes limits on file size, file names, etc +* Full encryption by default +* Checksums +* Deduplication +* File and directory versioning +* Generates previews +* Extracts documents content and metadata +* Markdown notes +* Easy web pages archiving +* FUSE emulated file system (experimental, requires [fuse, osxfuse or winfsp](https://github.com/SerCeMan/jnr-fuse/blob/master/INSTALLATION.md)) +* In-mem cache +* Almost everything is customizable (see [reference.conf](https://github.com/Karasiq/shadowcloud/blob/master/core/src/main/resources/reference.conf)) + +# How to use +* Open http://localhost:1911/, switch to Regions tab +* Generate new key (copy and save output) +* Add your cloud storage + * Example Dropbox configuration: + ``` + credentials.login="test@firemail.cc" + type=dropbox + ``` + * Example Yandex.Disk configuration: + ``` + address.uri="https://webdav.yandex.com" + credentials { + login="johndoe" + password="123456" + } + type=webdav + ``` +* Create a region and attach storages to it +* Switch to Folders tab and upload your files + +# Synchronization +* Import previously generated key on the second device +* Create region with a same id and storages set + +# Plugins +Full list of currently supported algorithms (some requires libsodium): +``` +Storages: dropbox, files, gdrive, mailrucloud, memory, webdav +Encryption: AES/CBC, AES/CCM, AES/CFB, AES/CTR, AES/EAX, AES/GCM, AES/OCB, AES/OFB, Blowfish/CBC, Blowfish/CFB, Blowfish/CTR, Blowfish/OFB, CAST5/CBC, CAST5/CFB, CAST5/CTR, CAST5/OFB, CAST6/CBC, CAST6/CCM, CAST6/CFB, CAST6/CTR, CAST6/EAX, CAST6/GCM, CAST6/OCB, CAST6/OFB, Camellia/CBC, Camellia/CCM, Camellia/CFB, Camellia/CTR, Camellia/EAX, Camellia/GCM, Camellia/OCB, Camellia/OFB, ChaCha20, ChaCha20/Poly1305, DES/CBC, DES/CFB, DES/CTR, DES/OFB, DESede/CBC, DESede/CFB, DESede/CTR, DESede/OFB, ECIES, GOST28147/CBC, GOST28147/CFB, GOST28147/CTR, GOST28147/OFB, IDEA/CBC, IDEA/CFB, IDEA/CTR, IDEA/OFB, Noekeon/CBC, Noekeon/CCM, Noekeon/CFB, Noekeon/CTR, Noekeon/EAX, Noekeon/GCM, Noekeon/OCB, Noekeon/OFB, RC2/CBC, RC2/CFB, RC2/CTR, RC2/OFB, RC6/CBC, RC6/CCM, RC6/CFB, RC6/CTR, RC6/EAX, RC6/GCM, RC6/OCB, RC6/OFB, RSA, Rijndael/CBC, Rijndael/CCM, Rijndael/CFB, Rijndael/CTR, Rijndael/EAX, Rijndael/GCM, Rijndael/OCB, Rijndael/OFB, SEED/CBC, SEED/CCM, SEED/CFB, SEED/CTR, SEED/EAX, SEED/GCM, SEED/OCB, SEED/OFB, Salsa20, Serpent/CBC, Serpent/CCM, Serpent/CFB, Serpent/CTR, Serpent/EAX, Serpent/GCM, Serpent/OCB, Serpent/OFB, Shacal2/CBC, Shacal2/CFB, Shacal2/CTR, Shacal2/OFB, Skipjack/CBC, Skipjack/CFB, Skipjack/CTR, Skipjack/OFB, TEA/CBC, TEA/CFB, TEA/CTR, TEA/OFB, Threefish/CBC, Threefish/CFB, Threefish/CTR, Threefish/OFB, Twofish/CBC, Twofish/CCM, Twofish/CFB, Twofish/CTR, Twofish/EAX, Twofish/GCM, Twofish/OCB, Twofish/OFB, X25519+XSalsa20/Poly1305, XSalsa20, XSalsa20/Poly1305, XTEA/CBC, XTEA/CFB, XTEA/CTR, XTEA/OFB +Signatures: ECDSA, Ed25519, RSA +Hashing: Blake2b, GOST3411, Keccak, MD2, MD4, MD5, RIPEMD128, RIPEMD160, RIPEMD256, RIPEMD320, SHA1, SHA224, SHA256, SHA3, SHA384, SHA512, SM3, Skein, Tiger, Whirlpool +``` \ No newline at end of file diff --git a/build-package.bat b/build-package.bat new file mode 100644 index 00000000..b96e3f55 --- /dev/null +++ b/build-package.bat @@ -0,0 +1,4 @@ +@echo off +SET "VERSION=1.0.0" + +SET "SBT_OPTS=-Xmx8G -Denable-tika=0 -Denable-javacv=0" && sbt desktopApp/universal:packageBin desktopApp/jdkPackager:packageBin && move /y "%~dp0desktop-app\target\universal\shadowcloud-desktop-%VERSION%.zip" "%~dp0desktop-app\target\universal\shadowcloud-%VERSION%-light.zip" && move /y "%~dp0desktop-app\target\universal\jdkpackager\bundles\shadowcloud-%VERSION%.exe" "%~dp0desktop-app\target\universal\jdkpackager\bundles\shadowcloud-%VERSION%-light.exe" && SET "SBT_OPTS=-Xmx8G -Denable-tika=1 -Denable-javacv=1" && sbt desktopApp/universal:packageBin desktopApp/jdkPackager:packageBin && move /y "%~dp0desktop-app\target\universal\shadowcloud-desktop-%VERSION%.zip" "%~dp0desktop-app\target\universal\shadowcloud-%VERSION%-full.zip" && move /y "%~dp0desktop-app\target\universal\jdkpackager\bundles\shadowcloud-%VERSION%.exe" "%~dp0desktop-app\target\universal\jdkpackager\bundles\shadowcloud-%VERSION%-full.exe" \ No newline at end of file diff --git a/build.sbt b/build.sbt index 34406f52..eb26b801 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,6 @@ val commonSettings = Seq( organization := "com.github.karasiq", - version := "1.0.0-SNAPSHOT", + version := "1.0.0", isSnapshot := version.value.endsWith("SNAPSHOT"), scalaVersion := "2.12.4", // crossScalaVersions := Seq("2.11.11", "2.12.4"),