Giter Site home page Giter Site logo

viciousviper / dokancloudfs Goto Github PK

View Code? Open in Web Editor NEW
311.0 311.0 53.0 18.01 MB

A virtual filesystem for various publicly accessible Cloud storage services on the Microsoft Windows platform.

License: MIT License

C# 99.66% Smalltalk 0.34%
c-sharp cloud-storage-services dokan-dotnet file-system

dokancloudfs's People

Contributors

viciousviper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dokancloudfs's Issues

Testing Authentication before mounting

DokanCloudFS request login (for onedrive at least) for each request when the credential are wrong.
It would be great that DokanCloudFS test the credential before mounting.

Compiling

Hello there having difficulty actually compiling I downloaded cloud fs ran its solution in visual studio express 2015 got an error about an exe then I copied everything from gateway tests in clouds to liberties in dokancloudfs and built the solution looked in dokancloudfs mounter directory and no gateway directory is in there.

What am I doing wrong?
Any help provided would be amazing since this program would be very useful.

Paste or drop file action [question]

I mounted Box gateway and I can perform multiple operations like Creating directories, renaming them,.. but can't manage to simply paste some file that already doesn't exist in my Box cloud.

Is this part of Dokan and somehow doesn't work for my account, or for that purposes I need to use different approach (e.g. shell extensions?)?

No WriteFile event is happening, and "There is not enough space on box,..." message is popping.

Thanks

No gateway is registered for schema

Hello!

I can build this solution successfully (there are only warnings) but after that I have this errors all the time:

Unhandled Exception: System.Collections.Generic.KeyNotFoundException: No gateway is registered for schema 'box'
   at IgorSoft.DokanCloudFS.CloudDriveFactory.CreateCloudDrive(String schema, String userName, String root, CloudDriveParameters parameters) in C:\***\DokanCloudFS-master\DokanCloudFS\CloudDriveFactory.cs:line 43
   at DokanCloudFS.Mounter.Program.Main(String[] args) in C:\***\DokanCloudFS-master\DokanCloudFS.Mounter\Program.cs:line 60

Do I have to modify something? How can I make it works?

Thanks in advance.

Errors during file upload fail silently

Whenever a file upload to a Cloud backend fails, the error is not reported to the file system driver.
Instead, the Cloud backend now contains a partially completed unreadable (due to failing AES decryption) file.
Until this issue is fixed, it is recommended to verify all uploads via file hashes.

Openstack swift

Hello,

I would like to know if we can use DokanCloudFS for another OpenStack swift provider, Hubbic use swift so I wonder if it would be easy to implement by using it.

thanks.

Add Baidu Cloud Support

Thank you so much for making such an amazing program. I really love it! I searched the whole internet for something like this. Cloud you please add support for BaiduPan the biggest Chinese cloud? BaiduPan is my favourite cloud because 2068 GB is much more space than the 16 GB from GoogleDrive and this although this I'm from Switzerland

Why you should add BaiduPan:

  • 2TB FREE space!!!
  • Extremely fast for big data
  • Nice PC and Android client
  • Perfect for encrypted PC backups
  • Easy API (I already used it)

How to register:
https://techjourney.net/get-2tb-free-cloud-storage-space-on-baidu-yun-drive-baidu-pan-web-disk/
http://zc.qq.com/en/index.html
But personally I'm using a QQ Account instead of a Baidu Account due to mobile varication problems:
http://zc.qq.com/en/index.html

You might can use following projects:
https://github.com/houtianze/bypy
https://github.com/wrwcmaster/BaiduPanAPI
https://github.com/670232921/BaiduYunFileSystem/

Chinese Cloud history:
After the china government started to censors American clouds like google drive a cloud war started and everybody tried to offer more free space then the competitors until Qihoo 360 Yunpan offers 36 TB for free which was unbeatable! But after the Chinese cloud war ends and Baidu was the winner due to its functions the clouds still remain on sizes like 2 TB and this is amazing if you compare this size with western clouds. Note: For files under like 100-200 MB all Chinese clouds are extremely slow due to we need to bypass the Big Firewall of China
If BaiduPan isn't possible please add Tencent Weiyun. It's the second biggest Chinese cloud and offers also 2 TB: http://www.1mtb.com/how-to-get-10-tb-free-online-cloud-storage-from-tencent-weiyun/

