Giter Club home page Giter Club logo

ccviewer's Introduction

CryptCloudViewer

This repository is source code of iOS app "CryptCloudViewer" https://itunes.apple.com/us/app/cryptcloudviewer/id1458528598

description

This app is iOS cloud viewer with keeping encrypted. App supports device folders (external storage and samba are also supported in iOS13) and remote storages: Google Drive, Dropbox, OneDrive, pCloud, WebDAV. Available encryption: rclone, CarotDAV and Cryptomator. This app can play media files with keeping encrypted. In addition, this app can play non-native media files (ex. mpeg2) with software decoder. You can edit your cloud storages: upload, make folder, rename, move, delete items.

In version 1.4.0, Chromecast support added. Please keep the app foreground and not lock the device while casting to Chromecast.

how to compile

if you did not set up, run these commands.

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
brew install nasm
brew install yasm

prepare depencency

./chromecast.sh
cd work
./clone.sh
./build.sh

open with Xcode and compile

  1. open workspace "ccViewer.xcworkspace"
  2. select scheme "CryptCloudViewer" and build

If you want to use, fix a file "RemoteCloud/RemoteCloud/Secret.swift" for your own client_id and secret.

ccviewer's People

Contributors

lithium0003 avatar prabirshrestha avatar shural 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ccviewer's Issues

Deleted files still appearing in rclone crypt over webdav

Thank you for this excellent and very useful app :-)

I just installed ccViewer on my iPhone, added a WebDAV repository and an encrypted rclone repository in the WebDAV. Everything works well and I can see all the encrypted files in the rclone repository. However, after some files in the rclone repository were deleted from other device, they are still shown by ccViewer. Refreshing (swiping down on the screen) the folder contents does not fix the issue. The deleted files remain visible. These files are not visible on other devices, so it is an issue with ccViewer. I tried purging the network cache, but this did not help. I think this may be a bug, similar to the one mentioned in #29

Allow to load add ccViewer in Files app

This added support for accessing files from ccViewer. #2. I was expecting the opposite instead i.e. from Files app I can view files and folders from ccViewer. Sorry if I wasn't clear. I didn't think of #2 but that seems also a good feature that I will be using.

This allows me to easily use Save to Files from a different app and select ccViewer. Files app also supports compress and uncompress so features like those can be got for free.

App crashes when rclone encryption password has an ñ on it

I tried to add a remote with encryption. My second password contained an ñ, which is a common character in Spain. After submitting, the app crashes, and I am unable to use the name of the remote again, since the app crashes again. I changed the password and used an n instead of an ñ, and everything works fine now. I have another problem with iOS, since I am unable to delete the ccViewer app config just to use the name of the remote I want. If iOS doesn't delete the config, there should be an option on the app just to restart from scratch...
Thankyou for your great work!

refreshing the team disk

The last I did was clean up the google team disk.
and unfortunately the application did not want to refresh.

Old folders were still visible.

When I deleted my account and created it again, the catalogs were seen correctly.

Not all files from encrypted rclone drive are shown

I have a google drive share which I upload files via encrypted rclone from my desktop machine.

Using the crypt rclone folder, most files and directories are properly decrypted, but a few files do not show up, even though they exist in encrypted form.

So, some files are not being unencrypted properly, and therefore the directory looks like there are no files there. This happens with a number of directories, not just a single incident.

Attached is screenshot of the encrypted files, and then the unencrypted directory.
30175EB9-149E-4F27-9BB0-FE9FB71082CE
84BA4781-4ADD-411F-9825-ABA664172767

WebDAV to neither Caddy2 nor rclone works

Latest ccViewer from AppStore, IOS 14.3 and MacOS 10.15.7.

Same symptom - after input URL, user name and password, the dialog does not close, and no WebDAV server is added to main screen.

Tried both http and https. WebDAV served by Caddy2 and rclone certainly works as proved by web browser.

WebDAV not woeking

I am trying to use the new WebDAV backend but when I hit done, the “pinwheel” like icon comes up then it goes back to the add mode. No warning, no errors, etc.

I tried without the https:// and that also didn’t work. I can use it in other apps just fine

