noiselabs / box-linux-sync Goto Github PK
View Code? Open in Web Editor NEWLinux client for Box.com
Home Page: http://box-linux-sync.readthedocs.org/en/latest/
License: GNU Lesser General Public License v3.0
Linux client for Box.com
Home Page: http://box-linux-sync.readthedocs.org/en/latest/
License: GNU Lesser General Public License v3.0
~ $ bin/box-sync setup
* Setting up davfs...
Created configuration file '/.noiselabs/box/box-sync.cfg'
Created example configuration file '/.noiselabs/box/box-sync.cfg.sample'
* Created sync directory at '/Box'
Traceback (most recent call last):
File "/projects/box-linux-sync/bin/box-sync", line 55, in <module>
retval = box_main()
File "/projects/box-linux-sync/src/noiselabs/box/main.py", line 108, in box_main
setup.wizard()
File "/projects/box-linux-sync/src/noiselabs/box/setup.py", line 197, in wizard
self.setup_davfs()
File "/projects/box-linux-sync/src/noiselabs/box/setup.py", line 95, in setup_davfs
if not user in grp.getgrnam("davfs2").gr_mem:
KeyError: 'getgrnam(): name not found: davfs2'
~ $ bin/box-sync check
* Checking davfs installation...
! Davfs is not installed in your system. Please install it and re-run this application.
You may install it using: $ sudo emerge davfs2
While running box-sync setup
we should set SUID bit to mount.davfs allowing regular usage of box-sync
without requiring root privileges:
sudo chmod u+s /sbin/mount.davfs
This change should fix #2
This is not an issue with box-linux-sync, but rather with how davfs (possible webdav?) handles (or doesn't handle) special characters in passwords and how the characters get encoded/passed over https.
My password has a special character in it. This caused mounting to fail:
/sbin/mount.davfs: Mounting failed.
Could not authenticate to server: rejected Basic challenge
Failed to mount sync dir.
So, I don't expect any resolution in this project... but I wasn't sure how else to communicate the situation.
Perhaps this issue could be resolved by updating the README to indicate this restriction.
I setup box-linux-sync and got it to work. I cannot write anything to it even with sudo. Now I suspect this is because it was installed as root.
drwxr-xr-x 5 root root 144 Aug 26 14:07 Box/
I am considering changing permission of the whole directory structure to recursively to the active user name. But I can't get the sync to stop. It always returns 'target is busy'.
user@system:~$ sudo ~/box-linux-sync/bin/box-sync stop
umount: /home/user/Box: target is busy.
Failed to unmount sync dir.
I also constantly keep getting this pop-up for authentication which I suspect happens whenever box-sync does something.
Running 0.1.0 on Ubuntu 18.04.1 LTS.
Could you tag your releases and make the changelog directly visible in your GitHub releases? This would increase transparency for potential users and distribution maintainers. Something like https://skywinder.github.io/github-changelog-generator/ could be used to generate the changelog based on merged PRs and closed issues since the last release tag.
First off, thanks for box-linux-sync! I just found it and it seems to run nicely on Debian/Stretch.
A minor issue that I encountered: Running ./box-sync check
triggered the warning
- Please set 'use_locks 0' in /etc/davfs2/davfs2.conf
for me, in spite of the option being set to 0 already in the config file.
I just did a git clone, then CD into the bin directory, and ran ./box-sync check
This is the error I got:
Traceback (most recent call last):
File "./box-sync", line 47, in
from noiselabs.box.main import box_main
ImportError: No module named 'noiselabs'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./box-sync", line 51, in
from noiselabs.box.main import box_main
File "/home/user/box-linux-sync/src/noiselabs/init.py", line 22, in
import('pkg_resources').declare_namespace(name)
ImportError: No module named 'pkg_resources'
Any ideas? Could it be because of a python version mismatch?
I get the following error and another error that says, "Could not authenticate to server: rejected Basic challenge". Failed to mount sync dir.
I'm on Ubuntu GNOME 16.04 and I put /.davfs2/box-linux-sync/bin/box-sync start
as an entry in Gnome's startup application preferences. However, it gives an error.
I think it's because when I enter /.davfs2/box-linux-sync/bin/box-sync start
normally in terminal, it still asks for my password:
Please enter the password to authenticate user [email protected] with server https://dav.box.com/dav or hit enter for none.
I've put in my e-mail and password in ./davfs2/secrets
-- box sync appears to be pulling at least my e-mail, so why not the password?
Let me know if there's any way to fix this.
Many thanks,
Kevin
So i tried out the client , didnt fancy it, got rid of it. But i still have this lingering "Box" option under devices, how do i get rid of this?
(Using linux mint)
I guess this is more a request than an issue..
My employer uses Box, but has it linked to our internal authentication system, meaning we use our intranet logon to access it and its therefore not available outside the corporate network.
The flow is ---> Go to https://company.app.box.com --> Log in with credentials --> Access files
I (obviously I guess) can use this tool to sync with my box because of this, as it tries to authenticate towards regular Box.com.. Any chance of adding that as a feature ?
for this to work you need to install davfs2, pleas add this to README files....
Hi,
André here.
Setup went well, but cant run as nomal user. i'v installed davfs2 setup username and pass in ./davfs2/secrets
setup correct path to box folder in etc/fstab
NOTE: www.box.net should be www.box.com
try to start box sync...
~/BOX-SYNC/bin$ ./box-sync start
/sbin/mount.davfs: program is not setuid root. Failed to mount sync dir.
as root maybe..
~/BOX-SYNC/bin$ gksu ./box-sync start
mount: can't find /root/Box in /etc/fstab or /etc/mtab. Failed to mount sync dir.
so what should i do?
Sorry to bother you again, but I seem to be missing something. After the davfs folder is mounted, where does it sync to? The only thing I've seen in the configuration is which folder gets mounted. In the logs, all I see is the folder being mounted and unmounted. How do I set up the actual syncing?
Hello,
on Centos 6.5 installed davfs2 and ./box-sync check gives error about davfs2 not installed, checked source and found bug in setup.py on line 62
for davfs_file in ['/usr/sbin/mount.davfs', '/sbin/umount.davfs', '/etc/davfs2/davfs2.conf']:
should be
for davfs_file in ['/sbin/mount.davfs', '/sbin/umount.davfs', '/etc/davfs2/davfs2.conf']:
fixed in file and check run smootly.
When organizations use box, the login credentials can be managed by the institution, through a redirect (see https://app.box.com/login/sso)
Is there a way to support this use case, or do the underlying differences in authentication for each org make this a non-starter?
Hi,
Getting the following error post cloning from Git on Ubuntu 16.04
./box-sync setup
Traceback (most recent call last):
File "./box-sync", line 51, in
from noiselabs.box.main import box_main
File "/home/ganesh/box-linux-sync/src/noiselabs/init.py", line 22, in
import('pkg_resources').declare_namespace(name)
ImportError: No module named pkg_resources
Regards
When it appears:
It should be:
sudo sh -c 'echo "https://www.box.com/dav /home/gjc/Box davfs rw,user,noauto 0 0" >> /etc/fstab'
I.e., the >> redirection has to be part of the command run by sudo, in order for it to work.
Thanks for making this tool - the instructions and setup were very clear.
Since I use Box under my employer's enterprise account, our entire set of files would be synced to ~/Box. That's going to be several gigabytes of files - no good!
Is there a way to filter which subfolders are synced locally? For example, a setting in ~/.noiselabs/box/box-sync.cfg to only sync ~/Box/fee/ and ~/Box/foo/ ?
I need to know when syncing has finished before going off line.
Is there any way to query this?
The endpoint started to return 502: Bad gateway. Details:
https://www.reddit.com/r/sysadmin/comments/wut8f6/boxcom_webdav/
One issue I notice that I cannot make symbolic links to the Box
folder. If I turn off WebDAV
, is it possible to implement this? The files I want to sync are in widely different folders, and to create a copy of them on the same hard disk would defeat the purpose. Symlinks work excellently with clients for other services.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.