Write operations seem to be hanging

I am seeing odd behavior and was wondering if anyone else was as well,

When testing my CloudFS plugin, that was based heavily on the FILE plugin write operations are hanging and never completing.

anytime the content.CopyTo(stream) is being called the program hangs.

It appears that for some reason the Dokan stream is never actually getting copied to the GatherStream because assigned blocks is always empty and so GetAvailableBytes is coming back as 0.

As a sanity check I also attached the original untouched FILE plugin and had similar results.

has anything changed that could be affecting this ?

Local Files Option

How do I enable the local files option (and not one of the cloud storage providers...)? Can it be used?

Support for Java.

Hi, is there currently support for Java ... or some bindings that support use of Java for your library ? For example jclouds is a multi-cloud java library that supports several cloud service providers. This could be a good feature if possible since there is a growing interest in using virtual file systems for cloud storage.

nuget packages fail

when install nuget packages in cloudfs everything works the build and everything succeeds but when copying gateways to dokan compile succeeds but still get client id errors

do the cloudfs gateways include keys or a way to authenticate? This is really getting on my nerves and I can't directly install cloudfs to dokancloudfs because it crashes how do I authenticate without downloading my own keys or any of that?

build error referencing wrong version

Hi,
Trying to build the solution I am getting the following error.
Doing some digging around I noticed the build is referencing the wrong version.
It's looking for clouldFS1.0.7 but nu-get has downloaded v1.0.8

I think the dependencies have to be updated to use v1.0.8

Error Command "xcopy /D /Y C:\Users\daish\Downloads\DokanCloudFS-master\DokanCloudFS-master\packages\CloudFS.1.0.7-alpha\lib\net46\Gateways\IgorSoft.CloudFS.Gateways.*.dll.config ." with error code 4 DokanCloudFS.Gateways

OneDrive Auth Error

When I try to run the mounter with onedrive, an authentication window pops up, but instead of asking for my credentials, I get the following error in the browser:
"Cloud not complete your request.
Your Microsoft account is experiencing some technical difficulties. Please try again later"

I tried clearing my browser cache and it didn't help.

Google Drive ArgumentException: Trying to set a IgorSoft.CloudFS.Interface.RootName

Hello, I have recently compiled the project following all steps after which I try to run the program but it gives me the following error, I would like to know what I can do to fix this issue.

C:\Temp\Projects\DokanCloudFS-1.0.10.1-beta\DokanCloudFS.Mounter\bin\Debug>IgorSoft.DokanCloudFS.Mounter.exe mount
ArgumentException: Trying to set a IgorSoft.CloudFS.Interface.RootName to Gdrive@GDriveUser|S: which is invalid

Webdav mount problem

I was able to mount and login to webdav, but cannot see files, and cannot perform upload says (please remove write protection).

Same credentials work with winscp

Mounting Google storage bucket or folder

Is it possible to mount Google Cloud Storage bucket or folder using DokanCloudFS ? The gdrive schema seems to connect to Google Drive which I understand is very different from Google Storage.

Make unencrypted files on the Cloud backend readonly-accessible

Any file on a Cloud backand volume that cannot be decrypted with the assigned AES key for the respective volume will be unreadable by DokanCloudFS.
For a transparent access to preexisting content on Cloud volumes, undecryptable files should be made accessible in readonly-mode.

Mounter runtime problem

Hello @viciousviper,
I'm able to build the project successfully, without problems (only with plenty of warnings).
However, when I try to execute the Mounter, I get the following error:

C:\Users\user\DokanCloudFS\DokanCloudFS.Mounter\bin\Release>IgorSoft.DokanCloudFS.Mounter.exe