Add support for ssh/sftp storage

Add support for ssh/sftp storage. Just like with webdav, it is an excellent way to cover many storage solutions (like your own server or local pc, raspberry pi, ...) additional to the cloud storage providers supported right now and most of the time does not require any additional setup. You could even bridge a service with your own server when it is mounted there, although I would not recommend chaining services like that. With encryption, even ftp wound be viable.

Support for base64 and base32768 filename encoding

Recent versions rclone introduced base64 (for case-sensitive remotes) and base32768 (for those like OneDrive that only count unicode characters) crypt filename encoding. This is in addition to the default base 32.

It is possible to support these in the app?

Crashes when the cache limit is reached

App seems to crash when the cache limit is reached (e.g. if I open two files, the first one fits wholly in the cache, the second file will exceed the cache size, and the app will crash). Opening the app after crashing usually shows that "Cache Size" has come to exceed "Cache Limit"

...also, is there a "purge cache" option? I've just been setting the limit to zero and restarting the app to accomplish this, but I'm not sure that it actually purges the files.

Allow to cancel current download

I noticed that when the image or file is downloading there is no way to cancel the download so I have to wait before I can start another task. This starts to become problematic for large files or when the internet connection is slow.

Add new item "Files" restricts access to some locations

Hello,

When I try to add a new location "files" I get a list of locations similar to the iOS files app: there is "on my iPad", iCloud and some other locations. Only "on my iPad" and iCloud is selectable, others like e.g. FileBrowser are transparent and cannot be chosen. The files in "FileBrowser" are also locally. It would be very nice if you could implement a way so these other files could be accessed.

Thank you very much for considering. CryptClould viewer is great!

Best regards,
Steffen

rclone.conf import not working without password2

I have an rclone.conf similar to this:

[secret]
type = crypt
remote = someremotedrive:
filename_encryption = standard
directory_name_encryption = true
password = asdfasdfasdfasdfasdf

However, when trying to import, the alert only shows a cancel button. I'm able to get it to work by adding a blank password2, like this:

[secret]
type = crypt
remote = someremotedrive:
filename_encryption = standard
directory_name_encryption = true
password = asdfasdfasdfasdfasdf
password2 =

Add support for WebDAV

Would it be possible to have WebDAV support? Currently rclone allows us to serve any remote as WebDAV server which means we can start interacting with backends currently not supported by ccViewer.

Audio stream only plays background sounds, not main voices

I’ve been playing a few of my media files and it seems videos that have 5.1 sound, only the music and background sounds are being played, not the main voices.

I think it only happens w media files that have 5.1 or more channels?

These were files streaming from A google drive share.

Changing the sound stream has no effect

ffmpeg.a was not found in ffmpeg.xcframework in iOS

while building ccviewer in iphone getting below issue
When building for iOS, the expected library /Users/Downloads/ccViewer-1.4.3b/work/ffmpeg.xcframework/ios-arm64/ffmpeg.a was not found in /Users/Downloads/ccViewer-1.4.3b/work/ffmpeg.xcframework

while building ccviewer in simulator getting below issue
When building for iOS Simulator, the expected library /Users/sajida/Downloads/ccViewer-1.4.3b/work/ffmpeg.xcframework/ios-x86_64-simulator/ffmpeg.a was not found in /Users/sajida/Downloads/ccViewer-1.4.3b/work/ffmpeg.xcframework

please give me solution to run the build

Add support for media (photos and video) sync

Currently there is no good app to auto sync photos and videos to WebDAV let alone a secure crypted auto backup. The closest I have found is PhotoSync which still requires us to manually click backup.

It would be good if ccViewer supported this backup similar to google photos. Few features I can think of

  • allow to select the custom folder path. I prefer to backup to folder in YYYY/mm/dd format so if folder doesn’t exist it should auto create.
  • allow to select custom file name. Since I have multiple devices I prefer to append device name to the original file name so it doesn’t conflict with other devices.
  • add option to auto delete photo video once uploaded. This should move the file to trash. Or even better if similar to google photos where I can manually click free up space and then only deletes it from phone.

