Git Product home page Git Product logo

cryptonite's People

Contributors

fredjul avatar neurodroid avatar seth-hg avatar

Watchers

 avatar

cryptonite's Issues

Asks for root permissions on each mounting occasion

What steps will reproduce the problem?
1. Mount Volume
2. Accept request for root access
3. On unmounting or remounting the app asks for root permissions again,creating 
a separate entry in the Superuser app log

What is the expected output? What do you see instead?
Ask for root once. 
Opens dialog asking if I want to unmount _all_ volumes

What version of the product are you using? On what operating system?
Nexus S Cm9v7 stock kernel

Please provide any additional information below.
Maybe complicated by whether 'always allow' is checked 

Original issue reported on code.google.com by [email protected] on 23 Apr 2012 at 1:28

Add support to reverse encryption

Please add support to use reverse encryption in criptonite.
In encfs reverse mode (encfs --reverse) you can have an unencrypted local 
folder  and a mount point that encrypts the files on the fly. So  we can make 
backups to dropbox encrypted while keeping the local data unencrypted removing 
any  overhead to access the files locally.

Example:

/sdcard/DCIM -> unencrypted
encfs --reverse /sdcard/DCIM /sdcard/dropbox_sync_pics 
/sdcard/dropbox_sync _pics  -> on the fly encrypted that will be synced with 
dropbox using third part apps.
So i can work locally with no overhead at all and only during sync my files 
will be transparently encrypted on dropbox servers.

Thanks !

Original issue reported on code.google.com by [email protected] on 24 Aug 2012 at 10:18

User-defined default local storage directory

At present, Cryptonite uses whatever getExternalStorageDirectory() [1] returns 
as the default local storage directory. This is typically /mnt/sdcard. It would 
be good to be able to override this setting by setting a custom default storage 
directory, such as /mnt/external.

[1] 
https://developer.android.com/reference/android/os/Environment.html#getExternalS
torageDirectory()

Original issue reported on code.google.com by [email protected] on 8 Oct 2012 at 10:10

Encrypt files

This feature will be added in the near future. The idea is to add an "Upload 
file" button to the file browser so that single files can be encrypted by 
adding them to an existing local or Dropbox EncFS folder. Does that make sense?

Original issue reported on code.google.com by [email protected] on 7 Feb 2012 at 2:06

Decrypt linux hidden folders ".foldername"

What steps will reproduce the problem?
1. encrypt a folder named .encrypted on your dropbox account
2. try to decrypt the folder using cryptonite
3.

What is the expected output? What do you see instead?

When connected to my dropbox account from within cryptonite I cannot see the 
hidden folders in that account (like .encrypted) So I can't decrypt those encfs 
volumes.

What version of the product are you using? On what operating system?

Cryptonite 0.7.6 on Android 4.0.4 using EncFS 1.7.4
Encrypted dropbox .encrypted folder using CentOS 6.3 and EncFS 1.7.4

Please provide any additional information below.

Would be nice if cryptonite can read hidden folders too.

Original issue reported on code.google.com by [email protected] on 15 Oct 2012 at 1:36

Open interface to receive commands via Intents/Service

I'm currently writing some medical software to be used in developing countries, 
and I would love to use EncFS (or possibly TrueCrypt) to encrypt the whole 
filesystem.

Ideally I would be able to send an Intent to Cryptonite, or to access a Service 
where I could call some basic commands. Just basic functionality like 
encrypting a folder, mounting a folder, and unmounting.

Thanks very much for the excellent software you've made here. I spent a long 
time trying to figure out how to accomplish this before finding Cryptonite, so 
I'm humbled by your accomplishment here.

Nick

Original issue reported on code.google.com by [email protected] on 15 Jan 2013 at 4:36

Program crashes while attempting to create a new EncFS volume

What steps will reproduce the problem?
Tried creating new encrypted volume in "Paranoia" mode in 1st level folder of 
root folder in my Dropbox account. Entered new password for new volume, 
application tried to create it and crashed. Now have to check if the volume was 
created successfuly before crashing.

What version of the product are you using? On what operating system?
0.2.1 on unknown device

Please provide any additional information below.
Reported via crash report - no additional information available.

Original issue reported on code.google.com by [email protected] on 23 Feb 2012 at 2:16

Test results - some goods & some weirds

What steps will reproduce the problem?
1. create some ext4 encrypted partition with TC.
2. a 2000MB partition, a 3000MB partition, a 4000MB partition
3. all on the external_sd card

What is the expected output? What do you see instead?
the 2000MB partition seems to work allright
on the 3000MB & 4000MB partitions the TC formatting in ext4 fails with
Error: error: file_write: write: I/O error
Looking inside these partition i can't see the magic number of ext4
trying to manually mount these partition from their loop devices
the mount command cannot mount them in ext4.

The 2000MB partition works allright


What version of the product are you using? On what operating system?
cryptonite-ALPHA-0.6.15.apk
Samsung N7000 , ICS 4.0.4 - LRG official samsung.


Please provide any additional information below.

I'm a programmer ... 
i think some variable or funcion call parameter
wraps at 2GB so truecrypt acts uncorrectly un these large
volumes. I have see the patches in issue 18, maybe there
are other points in the code that must be patched.
EG : maybe the 'int' data type in ARM compiler is 32 bit (in android)
but in intel linux is 64 bit ? 
EG : some use of 'long int' or 'long long int' are disaligned
between arm toolchain and intel compilers?

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491c/Babfcgfc.ht
ml

