2013-11-05 14:10:22 +00:00
|
|
|
#!/usr/bin/env watchman
|
|
|
|
|
|
|
|
unset reload
|
|
|
|
|
2014-02-25 21:57:59 +00:00
|
|
|
service_command='/usr/bin/cjdroute'
|
2014-04-04 11:40:00 +00:00
|
|
|
|
2014-04-05 07:52:51 +00:00
|
|
|
cjdroute_config='/etc/cjdroute.conf'
|
2014-04-05 19:59:52 +00:00
|
|
|
cjdroute_admin_port='11234'
|
2013-11-05 14:10:22 +00:00
|
|
|
|
2013-11-13 07:04:27 +00:00
|
|
|
cjdroute.check_tun_module() {
|
|
|
|
[[ -e '/dev/net/tun' ]] || {
|
|
|
|
modprobe tun || {
|
|
|
|
watchman.err "Could not load module tun!"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-04-05 07:52:51 +00:00
|
|
|
get_pid() {
|
2014-04-05 19:59:52 +00:00
|
|
|
lsof -i :"$cjdroute_admin_port" | tail -1 | cut -d ' ' -f 2
|
2014-04-05 07:52:51 +00:00
|
|
|
}
|
|
|
|
|
2013-11-05 14:10:22 +00:00
|
|
|
start() {
|
2013-11-13 07:04:27 +00:00
|
|
|
cjdroute.check_tun_module || { return 1; }
|
2014-02-25 21:57:59 +00:00
|
|
|
|
|
|
|
[[ -e "$cjdroute_config" ]] || {
|
|
|
|
watchman.err "$cjdroute_config does not exist, please create it by running cjdroute --genconf >> /etc/cjdroute.conf"
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
2014-06-28 06:54:06 +00:00
|
|
|
"$service_command" < "${cjdroute_config}" &>"$service_logfile" && {
|
|
|
|
watchman.msg "${service_name} started"
|
|
|
|
}
|
2013-11-05 14:10:22 +00:00
|
|
|
}
|