WebDAV shows zero KB size and is unable to Download / Browse Folder

Browsing WebDAV is not working for me, using Nextcloud (Testet on 18.0.6 and 18.0.7) as WebDAV backend.
ccViewer shows every File with zero KB size and is unable to download it. Also it detects Folders as Files, and tries to Play the Folder as if it was a Video.
Uploading new Files works. But once uploaded, the above problem occurs.
IMG_1393

Importing from rclone.conf did not copy the salt value

I used the import rclone.conf option when creating new crypt rclone drive but it didn’t copy the salt value, only the password.

Here’s a relevant section of my rclone.conf file.

[gcrypt]
type = crypt
remote = gdrive:/secret
filename_encryption = standard
directory_name_encryption = true
password = valuechanged
password2 = othervaluechanged

add support for siri shortcuts

I would like to be able to run a bunch of siri shortcuts and actually save it to a rclone crypted location.

Here is an example where I get all siri shortcuts, compress it and then save it to icloud.

IMG_0072

Get file might be a bit tricky due to security reasons.

Cryptomator vaults not working

I have tested 3 Cryptomator vaults on both Dropbox and pCloud as backends.
When setting up the remote in the app, I point to the folder where the masterkey.cryptomator file is located (hope that's ok).

Every time when opening the remote in the app, it shows its contents empty. However, I can create new folders and upload files and they are retained. Just the existing files that I've created on PC are missing.

If I open the container from PC, the mobile app-created files are missing.

Encrypted folder:
backend_on_PC
Decrypted on PC:
vault_on_PC
Decrpyted in app:
IMG_7625

Anyone else having the same issue, or am I adding the remote vault correctly in the app?

More info please on ccviewer

I am very interested in ccviewer, but I don't have enough info to decide whether to use it.

Because most cloud providers already have pretty good apps for accessing unencrypted files on an iphone, my usecase is primarily to access encrypted files (encrypted using rclone, cryptomator, encfs, etc) that I have stored on the cloud). These encrypted files hold stuff I am not particularly interested in sharing with cloud providers.

But to be comfortable accessing this data with ccviewer, I want to know the following things:

  1. are you using existing software packages (in the form of compiled codes from publicly available source from rclone, plcloud, etc) that have been embeded into ccviewer, or are you replicating the algorithms found in those packages? I would feel more comfortable knowing that the codes are directly taken from the original authors and updated when bugs are found and fixed by those teams, rather than using some method of translating those codes (by hand or automatically) to another language.

  2. can you describe the mechanisms you are using for storing (or not) the passwords, keys, bucket IDs, necessary to access the encrypted files? I would like to make sure that these pieces of information are handled securely, and I would like to make sure that they are not accessible to other apps. Are the mechanisms used by the original teams being for storing this information being used by ccviewer or have you chosen another approach? Is your approach a common strategy used by iphone apps?

  3. have you considered a security audit?

Thanks for providing us this cool tool. I can't find anything quite like it, so I hope your answers reassure me that it is a good choice for my usecase

Phil

webdav should use PROPFIND instead of OPTIONS call to check for server

Some webdav servers don't have OPTIONS configured. Option makes sense for browsers and not clients. Looking at other ios clients for webdav, they seem to use PROPFIND to verify the server credentials instead of using OPTIONS. Is it possible for switch this so OPTIONS calls doesn't need to be configured on the server?

func checkServer() {
guard let url = URL(string: uri) else {
activityIndicatorView.stopAnimating()
return
}
testState = 0
var request: URLRequest = URLRequest(url: url)
request.httpMethod = "OPTIONS"
let task = dataSession.dataTask(with: request)
task.resume()
}

visionOS Support

Please adapt your small app to work on Apple visionOS’s UI framework, not just as an iOS app running on visionOS, but using visionOS UI frameworks.

Add support for better image viewer

Currently it is very difficult to exit the image preview due to no close button. Nikon RAW files also seems to crash the app.

Would be good to also use left right movements to go to next file or image.

pCloud account has been revoked

No login to pCloud for a long time, my developer account of pCloud has been gone.
In next release, new client_id will be added.

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.