mirror of
https://github.com/QSCTech/zjunet.git
synced 2026-01-22 11:44:48 +08:00
parent
9d62c2019c
commit
b5db28c519
57
user.sh
57
user.sh
@ -19,53 +19,68 @@
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# init
|
||||
DIR="$HOME/.zjunet"
|
||||
mkdir -p $DIR
|
||||
users_enabled="$HOME/.zjunet/users-enabled"
|
||||
users_disabled="$HOME/.zjunet/users-disabled"
|
||||
mkdir -p $users_enabled
|
||||
mkdir -p $users_disabled
|
||||
|
||||
getall() {
|
||||
ls -1A $DIR | xargs | tr "\n" " "
|
||||
ls -1A $users_enabled | xargs | tr "\n" " "
|
||||
}
|
||||
|
||||
# dispatch
|
||||
case "$1" in
|
||||
|
||||
enable)
|
||||
users=$(ls -1A $users_disabled | xargs | tr "\n" " ")
|
||||
read -p "Enable User [ ${users}]: " username
|
||||
mv "${users_disabled}/${username}" "${users_enabled}/${username}"
|
||||
;;
|
||||
|
||||
disable)
|
||||
users=$(getall)
|
||||
read -p "Disable User [ ${users}]: " username
|
||||
mv "${users_enabled}/${username}" "${users_disabled}/${username}"
|
||||
;;
|
||||
|
||||
add)
|
||||
read -p "USERNAME: " USERNAME
|
||||
read -p "PASSWORD: " PASSWORD
|
||||
echo $PASSWORD > "$DIR/${USERNAME}"
|
||||
read -p "username: " username
|
||||
read -p "password: " password
|
||||
echo $password > "$users_enabled/${username}"
|
||||
;;
|
||||
|
||||
edit)
|
||||
read -p "USERNAME: " USERNAME
|
||||
read -p "PASSWORD: " PASSWORD
|
||||
echo $PASSWORD > "$DIR/${USERNAME}"
|
||||
users=$(getall)
|
||||
read -p "username [ ${users}]: " username
|
||||
read -p "password: " password
|
||||
echo $password > "$users_enabled/${username}"
|
||||
;;
|
||||
|
||||
delete)
|
||||
USERS=$(getall)
|
||||
read -p "Delete User [ ${USERS}]: " USERNAME
|
||||
rm -i "$DIR/${USERNAME}"
|
||||
users=$(getall)
|
||||
read -p "Delete User [ ${users}]: " username
|
||||
rm -i "$users_enabled/${username}"
|
||||
;;
|
||||
|
||||
list)
|
||||
ls -1A $DIR
|
||||
ls -1A $users_enabled
|
||||
;;
|
||||
|
||||
# Get a user
|
||||
# @private
|
||||
get)
|
||||
COUNT=$(ls -1A $DIR | wc -l)
|
||||
count=$(ls -1A $users_enabled | wc -l)
|
||||
if [ "${COUNT}" -eq "0" ]; then
|
||||
echo "No user found. Use 'zjunet user add' to add a user."
|
||||
exit 1
|
||||
else
|
||||
if [ "${COUNT}" -gt "1" ]; then
|
||||
USERS=$(getall)
|
||||
read -p "Choose User [ ${USERS}]: " USERNAME
|
||||
if [ "${count}" -gt "1" ]; then
|
||||
users=$(getall)
|
||||
read -p "Choose User [ ${users}]: " username
|
||||
else
|
||||
USERNAME=$(ls -1 $DIR | head -n1)
|
||||
username=$(ls -1 $users_enabled | head -n1)
|
||||
fi
|
||||
echo $USERNAME
|
||||
echo $username
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -77,8 +92,8 @@ case "$1" in
|
||||
|
||||
# @private
|
||||
getpwd)
|
||||
USERNAME=$2
|
||||
cat "$DIR/${USERNAME}"
|
||||
username=$2
|
||||
cat "${users_enabled}/${username}"
|
||||
;;
|
||||
*)
|
||||
${BASEDIR}/zjunet.sh usage
|
||||
|
||||
20
vpn.sh
20
vpn.sh
@ -26,16 +26,18 @@ disconnect() {
|
||||
}
|
||||
|
||||
set_up_routes() {
|
||||
# IP=$(ip route show 0/0 | cut -d " " -f 3)
|
||||
|
||||
# case "$IP" in
|
||||
# 10.189.*)
|
||||
# return
|
||||
# ;;
|
||||
# 10.171.*)
|
||||
# return
|
||||
# ;;
|
||||
# esac
|
||||
IP=$(ip route show 0/0 | cut -d " " -f 3)
|
||||
|
||||
case "$IP" in
|
||||
10.189.*)
|
||||
;;
|
||||
10.171.*)
|
||||
;;
|
||||
*)
|
||||
# 内网静态路由 TODO
|
||||
;;
|
||||
esac
|
||||
|
||||
# # set up routes here
|
||||
|
||||
|
||||
@ -41,12 +41,15 @@ xl2tpd_restart() {
|
||||
}
|
||||
|
||||
# wait until ready
|
||||
for i in $(seq 0 120); do
|
||||
for i in $(seq 0 10); do
|
||||
if [ -e "/var/run/xl2tpd/l2tp-control" ]; then
|
||||
return 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Fail to start xl2tpd"
|
||||
exit 1
|
||||
}
|
||||
|
||||
xl2tpd_create_lac() {
|
||||
@ -92,6 +95,8 @@ connect() {
|
||||
tail $PPP_LOG_FILE
|
||||
echo -n > $PPP_LOG_FILE
|
||||
|
||||
echo "Try to bring up ppp."
|
||||
|
||||
count=$(ip addr show | grep 'inet.*ppp' | grep ' 10.5.' | wc -l)
|
||||
if [ ${count} -gt ${prev_count} ]; then
|
||||
echo "Bring up ppp, done."
|
||||
|
||||
10
zjunet.sh
10
zjunet.sh
@ -43,11 +43,11 @@ zjunet: CLI Tool (VPN/WLAN/DNS) for Zjuer
|
||||
Usage: zjunet [ACTION]
|
||||
|
||||
Actions:
|
||||
user add/edit/delete/list User Manager
|
||||
vpn connect(-c)/disconnect(-d) Connect VPN
|
||||
wlan login/logout ZJUWLAN
|
||||
ip Show IP
|
||||
dns Test and set up DNS Server
|
||||
user add/edit/delete/list/enable/disable User Manager
|
||||
vpn connect(-c)/disconnect(-d) Connect VPN
|
||||
wlan login/logout ZJUWLAN
|
||||
ip Show IP
|
||||
dns Test and set up DNS Server
|
||||
EOF
|
||||
;;
|
||||
esac
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user