| Author |
Message |
plinej
Joined: 13 Aug 2006 Posts: 1517
|
Posted: Thu 17 May 2012, 21:30 Post subject:
box.com - davfs2 - libneon Subject description: mounting your box.com account in Puppy |
|
I was looking for a good alternative to dropbox since dropbox has way too much overhead. I was lucky enough to get a free 50 GB's from box.com so after much googling I figured out how to get it all working. Install davfs2 & libneon below then run the mount-box startup script. That is a script that I put together to automate getting everything set up. If you make a mistake when prompted for your username or password you'll need to delete the file "/etc/davfs2/secrets" and run the mount-box script again.
| Description |
compiled in Racy 5.3
|

Download |
| Filename |
davfs2-1.4.6-i486.pet |
| Filesize |
54.99 KB |
| Downloaded |
254 Time(s) |
| Description |
new startup script as of 5/26
|

Download |
| Filename |
mount-box.tar.gz |
| Filesize |
897 Bytes |
| Downloaded |
220 Time(s) |
| Description |
|

Download |
| Filename |
libneon-27.2.6.pet |
| Filesize |
52.12 KB |
| Downloaded |
274 Time(s) |
_________________ An archive of quite a few pet packages, mostly that I've compiled, is located at http://my.opera.com/jpline/blog
Last edited by plinej on Sat 26 May 2012, 19:47; edited 3 times in total
|
|
Back to top
|
|
 |
plinej
Joined: 13 Aug 2006 Posts: 1517
|
Posted: Thu 17 May 2012, 21:33 Post subject:
|
|
This is the mount box script:
| Code: |
#!/bin/sh
ROUTE="`route -n | grep -c '^0\.0\.0\.0'`"
while [ "$ROUTE" = 0 ]; do
sleep 30
ROUTE="`route -n | grep -c '^0\.0\.0\.0'`"
done
if [ "`cat /etc/fstab | grep davfs`" = "" ]; then
echo "https://www.box.com/dav/ /mnt/box davfs noauto,user 0 0" >> /etc/fstab
fi
if ! [ -d /mnt/box ]; then
mkdir /mnt/box
fi
addgroup davfs2 2>/dev/null
adduser -G davfs2 -D davfs2 2>/dev/null
if ! [ -d /etc/davfs2 ]; then
mkdir /etc/davfs2
fi
if ! [ -f /etc/davfs2/davfs2.conf ]; then
echo use_locks 0 > /etc/davfs2/davfs2.conf
echo cache_size 1 >> /etc/davfs2/davfs2.conf
echo delay_upload 0 >> /etc/davfs2/davfs2.conf
fi
if ! [ -f /etc/davfs2/secrets ]; then
echo -n "enter your box username (e-mail) - > "
read USER
echo -n "enter your box password - > "
read PASS
echo "/mnt/box $USER $PASS" > /etc/davfs2/secrets
fi
chmod 600 /etc/davfs2/secrets 2>/dev/null
rm /var/run/mount.davfs/mnt-box.pid 2>/dev/null
umount /mnt/box 2>/dev/null
mount /mnt/box
|
_________________ An archive of quite a few pet packages, mostly that I've compiled, is located at http://my.opera.com/jpline/blog
|
|
Back to top
|
|
 |
jamesbond
Joined: 26 Feb 2007 Posts: 1540 Location: The Blue Marble
|
Posted: Thu 24 May 2012, 10:42 Post subject:
|
|
Jason, if you use mount.davfs directly (instead of mount -t davfs), you can use echo "y" to it and it will accept the certificate. I just created a simple script called cloud-disk that also uses davfs2 to mount mydrive.ch and 4shared.com (I don't have account in box.com so I can't test).
The key line is:
| Code: | | echo -e "$user\n$password\ny" | mount.davfs $url $mountpoint | and it works. I don't have to deal with /etc/davfs2.conf (other than to set default options such as locks), also no more meddling with secrets file.
It works, regardless of the warning it says that you shouldn't call it directly.
umount.davfs on the other hand cannot handle mountpoint with spaces in it ...
The pet is available here, it only works for Fatdog64 600 but it can be easily modified to work with any puppies that have davfs2 (and curlftpfs, for that matter).
cheers!
_________________ Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
|
|
Back to top
|
|
 |
