![]() |
VOOZH | about |
dotnet add package BorgQueen.CloudFS.Dokan --version 0.0.8
NuGet\Install-Package BorgQueen.CloudFS.Dokan -Version 0.0.8
<PackageReference Include="BorgQueen.CloudFS.Dokan" Version="0.0.8" />
<PackageVersion Include="BorgQueen.CloudFS.Dokan" Version="0.0.8" />Directory.Packages.props
<PackageReference Include="BorgQueen.CloudFS.Dokan" />Project file
paket add BorgQueen.CloudFS.Dokan --version 0.0.8
#r "nuget: BorgQueen.CloudFS.Dokan, 0.0.8"
#:package BorgQueen.CloudFS.Dokan@0.0.8
#addin nuget:?package=BorgQueen.CloudFS.Dokan&version=0.0.8Install as a Cake Addin
#tool nuget:?package=BorgQueen.CloudFS.Dokan&version=0.0.8Install as a Cake Tool
DokanCloudFS is a virtual filesystem for various publicly accessible cloud storage services on the Microsoft Windows platform. It is used by https://borg.games to run Windows games in the peer-to-peer cloud.
👁 License
👁 NuGet Package
👁 Release
DokanCloudFS implements a virtual filesystem that allows direct mounting of various publicly accessible cloud storage services on the Microsoft Windows platform.
Mounted cloud storage drives appear as ordinary removable drives in Windows Explorer (albeit very slow ones) and can be used just about like any local drive or file share.
All content written through DokanCloudFS is transparently AES-encrypted with a user-specified key before handing it off to the cloud storage backend.
Some limitations apply concerning transfer speed, maximum file size, permissions, and alternate streams depending on parameters of the cloud storage service used as a backend.
DokanCloudFS requires a gateway assembly for any cloud storage service to be used as a backend.
The expected gateway interface types and a set of prefabricated gateways are provided in a separate GitHub repository for the CloudFS project.<br />The associated NuGet packages CloudFS and CloudFS-Signed include preconfigured API keys for the included cloud storage services and are ready to use. Unless marked otherwise, CloudFS NuGet packages should be used in a version matching the DokanCloudFS version.
Secrets.cs files for the affected cloud services.IgorSoft.DokanCloudFS.Mounter 1.0.11
Usage: Mounter [options] [command]
Options:
-?|-h|--help Show help information
Commands:
mount
reset
Usage: Mounter mount [arguments] [options]
Arguments:
<userNames> If specified, mount the drives associated with the specified users; otherwise, mount all configured drives.
Options:
-p|--passPhrase The pass phrase used to encrypt persisted user credentials and access tokens
-?|-h|--help Show help information
Usage: Mounter reset [arguments] [options]
Arguments:
<userNames> If specified, purge the persisted settings of the drives associated with the specified users; otherwise, purge the persisted settings of all configured drives.
Options:
-?|-h|--help Show help information
<mount libPath="..\..\..\Library" threads="5">
<drives>
<drive schema="box" userName="BoxUser" root="P:" encryptionKey="MyBoxSecret&I" timeout="300" />
<drive schema="gcs" userName="GoogleCloudStorageUser" root="R:" encryptionKey="MyGoogleCloudStorageSecret&I" parameters="bucket=-- Insert bucket ID here --" timeout="300"
apiKey="-- Insert Google Cloud Storage Credentials here --" />
<drive schema="gdrive" userName="GDriveUser" root="S:" encryptionKey="MyGDriveSecret&I" timeout="300" />
<drive schema="hubic" userName="hubiCUser" root="T:" encryptionKey="MyhubiCSecret&I" parameters="container=default" timeout="300" />
<drive schema="mediafire" userName="MediaFireUser" root="U:" encryptionKey="MyMediaFireSecret&I" timeout="300" />
<drive schema="mega" userName="MegaUser" root="V:" encryptionKey="MyMegaSecret&I" timeout="300" />
<drive schema="onedrive" userName="OneDriveUser" root="W:" encryptionKey="MyOneDriveSecret&I" timeout="300" />
<drive schema="pcloud" userName="pCloudUser" root="X:" encryptionKey="MypCloudSecret&I" timeout="300" />
<drive schema="webdav" userName="webDavUser" root="Y:" parameters="baseAddress=https://webdav.magentacloud.de" encryptionKey="MyWebDavSecred&I" timeout="300" />
<drive schema="yandex" userName="YandexUser" root="Z:" encryptionKey="MyYandexSecret&I" timeout="300" />
</drives>
</mount>
Configuration options:
|.
parameters="root=X:\Encrypted")parameters="bucket=xczabc-12345-test-bucket")parameters="container=default")parameters="baseAddress=https://webdav.magentacloud.de")The Copy cloud storage service was retired after May 1<sup>st</sup> 2016 in response to this announcement.
Certain privacy-sensitive information will be stored on your local filesystem by DokanCloudFS, specifically:
DokanCloudFS does not store your authentication password for any cloud storage service (which would be impossible in the first place for all services employing the OAuth authentication scheme).<br/>It does, however, store user name and password for WebDAV accounts because there is no separate authorization token concept in WebDAV.
Due to the nature of the Dokan kernel-mode drivers involved, any severe errors inside DokanCloudFS can result in Windows Blue Screens.
Don't install this project on production environments.
You have been warned.
| Date | Version | Comments |
|---|---|---|
| 2023-09-21 | 0.0.2 | - Made CloudOperations public to enable custom mounters. |
| 2023-09-21 | 0.0.1 | - Retargeted to .NET Standard 2.0<br/> - Updated DokanNet to version 2.0.5.<br/>- Use BorgQueen.CloudFS.Interfaces package.<br/>- Removed built-in storage encryption.<br/>- Deferred API keys to the underlying gateway. |
| 2017-03-31 | 1.0.11-beta | - Updated DokanNet to version 1.1.0.<br/>- Updated CloudFS to version 1.0.10-beta.<br/>- Fixed NuGet references. |
| 2016-10-05 | 1.0.10.1-beta | - Updated CloudFS to version 1.0.10-beta.<br/>- Fixed NuGet package references. |
| 2016-10-02 | 1.0.10-beta | - Updated DokanNet to version 1.1.0.<br/>- Updated CloudFS to version 1.0.10-beta.<br/>- Fixed NuGet references. |
| 2016-08-31 | 1.0.9.1-alpha | - Fixed NuGet package references. |
| 2016-08-29 | 1.0.9-alpha | - Added reset command to Mounter.<br/>- Updated CloudFS to version 1.0.9-alpha<br/>- Fixed CloudFS NuGet reference. |
| 2016-08-26 | 1.0.8-alpha | - Updated CloudFS to version 1.0.8-alpha<br/>- Support encryption of account credentials and access tokens in persistent settings.<br/>- Activated static code analysis via Coverity Scan. |
| 2016-08-08 | 1.0.7-alpha | - Updated DokanNet to version 1.0.0-RC4<br/>- Successful authentication is required before mounting a cloud drive<br/>- Determine effective file size of encrypted files asynchronously to avoid timeouts when opening large directories in Windows Explorer |
| 2016-06-16 | 1.0.6-alpha | - Added separate build configurations for use with locally built CloudFS gateways or unsigned/signed CloudFS NuGet packages |
| 2016-05-19 | 1.0.5-alpha | - Updated DokanNet to version 1.0.0-RC3<br/>- Retired Copy gateway<br/>- Allow readonly-access to unencrypted files on otherwise encrypted cloud storage volumes<br/>- Support file creation for gateways that don't allow modification of existing files (e.g. Mega)<br/>- Fixed error in size calculation when retrieving encrypted files from cloud storage<br/>- Improved online file editing capability<br/>- Various bugfixes |
| 2016-04-18 | 1.0.4-alpha | - Updated DokanNet to version 1.0.0-RC2<br/>- Updated SharpAESCrypt to version 1.3.1<br/>- Fixed behavior for parallel mounting of several cloud drives.<br/>- New gateway sample configuration added for hubiC/Swift.<br/>- Various bugfixes |
| 2016-02-04 | 1.0.3-alpha | - Upgraded .NET framework version to 4.6.1<br/>- New gateway sample configurations added for MediaFire and Yandex Disk<br/>- Unit test coverage improved<br/>- Several bugfixes |
| 2016-01-24 | 1.0.2-alpha | - Gateway configuration extended to accept custom parameters. This change breaks compatibility with earlier API versions.<br/>- File Gateway configuration added in App.config |
| 2016-01-20 | 1.0.1-alpha | - NuGet dependencies updated, tests for CloudOperations made offline executable, code coverage analysis via codecov configured |
| 2016-01-10 | 1.0.0-alpha | - Initial release |
| 2015-12-30 | 1.0.0.0 | - Initial commit<br/>This version has not been extensively tested apart from the OneDrive gateway - expect bugs. |
DokanCloudFS would not have been possible without the expertise and great effort devoted by their respective creators to the following projects:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 was computed. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
0.0.8 - use cancellation tokens for async gateways
0.0.7.1 - fixed crash in CreateFile(Create) when file already exists but its name is different in case
0.0.7 - allow extending a few missing features: opening files with extra access modes, file security and attribute manipulation
0.0.6.1 - embedded symbols
0.0.6 - CloudDriveParameters.ThreadSafeGateway option