.



Original issue reported on code.google.com by [email protected] on 23 Jul 2012 at 1:22

  • Merged into: #18

Truecrypt fails with "Error: no child processes"

What steps will reproduce the problem?
1. Try to mount a volume with TrueCrypt
2. Fails with "Error: no child processes"

What version of the product are you using? On what operating system?
Unknown version on Galaxy Tab and Galaxy Nexus.

Please repeat using the verbose flag (-v) and report the full output, the 
version of Cryptonite, and the output on a root shell of the following commands:

ls /dev/fuse
which mount
which losetup

Thanks

Original issue reported on code.google.com by [email protected] on 9 Oct 2012 at 10:05

truecrypt and truecrypt-3.0 binaries cause linker error: cannot locate symbol __exidx_end

What steps will reproduce the problem?

1. Launch terminal with Expert->Start root terminal

2. Enter "truecrypt" at terminal command prompt.
NOTE: Also get the same results with downloaded truecrypt-3.0

What is the expected output? What do you see instead?
Expected truecrypt binary to load and provide usage options.
Result:  I see the following error message:
soinfo_relocate(linker.cpp:975): cannot locate symbol "__exidx_end" referenced 
by "truecrypt"...CANNOT LINK EXECUTABLE

What version of the product are you using? On what operating system?
0.7.6 on Android 4.2

Please provide any additional information below.
Device is Google Nexus 4 running Android version 4.2 with unlocked bootloader 
and root installed.


Original issue reported on code.google.com by [email protected] on 25 Nov 2012 at 12:42

Reconfirm password entry

What steps will reproduce the problem?
When creating a new volume, new password creation is not verified/reconfirm

What is the expected output? What do you see instead?
(as above)

What version of the product are you using? On what operating system?
android 4.0.3

Please provide any additional information below.
The issue is when typing in long complicated password, there is possibility 
that a character may be mistyped - Need a dialog box to reconfirm/retype new 
password

Original issue reported on code.google.com by [email protected] on 16 Mar 2012 at 6:10

Mounting doesn't work on Motorola devices running Cyanogenmod

What steps will reproduce the problem?
1. Install Cryptonite
2. Mounting is disabled

What is the expected output? What do you see instead?
Mounting should be enabled on CM >= 7.1.0

What version of the product are you using? On what operating system?
Cyanogenmod 7.1.0 on Motorola Defy, Cryptonite 0.1.0

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 15 Feb 2012 at 12:50

Build.sh in EncFs Fails

What steps will reproduce the problem?
1. run ./build.sh in encfs for cryptonite
2.
3.