Unhandled Exception: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.RuntimeAssembly.get_DefinedTypes()
   at System.Composition.Hosting.ContainerConfiguration.<WithAssemblies>b__0(Assembly a)
   at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
   at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor(IEnumerable`1 types, AttributedModelProvider attributeContext)
   at System.Composition.Hosting.ContainerConfiguration.CreateContainer()
   at IgorSoft.DokanCloudFS.CompositionInitializer.Initialize(String path, String searchPattern) in C:\Users\user\DokanCloudFS\DokanCloudFS\CompositionInitializer.cs:line 97
   at DokanCloudFS.Mounter.Program.Main(String[] args) in C:\Users\user\Documents\DokanCloudFS\DokanCloudFS.Mounter\Program.cs:line 51

I'm not customizing any configuration yet. Also, I successfully installed the Dokany driver 1.0.0-RC3.
The operating system is Windows 10. Let me know if you would like to additional info.

I've read that such reflection error might happen due to the lack of .dll's of something like that.
Am I missing something?

new content not syncing down from box

I'm having trouble syncing down newly created files in box down to my client.
I don't see them until I relogin in.

How does DokanCloud detect new files/folders uploaded to box? Couldn't find code that fetches new items.

IgorSoft.DokanCloudFS.Mounter crashes after execution

Hi,
I'm trying to run DokanCloudFS on a win7 64bit machine.
I followed the compilation instructions step by step.

when runnig the IgorSoft.DokanCloudFS.Mounter.exe it starts mounting the drive but then fails for some reason.

Command line output:
2016-01-17 11:05:28.6854|TRACE|DokanCloudFS.Mounter.Program|03 / Mounted(, {, False, False, False, False, 0, False, False}) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|06 / CreateFile(, {, False, True, False, False, 424, False, False}, [Synchronize], [None], [Open], [None], [0]) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|05 / CreateFile(, {, False, True, False, False, 424, False, False}, [Synchronize], [None], [Open], [None], [0]) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|07 / GetVolumeInformation(, {, False, False, False, False, 424, False, False}, out onedrive@OneDriveUser|Q:, out CaseSensitiveSearch, CasePreservedNames, UnicodeOnDisk, PersistentAcls, SupportsRemoteStorage, out DokanCloudFS) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|08 / GetVolumeInformation(, {, False, False, False, False, 424, False, False}, out onedrive@OneDriveUser|Q:, out CaseSensitiveSearch, CasePreservedNames, UnicodeOnDisk, PersistentAcls, SupportsRemoteStorage, out DokanCloudFS) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|09 / GetVolumeInformation(, {, False, False, False, False, 424, False, False}, out onedrive@OneDriveUser|Q:, out CaseSensitiveSearch, CasePreservedNames, UnicodeOnDisk, PersistentAcls, SupportsRemoteStorage, out DokanCloudFS) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|05 / GetVolumeInformation(, {, False, False, False, False, 424, False, False}, out onedrive@OneDriveUser|Q:, out CaseSensitiveSearch, CasePreservedNames, UnicodeOnDisk, PersistentAcls, SupportsRemoteStorage, out DokanCloudFS) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|06 / Cleanup(, {, False, True, False, False, 424, False, False}) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|07 / Cleanup(, {, False, True, False, False, 424, False, False}) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|08 / CloseFile(, {, False, True, False, False, 424, False, False}) -> Success
2016-01-17 11:05:31.7516|TRACE|DokanCloudFS.Mounter.Program|09 / CloseFile(, {, False, True, False, False, 424, False, False}) -> Success

Event viewer output:
Faulting application name: IgorSoft.DokanCloudFS.Mounter.exe, version: 1.0.0.0, time stamp: 0x569b565a
Faulting module name: KERNELBASE.dll, version: 6.1.7601.19110, time stamp: 0x568429dd
Exception code: 0xc0020001
Fault offset: 0x000000000000b16d
Faulting process id: 0x1a7c
Faulting application start time: 0x01d15106359b8a75
Faulting application path: C:\Users\John\Downloads\DokanCloudFS-master\DokanCloudFS.Mounter\bin\Debug\IgorSoft.DokanCloudFS.Mounter.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 79d44409-bcf9-11e5-b518-005056c00008

Build issue missing reference

Hi @viciousviper ,

I finally know on what you was working ๐Ÿ˜ƒ ! This seems to be amazing and a very nice job !

After building CloudFS without issue, I have some error with the build of DokanCloudFS:

1>------ Rebuild All started: Project: DokanCloudFS, Configuration: Debug Any CPU ------
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Composition.AttributedModel". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Composition.Hosting". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Composition.Runtime". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Composition.TypedParts". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\CloudDriveFactory.cs(27,14,27,25): error CS0234: The type or namespace name 'Composition' does not exist in the namespace 'System' (are you missing an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\CompositionInitializer.cs(27,14,27,25): error CS0234: The type or namespace name 'Composition' does not exist in the namespace 'System' (are you missing an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\CompositionInitializer.cs(28,14,28,25): error CS0234: The type or namespace name 'Composition' does not exist in the namespace 'System' (are you missing an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(27,14,27,25): error CS0234: The type or namespace name 'Composition' does not exist in the namespace 'System' (are you missing an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\CompositionInitializer.cs(41,25,41,47): error CS0246: The type or namespace name 'ContainerConfiguration' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\CompositionInitializer.cs(43,24,43,39): error CS0246: The type or namespace name 'CompositionHost' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\CompositionInitializer.cs(37,24,37,39): error CS0246: The type or namespace name 'CompositionHost' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(32,6,32,12): error CS0246: The type or namespace name 'Export' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(35,46,35,101): error CS0246: The type or namespace name 'ExportFactory<IAsyncCloudGateway, CloudGatewayMetadata>' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(37,46,37,96): error CS0246: The type or namespace name 'ExportFactory<ICloudGateway, CloudGatewayMetadata>' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(39,10,39,30): error CS0246: The type or namespace name 'ImportingConstructor' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(40,56,40,111): error CS0246: The type or namespace name 'ExportFactory<IAsyncCloudGateway, CloudGatewayMetadata>' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(40,153,40,203): error CS0246: The type or namespace name 'ExportFactory<ICloudGateway, CloudGatewayMetadata>' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(40,32,40,42): error CS0246: The type or namespace name 'ImportMany' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\GatewayManager.cs(40,129,40,139): error CS0246: The type or namespace name 'ImportMany' could not be found (are you missing a using directive or an assembly reference?)
1>C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\CloudDriveFactory.cs(38,10,38,16): error CS0246: The type or namespace name 'Import' could not be found (are you missing a using directive or an assembly reference?)
2>------ Rebuild All started: Project: DokanCloudFS.Tests, Configuration: Debug Any CPU ------
3>------ Rebuild All started: Project: DokanCloudFS.Mounter, Configuration: Debug Any CPU ------
3>CSC : error CS0006: Metadata file 'C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\bin\Debug\IgorSoft.DokanCloudFS.dll' could not be found
2>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.CSharp.CurrentVersion.targets(133,9): warning MSB3884: Could not find rule set file "..\..\CloudFileTools\include\TestAssemblies.ruleset".
2>CSC : error CS0006: Metadata file 'C:\Users\liryna\Desktop\DokanCloudFS\DokanCloudFS\bin\Debug\IgorSoft.DokanCloudFS.dll' could not be found
========== Rebuild All: 0 succeeded, 3 failed, 0 skipped ==========

It seems that the reference of System.Composition is wrong.

Otherwise I would be very glad to add your project into the dokany list ofc :) !
DokanOperations seems to be well implemented and well made as first seen.

Can this be used with directory mounts?

Hello, this tool looks like quite a nice way to access online storage (thanks!). However, I don't really like the idea of polluting the system with fake drives, and would much rather have something like ~/clouds with subdirectories for each mount. This would also avoid the problem of there only being 26 drive letters.

Yandex causing error

Hi, I had hard time compiling and running, eventually figured out to change Mounter's Program.cs by adding

} catch (ReflectionTypeLoadException ex) {
               Console.Error.WriteLine($"{ex.GetType().Name}: {ex.Message}");
               foreach(Exception ex2 in ex.LoaderExceptions)
               {
                   Console.Error.WriteLine($"{ex2.GetType().Name}: {ex2.Message}");
               }
               return -1;
           } 

Above:

catch (Exception ex) {
                Console.Error.WriteLine($"{ex.GetType().Name}: {ex.Message}");
                return -1;

And figured out error from
ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

To:
ken=1f35af1d8b0c0a75' or one of its dependencies. The system cannot find the file specified.
FileNotFoundException: Could not load file or assembly 'YandexDisk.Client, Version=1.0.8.0, Culture=neutral, PublicKeyToken=1f35af1d8b0c0a75' or one of its dependencies. The system cannot find the file specified.

google drive not working

hi
google drive is failing if there are multiple files with same name on root. also not able to copy any file in drive it says drive full.?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.