plinej
Joined: 13 Aug 2006 Posts: 1517
|
Posted: Sat 26 May 2012, 19:31 Post subject:
|
|
Thanks jamesbond! If anyone wants my tweaked script I'll post it below. Now there will be no prompt to accept the certificate and the login information on the initial running of the script will be a gtkdialog gui. Now the whole script can be added to your Startup directory to mount your box account on startup with no interaction. I'll replace the startup script in the first post with this new one as well.
| Code: | #!/bin/sh
ROUTE="`route -n | grep -c '^0\.0\.0\.0'`"
while [ "$ROUTE" = 0 ]; do
sleep 30
ROUTE="`route -n | grep -c '^0\.0\.0\.0'`"
done
if [ "`cat /etc/fstab | grep davfs`" = "" ]; then
echo "https://www.box.com/dav/ /mnt/box davfs noauto,user 0 0" >> /etc/fstab
fi
if ! [ -d /mnt/box ]; then
mkdir /mnt/box
fi
addgroup davfs2 2>/dev/null
adduser -G davfs2 -D davfs2 2>/dev/null
if ! [ -d /etc/davfs2 ]; then
mkdir /etc/davfs2
fi
if ! [ -f /etc/davfs2/davfs2.conf ]; then
echo use_locks 0 > /etc/davfs2/davfs2.conf
echo cache_size 1 >> /etc/davfs2/davfs2.conf
echo delay_upload 0 >> /etc/davfs2/davfs2.conf
fi
GTKDIALOG=""
if [ "`which gtkdialog4`" != "" ]; then
GTKDIALOG=gtkdialog4
elif [ "`which gtkdialog3`" != "" ]; then
GTKDIALOG=gtkdialog3
elif [ "`which gtkdialog`" != "" ]; then
GTKDIALOG=gtkdialog
elif [ "$GTKDIALOG" = "" ]; then
if ! [ -f /etc/davfs2/secrets ]; then
echo -n "enter your box username (e-mail) - > "
read USER
echo -n "enter your box password - > "
read PASS
echo "/mnt/box $USER $PASS" > /etc/davfs2/secrets
fi
fi
if [ "$GTKDIALOG" != "" ]; then
if ! [ -f /etc/davfs2/secrets ]; then
export BOX="
<window title=\"Login for box\">
<hbox>
<vbox>
<hbox>
<text><label>enter your box username (e-mail):</label></text>
<entry>
<variable>USER</variable>
</entry>
</hbox>
<hbox>
<text><label>enter your box password:</label></text>
<entry>
<variable>PASS</variable>
</entry>
</hbox>
<hbox>
<button>
<input file stock=\"gtk-ok\"></input>
<label>OK</label>
<action type=\"exit\">Exit-now</action>
</button>
</hbox>
</vbox>
</hbox>
</window>
"
RETSTRING="`$GTKDIALOG --program=BOX --center`"
USER=`echo "$RETSTRING" | grep USER= | sed 's/USER=\"//' | sed 's/\"//'`
PASS=`echo "$RETSTRING" | grep PASS= | sed 's/PASS=\"//' | sed 's/\"//'`
echo "/mnt/box $USER $PASS" > /etc/davfs2/secrets
fi
fi
chmod 600 /etc/davfs2/secrets 2>/dev/null
rm /var/run/mount.davfs/mnt-box.pid 2>/dev/null
umount /mnt/box 2>/dev/null
echo -e y | mount /mnt/box |
_________________ An archive of quite a few pet packages, mostly that I've compiled, is located at http://my.opera.com/jpline/blog
|
|
Back to top
|
|
 |
plinej
Joined: 13 Aug 2006 Posts: 1517
|
Posted: Mon 28 May 2012, 19:49 Post subject:
|
|
I tweaked this script and added lots of other account types besides box.com as well as throwing together a gui and posted it at:
http://www.murga-linux.com/puppy/viewtopic.php?t=78638
_________________ An archive of quite a few pet packages, mostly that I've compiled, is located at http://my.opera.com/jpline/blog
|
|
Back to top
|
|
 |
