Last active
September 22, 2022 23:33
-
-
Save dgraziotin/4487187 to your computer and use it in GitHub Desktop.
Script to automatically look for Apple TimeCapsule devices and mount/umount them under GNU/Linux. See http://task3.cc/418/how-to-automatically-mount-and-umount-apple-time-capsule-on-linu for info and explanations.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# This program is free software. It comes without any warranty, to | |
# the extent permitted by applicable law. You can redistribute it | |
# and/or modify it under the terms of the Do What The Fuck You Want | |
# To Public License, Version 2, as published by Sam Hocevar. See | |
# http://sam.zoy.org/wtfpl/COPYING for more details. | |
# | |
# Version 3, enhanced for Ubuntu 13.X+, Fedora 19+, and similar distros. | |
# Runs on all GNU/Linux distros (install cifs-utils) | |
# Author: Daniel Graziotin <dgraziotin AT task3 DOT cc> - http://task3.cc | |
# Purpose: Check if there is a TimeCapsule in your network and mount it | |
# for use it under Gnu/Linux. Unmount it if it is already mounted. | |
# The mount point is created and destroyed after use (for prevent | |
# automatic backup software to backup in the directory if the device | |
# is not mounted) | |
# Instructions: | |
# 1) Install cifs-utils (sudo apt-get install cifs-utils) | |
# 1) Change the first four variables according to your configuration. | |
# 2) Run this program at boot when your network is already | |
# set up. Also, run it on logoff to umount Time Capsule. | |
TIMECAPSULE_IP="" # e.g. "192.168.1.100" | |
TIMECAPSULE_VOLUME="/Time\ Capsule" # also try "/Data" | |
TIMECAPSULE_PASSWORD="YOURPASSWORDHERE" # prefix special characters, e.g. \! | |
MOUNT_POINT=/mnt/timecapsule # no need to create the directory | |
IS_MOUNTED=`mount 2> /dev/null | grep "$MOUNT_POINT" | cut -d' ' -f3` | |
TIMECAPSULE_PATH="//$TIMECAPSULE_IP$TIMECAPSULE_VOLUME" | |
if [[ "$IS_MOUNTED" ]] ;then | |
umount $MOUNT_POINT | |
rmdir $MOUNT_POINT | |
else | |
CHECK_TIMECAPSULE=`smbclient --no-pass -L $TIMECAPSULE_IP 2>&1 > /dev/null | grep -m1 -i apple` | |
if [[ "$CHECK_TIMECAPSULE" =~ "Apple" ]] ;then | |
mkdir $MOUNT_POINT | |
echo "mount.cifs $TIMECAPSULE_PATH $MOUNT_POINT -o pass=$TIMECAPSULE_PASSWORD,file_mode=0777,dir_mode=0777,sec=ntlm" | /bin/bash | |
fi | |
fi |
any reason you chose to use mount.cifs
over mount -t smbfs
?
I remember´ reading somewhere that calling one of these commands directly from a CLI is suppose to be a no no 👎
i run macOS nevermind
linux has removed ntld https://www.linuxadictos.com/en/linux-5-15-took-over-the-support-for-the-airport-extreme-disk.html Any fix to this?
@brolal I hope that someone can help you here. My TimeCapsule has long been dead.
not working on ubuntu 22.04 or parrot linux, I simple need to emulate windows just for my time capsule. Please help
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I made a simple change on the script, I removed the smbclient check, because the security is different in TimeCapsule now, and also added parameters to mount command, with sudo. I also created a daemon script to run it on startup.