What is the expected output? What do you see instead?
This is my output:
checking For supported FUSE API version... configure: error: in 
`/home/shaun/cryptonite/encfs/encfs-1.7.4':
configure: error: cannot run test program while cross compiling
See `config.log' for more details
make: *** No rule to make target `clean'.  Stop.
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.
/home/shaun/android-toolchain/bin/arm-linux-androideabi-strip: 
'armeabi-v7a/bin/encfs': No such file
Traceback (most recent call last):
  File "./cplibs-static.py", line 27, in <module>
    shell=True)
  File "/usr/lib/python2.6/subprocess.py", line 633, in __init__
    errread, errwrite)
  File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory: './encfs-1.7.4/armeabi/bin'


What version of the product are you using? On what operating system?
Using Cryptonite, Android 4.0, on Ubuntu 10.04

Please provide any additional information below.

I am trying to use the build instruction but the build.sh script fails for 
encfs in cryptonite. I believe it is because the configure in encfs-1.7.4 fails 
which means the make fails since a makefile was not generated. The reason for 
configure to fail is:
error: cannot run test program while cross compiling

Any help would be much appreciated. Thanks.

-Shaun B.

Original issue reported on code.google.com by [email protected] on 16 May 2012 at 7:52

Fails to run on Android 2.2 (Froyo)

What steps will reproduce the problem?
1. Download the app on a 2.2 device
2. Try to start it
3. Will fail saying that it encountered an unexpected problem

What is the expected output? What do you see instead?
Should start on 2.2.

What version of the product are you using? On what operating system?
Cryptonite 0.1.0 on Android 2.2

Please provide any additional information below.
Stack trace:
java.lang.ExceptionInInitializerError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1429)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.UnsatisfiedLinkError: Library cryptonite not found
at java.lang.Runtime.loadLibrary(Runtime.java:461)
at java.lang.System.loadLibrary(System.java:557)
at csh.cryptonite.Cryptonite.<clinit>(Cryptonite.java:1880)

Original issue reported on code.google.com by [email protected] on 18 Feb 2012 at 10:18

Scheduler And On-Boot Mounting

Would love any of these schedulers (in order of usability)
1. Built in scheduler
2. Tasker or Locale plugin
3. Command line access

I assume the encfs file in the data folder is executable and might solve point 
number three. But since it wasn't mentioned in the wiki or anywhere I wanted to 
check and verify beforehand to make sure I don't break anything. 

This would require saving passwords, but I am not so much worried about the 
security of my phone just the security of my online syncing and storage.

Original issue reported on code.google.com by [email protected] on 20 Mar 2012 at 11:53

Dropbox account gets unlinked spontaneously

What steps will reproduce the problem?
1. Link dropbox account
2. Return later
3. Account is unlinked

What is the expected output? What do you see instead?
The account should stay linked

What version of the product are you using? On what operating system?
Beta on Nexus S Cm9v7

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 23 Apr 2012 at 1:31

Add scripts for postMount and preUnmount

Hey there.

This is my use case:

I have only one reason for having different encrypted folders: Some apps don't 
allow to select other storage folers then their defaults (e.g. agit). So I 
don't need different encrypted folders for any security or amount/volume reason 
but only to make encrypted folders appear on different, very dedicated 
positions in the file system.
A workaround would be having additional "mount -o bind" settings to make 
different encrypted folders inside the one EncFS encrypted directory appear 
"somewhere outside" of the EncFS encrypted directory.

So, feature request:

A nice thing would be having one script that gets executed right after EncFS 
has finished mounting and another script that gets execute right before EncFS 
starts unmounting.

Regards,
Stephan.


Original issue reported on code.google.com by [email protected] on 29 May 2012 at 11:03

Support previewing large files

When previewing a file that is too large to be held in memory, the application 
will abort the decryption process completely and therefore large files cannot 
be viewed.  It would probably make more sense to decrypt the file to storage 
directly instead of buffering the decrypted data in memory.

Original issue reported on code.google.com by [email protected] on 22 May 2012 at 11:11

Forced close when exporting file deeper than 2 folder levels

What steps will reproduce the problem?
1. After link with dropbox and decrypt dropbox folder, select "browse decrypted 
folder"
2. Select a folder, and select another folder after going in
3. Select a file, press "Export selected"
4. Select the location to save the file

What is the expected output? What do you see instead?
Expected to see the selected file exported.
Instead, force close message is trigger.

What version of the product are you using? On what operating system?
cryptonite 0.0.13 on Android 2.3.4 with Motorola Atrix

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 7 Feb 2012 at 4:07

Mounting not supported on Nexus S running CM7.1, stock kernel

What steps will reproduce the problem?
1. Install cryptonite
2. It shows "Mounting is not supported on this phone" 

What is the expected output? What do you see instead?
I should be able to mount encrypted volumes

What version of the product are you using? On what operating system?
Android 2.3.7 - CM7.1, stock kernel.

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 13 Apr 2012 at 7:33

TrueCrypt sets wrong permissions on FAT32-formatted SD card

What steps will reproduce the problem?

1. Create a TrueCrypt container volume called myvol.tc on Windows.
   Mount it and move a text file to the mounted drive.
   Copy it to /mnt/sdcard/encrypt/myvol.tc on the phone

2. Run this script to mount a TrueCrypt volume
su
export tcvolume="/mnt/sdcard/encrypt/myvol.tc"
export tcmount="/mnt/sdcard/mnt/mydrive"
/data/data/csh.cryptonite/truecrypt -t -k "" --protect-hidden=no -p password 
$tcvolume $tcmount

3. The volume mounted successfully at /mnt/sdcard/mnt/mydrive.

What is the expected output? What do you see instead?

Browse using Root Browser of ROM Toolbox and I can see the text file.  However, 
when I browse using ESExplorer or other apps, the mounted folder is empty.

What version of the product are you using? On what operating system?
Cryptonite 0.6.12
Android 4.0.4, AOKP ROM Build 39 on Nexus S GSM



Original issue reported on code.google.com by [email protected] on 24 Jun 2012 at 4:08

Upload multiple files

No problem, no bug this is a feature request.

It would be really great if you could upload multiple files to a dropbox encfs 
(or local unmounted but decrypted encfs) in one operation. It's now a very 
tedious process, because you need to upload every file separately, and navigate 
to the folder containing the file all over again from scratch for each file. 
This makes it hard to use for people who doesn't sync the whole dropbox folder 
and then mount it locally. And for those who can't, ie. no fuse or no root.

A solution like the checkboxes you now have when browsing the Encfs-es would be 
a huge leap in useability or non-rooted users.

I'd prefer the share feature in issue #40 personally. But I thought this should 
be a separate feature request anyhow.

Original issue reported on code.google.com by [email protected] on 24 Sep 2012 at 9:35

Can't mount Truecrypt volume

Originally reported here:
http://forum.xda-developers.com/showthread.php?p=24561525#post24561525

I tried mounting a truecrypt file but was unable to do it.
Kept getting a message about the file name being too long.

Here is the detailed scenario:
What I am trying to mount:
1. Using a rooted Nexus One with CM 7.
2. Created a truecrypt file on ubuntu and transferred to the phone using dropbox
3. Using just a password and no file to encrypt/decrypt the file

I initially tried to mount it to a non existent destination (/media/truecrypt1) 
when even the /media folder does not exist on my phone
Got the filename too long error.

Renamed the file from data_transfer to data (there is no extension)
Tried again, same error.

Created a folder on my sd card called /mnt/sdcard/truecrypt
tried mounting 'data' to this folder, still the same error.

Am I missing something? is it a generic message for all errors? 

I finally created a new empty truecrpty container of only 5 MB and added a 
simple tect file in it.

Even this did not mount.

Does anyone have any suggestions on how I might debug/resolve this?
Is there any more information I should have shared in order to help the gurus 
figure out whats going on?

I have tried to look through this thread and did not seem to find anyone 
reporting this issue, so please pardon me if you think I am being a lazy noob. 
I am definitely not trying to.

Original issue reported on code.google.com by [email protected] on 7 Apr 2012 at 3:50

Share/send file to an encrypted (dropbox) folder

This is an enhancement suggestion for deeper integration of Cryptonite for 
usability. 

If you are browsing photos, videos, music etc. you have a "share" feature to 
send these files via Mail, Bluetooth, Twitter, Dropbox and any other supported 
applications. I would like cryptionite to get integrated in this system. So you 
click share, select cryptonite and it would open your cryptonite browser to 
define the place you would like to put the file into or send it directly to 
your already decrypted folder.

Original issue reported on code.google.com by [email protected] on 28 Aug 2012 at 2:22

Attachments:

auto-unmounting by inactivity

Thank you for that app! Could you add auto-unmounting after timeout inactivity? 
And add option for timeout in minutes for example.

Original issue reported on code.google.com by [email protected] on 26 May 2012 at 5:19

Truecrypt can not mount volumes > 2 GB

What steps will reproduce the problem?
1. made an encrypted partition (not a container) on an external drive
2. plugged the drive to my android device which has USB host support
3. checked for and found the device node of the encrypted partition 
(/dev/block/sda2)
4. tried the following through the root terminal console that cryptonite 
provides:
mkdir /data/tc
truecrypt /dev/block/sda2 /data/tc
Enter password for /dev/block/sda2: <entered my password>
Enter keyfile [none]: <entered nothing>
Protect hidden volume (if any)? (y=Yes/n=No) [No]: <entered nothing>

What is the expected output? What do you see instead?
The partition should get mounted to /data/tc. Instead this error message 
appears:
Error: Value too large for defined data type:
/dev/block/sda2

What version of the product are you using? On what operating system?
Asus Transformer TF101 with a dock which has USB ports, Android Revolution HD 
3.1.0 (CM9 based), cryptonite 0.4.5.

Please provide any additional information below.
I have tried this with two different external drives, both of which cause the 
same error message to show. Mind you that truecrypt does work as I've tried 
mounting an encrypted file container the same way as above (using /data/tc as 
the mount target) and it gets successfully mounted and can be read from outside 
the console normally. Also, the verbose (-v) switch produces no more info about 
the error.

Original issue reported on code.google.com by [email protected] on 15 Apr 2012 at 3:38

Mounting a Truecrypt volume fails with 'Failed to create a file or directory in a temporary directory.'

This is on a Galaxy Note w/ICS and rooted. "/dev/fuse" exists, and "losetup -f" 
indicates "/dev/block/loop0" is free.

The Note has Android "full disk ecnryption" turned on - which gives an output 
from 'mount' of:

"
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p9 /system ext4 ro,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 
0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 
0
/dev/block/mmcblk0p4 /mnt/.lfs j4fs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
/dev/block/mmcblk0p12 /preload ext4 
ro,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/dm-0 /data ext4 
rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/vold/254:1 /mnt/sdcard vfat 
rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1015,fmask=0002,d
mask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,ut
f8,errors=remount-ro,discard 0 0
tmpfs /mnt/sdcard/external_sd tmpfs 
rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,size=0k,mode=755,gid=1000 0 0
tmpfs /mnt/sdcard/usbStorage tmpfs 
rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,size=0k,mode=755,gid=1000 0 0
/dev/block/vold/179:9 /mnt/sdcard/external_sd vfat 
rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,d
mask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,ut
f8,errors=remount-ro 0 0
/dev/block/vold/179:9 /mnt/secure/asec vfat 
rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,d
mask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,ut
f8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/external_sd/.android_secure tmpfs 
ro,relatime,size=0k,mode=000 0 0
"

What steps will reproduce the problem?

1. Create a test Truecrypt volume, e.g. 'test.tc' on a PC using the default 
settings, and format it with FAT. Then copy it to the Android device (e.g. in 
/sdcard).

2. Attempt to mount it with:

"
#mkdir /sdcard/mnt
#/data/data/csh.cryptonite/truecrypt /sdcard/test.tc /sdcard/mnt
%
Enter password for /sdcard/test.tc: xxxxx
Enter keyfile [none]: 
Protect hidden volume (if any)? (y=Yes/n=No) [No]: 
Error: Failed to create a file or directory in a temporary directory.

Please make sure that the temporary directory exists, its security permissions 
allow you to access it, and there is sufficient disk space:
/sdcard/Android/data/csh.cryptonite/.truecrypt_aux_mnt256
"

The above was done from a Quicksshd session - hence the full path to truecrytpt 
being used (when this works I'll probably add it to the shell's path - or 
script it).

Original issue reported on code.google.com by [email protected] on 12 Jun 2012 at 8:14

Can't create Dropbox encrypted volume

What steps will reproduce the problem?
1.link your dropbox account
2.create dropbox volume
3.select any method
4.an exception occur, please see screenshot in attachment.

What version of the product are you using? On what operating system?
Cryptonite 0.3.1
Android stock ICS 4.0.2 on Galaxy Nexus (rooted)


Original issue reported on code.google.com by [email protected] on 30 Mar 2012 at 9:29

Attachments:

Add GUI for TrueCrypt

Add mount buttons for TrueCrypt.

Main problems at this time:

  * Loop devices have to be created manually on some devices (issue #16)
  * Still unclear whether volumes >2GB can be mounted on all devices - need to hear back from more users (issue #18)
  * Temporary directory is in different places on different devices (issue #31)
  * Permissions need to be set manually on FAT32 volumes (issue #32)
  * NTFS volumes can cause problems (issue #34)
  * No working "mount" command on Google Nexus 7 (issue #36)

Original issue reported on code.google.com by [email protected] on 11 Aug 2012 at 10:19

TrueCrypt can't find working "mount" on Google Nexus 7 with motley kernel

What steps will reproduce the problem?
1. Try to mount with truecrypt --fs-options="uid=1000,gid=1000,umask=00002" 
/sdcard/truectypt.tc /sdcard/truecrypt_mount

What is the expected output? What do you see instead?
Error: No such file or directory:
/system/xbin/mount

What version of the product are you using? On what operating system?
Google Nexus 7 with motley kernel 
(http://forum.xda-developers.com/showthread.php?t=1775798) and busybox.

Please provide any additional information below.
Changing "/system/xbin/mount" to "mount" (without full path) in the TrueCrypt 
patch (fed44244e881) results in:
Error: Usage: mount [-r] [-w] [-o options] [-t type] device directory

Original issue reported on code.google.com by [email protected] on 11 Aug 2012 at 7:43

Export to SD card alway creates subfolders

What steps will reproduce the problem?
1. Decrypt Dropbox folder
2. Export a file to an SD card subfolder
3. File gets put in subfolders instead of the selected one, see attached 
screenshots

What is the expected output? What do you see instead?
The file should be placed directly into the selected subfolder.

What version of the product are you using? On what operating system?
Cryptonite 0.7.6
Android 4.1.2 (Tablet)
Android 4.0.3 (Phone)

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 16 Feb 2013 at 5:13

Attachments:

App Doesn't Launch

What steps will reproduce the problem?
1.builing apk
2.running "ant debug" to build
3.launching app in andriod

What is the expected output? What do you see instead?
The app should run, the app stops working with message "Unfortunately, 
Cryptonite has stopped".

What version of the product are you using? On what operating system?
Goldfish Android 4.0.4, Ubuntu 10.04.

Please provide any additional information below.
The logcat shows:

I/ActivityManager(   91): Start proc csh.cryptonite for activity 
csh.cryptonite/.Cryptonite: pid=740 uid=10034 gids={1015, 3003}
W/NetworkManagementSocketTagger(   91): setKernelCountSet(1000, 0) failed with 
errno -2
W/NetworkManagementSocketTagger(   91): setKernelCountSet(10034, 1) failed with 
errno -2
I/Process (   91): Sending signal. PID: 740 SIG: 3
I/dalvikvm(  740): threadid=3: reacting to signal 3
I/dalvikvm(  740): Wrote stack traces to '/data/anr/traces.txt'
D/AndroidRuntime(  740): Shutting down VM
W/dalvikvm(  740): threadid=1: thread exiting with uncaught exception 
(group=0x409821f8)
E/AndroidRuntime(  740): FATAL EXCEPTION: main
E/AndroidRuntime(  740): java.lang.RuntimeException: Unable to create 
application csh.cryptonite.CryptoniteApp: java.lang.NullPointerException
E/AndroidRuntime(  740):    at 
android.app.ActivityThread.handleBindApplication(ActivityThread.java:3957)
E/AndroidRuntime(  740):    at 
android.app.ActivityThread.access$1300(ActivityThread.java:123)
E/AndroidRuntime(  740):    at 
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
E/AndroidRuntime(  740):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  740):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(  740):    at 
android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime(  740):    at java.lang.reflect.Method.invokeNative(Native 
Method)
E/AndroidRuntime(  740):    at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(  740):    at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime(  740):    at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime(  740):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(  740): Caused by: java.lang.NullPointerException
E/AndroidRuntime(  740):    at 
csh.cryptonite.CryptoniteApp.onCreate(CryptoniteApp.java:34)
E/AndroidRuntime(  740):    at 
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
E/AndroidRuntime(  740):    at 
android.app.ActivityThread.handleBindApplication(ActivityThread.java:3954)
E/AndroidRuntime(  740):    ... 10 more
W/ActivityManager(   91):   Force finishing activity csh.cryptonite/.Cryptonite

I had tried building the apk using eclipse but it doesn't let me build due to a 
bunch of "... cannot be resolved to a type" or "... cannot be resolved to a 
variable" errors. The 'ant debug' command on the other hand built successfully, 
but the app fails to launch. 

I also looked at CryptoniteApp.java which is where I believe the exception is 
thrown and I commented out the the init calls and modified it to simply throw a 
toast in the onCreate to figure out where the failure is occuring. However, 
even that fails with these errors:

Start proc csh.cryptonite for activity csh.cryptonite/.Cryptonite: pid=565 
uid=10034 gids={1015, 3003}
W/NetworkManagementSocketTagger(   91): setKernelCountSet(10034, 1) failed with 
errno -2
I/Process (   91): Sending signal. PID: 565 SIG: 3
I/dalvikvm(  565): threadid=3: reacting to signal 3
I/dalvikvm(  565): Wrote stack traces to '/data/anr/traces.txt'
I/Process (   91): Sending signal. PID: 565 SIG: 3
I/dalvikvm(  565): threadid=3: reacting to signal 3
I/dalvikvm(  565): Wrote stack traces to '/data/anr/traces.txt'
D/AndroidRuntime(  565): Shutting down VM
W/dalvikvm(  565): threadid=1: thread exiting with uncaught exception 
(group=0x409821f8)
E/AndroidRuntime(  565): FATAL EXCEPTION: main
E/AndroidRuntime(  565): java.lang.Error: Unresolved compilation problems: 
E/AndroidRuntime(  565):    AccessType cannot be resolved to a type
E/AndroidRuntime(  565):    AccessType cannot be resolved to a variable
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    The method setDBApi(DropboxAPI<AndroidAuthSession>) 
from the type DBInterface refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    AndroidAuthSession cannot be resolved to a type
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    TokenPair cannot be resolved to a type
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    AndroidAuthSession cannot be resolved to a type
E/AndroidRuntime(  565):    AppKeyPair cannot be resolved to a type
E/AndroidRuntime(  565):    AccessType cannot be resolved to a type
E/AndroidRuntime(  565):    AppKeyPair cannot be resolved to a type
E/AndroidRuntime(  565):    AccessType cannot be resolved to a variable
E/AndroidRuntime(  565):    AppKeyPair cannot be resolved to a type
E/AndroidRuntime(  565):    AccessType cannot be resolved to a variable
E/AndroidRuntime(  565):    AccessTokenPair cannot be resolved to a type
E/AndroidRuntime(  565):    AccessTokenPair cannot be resolved to a type
E/AndroidRuntime(  565):    AndroidAuthSession cannot be resolved to a type
E/AndroidRuntime(  565):    AndroidAuthSession cannot be resolved to a type
E/AndroidRuntime(  565):    The method setDBApi(DropboxAPI<AndroidAuthSession>) 
from the type DBInterface refers to the missing type DropboxAPI
E/AndroidRuntime(  565):    DropboxAPI cannot be resolved to a type
E/AndroidRuntime(  565):    AndroidAuthSession cannot be resolved to a type
E/AndroidRuntime(  565):    The method getDBApi() from the type DBInterface 
refers to the missing type DropboxAPI
E/AndroidRuntime(  565): 
E/AndroidRuntime(  565):    at 
csh.cryptonite.Cryptonite.<init>(Cryptonite.java:131)
E/AndroidRuntime(  565):    at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(  565):    at java.lang.Class.newInstance(Class.java:1319)
E/AndroidRuntime(  565):    at 
android.app.Instrumentation.newActivity(Instrumentation.java:1023)
E/AndroidRuntime(  565):    at 
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
E/AndroidRuntime(  565):    at 
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
E/AndroidRuntime(  565):    at 
android.app.ActivityThread.access$600(ActivityThread.java:123)
E/AndroidRuntime(  565):    at 
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
E/AndroidRuntime(  565):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  565):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(  565):    at 
android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime(  565):    at java.lang.reflect.Method.invokeNative(Native 
Method)
E/AndroidRuntime(  565):    at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(  565):    at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime(  565):    at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime(  565):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(   91):   Force finishing activity csh.cryptonite/.Cryptonite

These errors are the same as the ones reported in eclipse when I tried to build 
the unmodified cryptonite. Sorry to bug you again so soon, but I've spent some 
time and I am lost as to what might be going wrong. Thank you in advance for 
your time and help.

-Shaun B.



Original issue reported on code.google.com by [email protected] on 24 May 2012 at 8:14

Support for online storage other than Dropbox (WebDAV, ftp, ...)

Is there any need for Cryptonite to support online storage other than Dropbox 
(WebDAV, ftp, SkyDrive, etc.)? If so, which types of storage should be given 
priority? I'll put this up for a vote.

Small print: On-the-fly encryption and decryption is not an option for any type 
of online storage at this time. See 
http://code.google.com/p/cryptonite/wiki/FrequentlyAskedQuestions

Original issue reported on code.google.com by [email protected] on 21 Feb 2012 at 2:52

Keeps crashing immediately on some devices because the native library can't be found

What steps will reproduce the problem?
1. Install Cryptonite from Market
2. Attempt to start
3. Will crash

What is the expected output? What do you see instead?
Should start normally.

What version of the product are you using? On what operating system?
Unknown. Received crash report.

Please provide any additional information below.
Stack trace:
java.lang.ExceptionInInitializerError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1409)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1672)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
at android.app.ActivityThread.access$1500(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load cryptonite: 
findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:429)
at java.lang.System.loadLibrary(System.java:554)
at csh.cryptonite.Cryptonite.<clinit>(Cryptonite.java:1657)
... 15 more

Original issue reported on code.google.com by [email protected] on 3 Mar 2012 at 6:20

"encfs --extpass" doesn't launch external program

What steps will reproduce the problem?
1. open root terminal
2. enter '/data/data/csh.cryptonite/encfs -o allow_other --extpass='echo <your 
password>' /.../.encrypted /sdcard/csh.cryptonite/mnt

What is the expected output? What do you see instead?
Exptected output: encrypted folder gets mounted in /sdcard/csh.cryptonite/mnt.

Instead I get the error "Internal error: failed to exec program: No such file 
or directory". It doesn't matter if I use single ' or double " or what kind of 
command with or witout busybox. The password doesn't get passed or parsed by 
the external program.

What version of the product are you using? On what operating system?
EncFS 1.7.4
Cryptonite 0.6.12
Android 4.0.4

Please provide any additional information below.
Does work on Linux.
Have to use --stdinpass and pipe the password to encfs.

Cheers,
sebastian

Original issue reported on code.google.com by [email protected] on 8 Jun 2012 at 8:31

EncFS and TrueCrypt mounted volumes not visible to other apps in Android 4.2

What steps will reproduce the problem?
1. Create a TrueCrypt volume on Windows formatted as FAT32 containing several 
files and place this on your phone (say in /sdcard/test.tc)
2. Start cryptonite; Launch terminal with Expert->Start root terminal
3. Issue the following command:
truecrypt --fs-options="uid=1000,gid=1000,umask=0002" /sdcard/test.tc 
/mnt/sdcard/tc
NOTE: I had to create the mount point /mnt/sdcard/tc before issuing this 
command or truecrypt would issue a mount error message.
  Enter password, etc.  Then the command and mount succeeds.
4. Examine the mounted directory using: ls -al /mnt/sdcard/tc
   Files are present there.
5. Launch ES File Explorer (root or otherwise).  Navigate to /mnt/sdcard/tc or 
/sdcard/tc and there are no files listed there.  The directory appears empty.

What is the expected output? What do you see instead?
I expected to see the files in the TrueCrypt volume at the mount location.  In 
fact I did see them from the terminal window started from cryptonite.  However, 
they're only visible in that terminal window.  Other apps can't see those 
mounted files.

What version of the product are you using? On what operating system?
0.7.6 with the updated truecrypt binary recently created for Android 4.2 
compaitibility (see issue #46).

Please provide any additional information below.
I don't think this really a bug in cryptonite's TrueCrypt binary. Feel free to 
close this issue as you see fit.  However, it significantly limits the 
usefulness of mounting TrueCrypt volumes under Android 4.2 since the files 
aren't visible to other apps.  

I've seen this problem with another Android encryption tool called LUKS 
Manager.  The issue is discussed here:
http://nemesis2.qx.net/forums/index.php/topic,143.0.html

There is apparantly a new Android 4.2 feature which makes mounts appear to be 
process or app bounded and not visible to other processes or apps.  This has 
been worked-around by the author of StickMount, but its not clear how he did 
that.  The thread is here:
http://forum.xda-developers.com/showthread.php?p=34417228#post34417228

Some kind of workaround or way to disable this new Android feature would be 
appreciated.

Original issue reported on code.google.com by [email protected] on 28 Nov 2012 at 8:32

Problems with NTFS-formatted Truecrypt volume.

Hi,

I've been using cryptonite on a Galaxy Note (now updated to ICS, and rooted). I 
mostly use cryptonite to get access to the truecrypt binary on Android (i.e. I 
use it from the command line).

I went to mount my secure volume the other day - which completed Ok, but when I 
cd into the mountpoint - it's got files in it, just not *my* files!?

e.g. from a root Shell I do:

/data/data/csh.cryptonite/truecrypt -k "" -m ro /sdcard/Files/volume.tc 
/sdcard/Secure

This completes without error - if I then do:

cd /sdcard/Secure
ls -l

I get:

-rwxrwxrwx root root 42023 1970-01-01 01:00 ani_upload_1_kernel_panic.jpg
-rwxrwxrwx root root 39255 1970-01-01 01:00 ani_upload_2_cp_crash.jpg
(whole bunch of other similar file names)

Basically, these are not the files I'm looking for...

Without anything mounted, 'losetup -f' gives:

/dev/block/loop0

The 'phone has full disk encryption turned on, and sdcard encryption turned on.

It looks like something is picking the 'wrong' thing up somewhere, and mounting 
it.

From memory - I think this all worked OK before I turned on SD encryption.

I've double checked 'volume.tc' on a PC - and it definitely contains my files - 
not the files the 'phone shows when it's mounted.

This is with Cryptonite 0.6.17 (installed from Google Play).

Any suggestions what I can do to fix this, or troubleshoot it further?

Thanks,

-Karl

Original issue reported on code.google.com by [email protected] on 20 Aug 2012 at 9:37

  • Merged into: #34

Add support for loading fuse.ko as a module at runtime

What steps will reproduce the problem?
1. Install Cryptonite
2. Have a Xperia with stock firmware, which is missing built-in FUSE support
3. Root your Xperia
4. Install a fuse.ko module compiled for your specific Xperia kernel version 
(eg: ICS => http://forum.xda-developers.com/showpost.php?p=24600142&postcount=2 
, GB => http://forum.xda-developers.com/showthread.php?t=1768222
5. The modules are now installed inside /system/lib/modules
6. Run Cryptonite: it still reads "Mounting is not supported on this phone"

What is the expected output? What do you see instead?
I'd expect Cryptonite to load the fuse.ko, and let me mount drives.

What version of the product are you using? On what operating system?
Cryptonite v0.6.12 (Latest Google Play version as of today)

Please provide any additional information below.
There are other apps that are able to load modules (and find them 
automatically) like CifsManager 
(https://play.google.com/store/apps/details?id=ws.plattner.cifsmanager) or USB 
OTG Helper (http://forum.xda-developers.com/showthread.php?t=1588940).

Original issue reported on code.google.com by [email protected] on 12 Jul 2012 at 3:45

Store passwords

This is meant as a feature request ;-)

Some have already asked for multiple mounts or on-boot mounts.

I'd appreciate an editable list of different mounts with an option to select to 
mount an entry manually, on boot or on access. And of course all the passwords 
should be stored without the need to re-enter them ;-)

Great work so far,
Sebastian

Original issue reported on code.google.com by [email protected] on 8 Jun 2012 at 8:23

temporary data should be stored on SD instead of internal memory

What steps will reproduce the problem?
1. put large file in encfs on dropbox
2. browse decrypted folder in cryptonite
3. long-press large file and select "Open"

What is the expected output? What do you see instead?
expected: file should be opened
actual: cryptonite shows "Decrypting file..."
   at some point Android shows "low on space" warning in notification area
   later cryptonite shows io exception "No space left on device"

What version of the product are you using? On what operating system?
cryptonite 0.2.7
EncFS 1.7.4
OpenSSL 1.0.0g 18 Jan 2012

on Android 2.2

Please provide any additional information below.
my internal memory is quite limited, but the SD card is huge; if cryptonite 
used the SD card instead of the internal memory for its temporary data when 
decrypting, it would succeed and the file could be opened.

The low on space warnings vanish when I select "Forget decryption".

Original issue reported on code.google.com by [email protected] on 28 Feb 2012 at 7:10

on terminal df gives I/O error

What steps will reproduce the problem?
1. terminal
2. df -h
3. I/O error on encfs mountpoint.
4. ls mountpoint shows the files without problems

What is the expected output? What do you see instead?
 see above

What version of the product are you using? On what operating system?

latest

Please provide any additional information below.

is is fixable by you? without a fix i cannot mount bind some folder to the 
encfs mountpoint, camera says "sdcard not accessable"

Original issue reported on code.google.com by [email protected] on 15 May 2012 at 7:44

Save / Restore default not working

V0.7.4

Saving and then restoring default Mount EncFS Volumes do not work.

It reports "Couldn't find default folder (al_sd/.encfs)" while default folder 
is "/mnt/external_sd/.encfs".

Original issue reported on code.google.com by [email protected] on 10 Oct 2012 at 8:22

View decrypted Dropbox files without having to export them

What steps will reproduce the problem?
1. Choose EncFS root on your Dropbox
2. A file browser with decrypted file names pops up
3. This browser doesn't allow you to directly view your files. You'll have to 
export them first.

What is the expected output? What do you see instead?
It would be nice if you could choose to view decrypted files directly without 
having to export them.

What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 26 Jan 2012 at 12:53

Encrypted ntfs container = system reboot :(

What steps will reproduce the problem?
1. mount an encrypted NTFS true crypt container, size=1G
eg: truecrypt --filesystem=none /mnt/sdcard/external_sd/files.dat
2. mount the loop device with ntfs-3g
eg: ntfs-3g /dev/block/loop3 /mnt/sdcard/external_sd/mnt
3. browse/use the files in /mnt/sdcard/external_sd/mnt

What is the expected output? What do you see instead?
Allright for 30-60 sec, after short time browsing volume
the system abruptely reboots.

What version of the product are you using? On what operating system?
Samsung N7000 , ICS 4.0.4 - LRG official samsung.

Please provide any additional information below.
The ext4 containers work succesfully.

Thank you for your work


Original issue reported on code.google.com by [email protected] on 20 Jul 2012 at 8:44

Linker error on Android 4.2.2

What steps will reproduce the problem?
1. Install cryptonite on Android 4.2.2
2. Try to run truecrypt by choosing the Advanced option, then root terminal in 
cryptonite

What is the expected output? What do you see instead?
Expected: truecrypt runs
Actual: An error is thrown: the message is: soinfo_relocate(linker.cpp:989): 
cannot locate symbol "__extidx_end" referenced by "truecrypt"...CANNOT LINK 
EXECUTABLE

What version of the product are you using? On what operating system?
cryptonite 0.7.6 on Android 4.2.2

Please provide any additional information below.
I'm using a modified kernel, have not been able to test it on stock kernel.  
The kernel I'm using is discussed at 
http://forum.xda-developers.com/showthread.php?s=f9ec9d997846ee7a56da576f9f719d4
6&t=2151159, can be downloaded from http://d-h.st/fqV - the ROM I am using is 
ParanoidAndroid3

Can a pre-linked binary be used please?  I downloaded truecrypt.bin separately 
from your website, but running 'sh ./truecrypt.bin' in a terminal window fails 
with syntax error: '44' unexpected

Original issue reported on code.google.com by [email protected] on 24 Feb 2013 at 7:07

  • Merged into: #46

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.