seaside
Joined: 11 Apr 2007 Posts: 835
|
Posted: Fri 01 Jun 2012, 16:49 Post subject:
Mount-box-enc |
|
plinej,
Thanks very much for your pets and scripts for desktop cloud storage sites.
Posted below is my signon script for box.com (mount-box-enc) which encrypts the password (for those that don't like to see their password sitting as plain text in a file) and stores it in a file "/etc/davfs2/logons"
This script can be placed in the /root/Startup directory or on the desktop. It could also be a menu item by making a "mount-box-enc.desktop" file.
Cheers,
s
(Too bad, I missed out on the 50g storage offer earlier )
| Code: |
#!/bin/sh
# mount-box-enc
# mounts box.com as folder to /mnt/box password encrypted
# Seaside 6/1/12
[[ `mount | grep www.box.com` ]] && Xdialog --msgbox '"www.box.com" is already mounted -- Exiting' 0 0 && exit
[ ! `which mount.davfs` ] && Xdialog --msgbox '"mount.davfs" not found -- Exiting' 0 0 && exit
[ ! -d /mnt/box ] && mkdir /mnt/box
addgroup davfs2 2>/dev/null
adduser -G davfs2 -D davfs2 2>/dev/null
[ ! -d /etc/davfs2 ] && mkdir /etc/davfs2
grep davfs /etc/fstab || echo "https://www.box.com/dav/ /mnt/box davfs noauto,user 0 0" >> /etc/fstab
[ ! -f /etc/davfs2/davfs2.conf ] && echo 'use_locks 0
cache_size 1
delay_upload 0' > /etc/davfs2/davfs2.conf
if ! [ -f /etc/davfs2/logons ]; then
export MAIN_DIALOG='
<window title="Box Signin ">
<vbox>
<hbox>
<entry>
<default>User Name (E-mail)</default>
<variable>NAME</variable>
</entry>
</hbox>
<hbox>
<entry activates-default="true">
<default>Password</default>
<variable>PASS</variable>
</entry>
</hbox>
<hbox>
<button can-default="true" has-default="true">
<input file stock="gtk-ok"></input>
<label>OK</label>
<action type="exit">Exit-now</action>
</button>
<button cancel></button>
</hbox>
</vbox>
</window>
'
CHOICES=`gtkdialog3 -p MAIN_DIALOG -c`
eval "$CHOICES"
PASS=`echo "$PASS"|openssl enc -base64 `
echo "NAME=$NAME
PASS=$PASS" > /etc/davfs2/logons
fi
. /etc/davfs2/logons
PASS=`echo "$PASS"|openssl enc -base64 -d`
echo -e "$NAME\n$PASS\ny"| mount -t davfs https://www.box.com/dav /mnt/box
rox /mnt/box
exit
|
|
|
Back to top
|
|
 |
sdiamond
Joined: 19 Jul 2012 Posts: 2
|
Posted: Thu 19 Jul 2012, 12:10 Post subject:
Fails to mount |
|
Greetings, everyone. I'm very new to Puppy and have minimal knowledge of *nix in general, so please bear with me and be specific if you're kind enough to reply.
I've installed both PET packages from the OP and tried both scripts. I'm getting the same error message each time I run one of the scripts or try to navigate to the /mnt/box directory:
| Quote: |
Mounting /mnt/box
/sbin/mount.davfs: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
Mount failed
Done
There was one error.
|
When I use the stock browser to go to https://www.box.com/dav I can log in fine, see my Box folders, and download files. So there's no connectivity or account access problem.
Any ideas about what could be wrong and what I can do to correct it? Thanks in advance!
|
|
Back to top
|
|
 |
sdiamond
Joined: 19 Jul 2012 Posts: 2
|
Posted: Thu 19 Jul 2012, 12:57 Post subject:
Re: Fails to mount |
|
| sdiamond wrote: | | Any ideas about what could be wrong and what I can do to correct it? |
After further research I have a better idea of what's wrong, but still no fix. BTW, I'm running Slacko Puppy 5.3.3 Frugal. Following this post, I did the following with the result shown:
| Quote: | # ldd /sbin/mount.davfs
linux-gate.so.1 => (0xfffe000)
libneon.so.27 => /usr/lib/libneon.co.27 (oxb77ab000)
...
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
|
I also saw this post in a thread that discusses (among other things) missing 1.0 versions of libssl and libcrypto. When I run that command, my output is missing two packages, Packages-puppy-lucid-official and Packages-puppy-squeeze-official. What now? Is there someplace I can just download and install these?
Thanks!
ETA: Neither of those two packages exists in my /initrd/pup_ro2/root/.packages directory (and I wouldn't know how to restore them if they did). I do see the lucid package listed here, but I don't have a clue what to do with that file.
|
|
Back to top
|
|
 |
|