Created
August 17, 2016 15:32
-
-
Save x2c3z4/c9036e2d978ccacd0d9a3707137e2ea6 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
wget http://www.inet.no/dante/files/dante-1.4.1.tar.gz | |
tar xvfz dante-1.4.1.tar.gz | |
cd dante-1.4.1 | |
./configure \ | |
--prefix=/usr \ | |
--sysconfdir=/etc \ | |
--localstatedir=/var \ | |
--disable-client \ | |
--without-libwrap \ | |
--without-bsdauth \ | |
--without-gssapi \ | |
--without-krb5 \ | |
--without-upnp \ | |
--without-pam | |
make && make install | |
# nano /etc/init.d/sockd | |
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: sockd | |
# Required-Start: $remote_fs $syslog | |
# Required-Stop: $remote_fs $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start the dante SOCKS server. | |
# Description: SOCKS (v4 and v5) proxy server daemon (sockd). | |
# This server allows clients to connect to it and | |
# request proxying of TCP or UDP network traffic | |
# with extensive configuration possibilities. | |
### END INIT INFO | |
# | |
# dante SOCKS server init.d file. Based on /etc/init.d/skeleton: | |
# Version: @(#)skeleton 1.8 03-Mar-1998 [email protected] | |
# Via: https://gitorious.org/dante/pkg-debian | |
PATH=/sbin:/usr/sbin:/bin:/usr/bin | |
NAME=sockd | |
DAEMON=/usr/sbin/$NAME | |
DAEMON_ARGS="-D" | |
PIDFILE=/var/run/$NAME.pid | |
SCRIPTNAME=/etc/init.d/$NAME | |
DESC="Dante SOCKS daemon" | |
CONFFILE=/etc/$NAME.conf | |
# Exit if the package is not installed | |
[ -x "$DAEMON" ] || exit 0 | |
# Load the VERBOSE setting and other rcS variables | |
. /lib/init/vars.sh | |
# Define LSB log_* functions. | |
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present | |
# and status_of_proc is working. | |
. /lib/lsb/init-functions | |
set -e | |
# This function makes sure that the Dante server can write to the pid-file. | |
touch_pidfile () | |
{ | |
if [ -r $CONFFILE ]; then | |
uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' $CONFFILE`" | |
if [ -n "$uid" ]; then | |
touch $PIDFILE | |
chown $uid $PIDFILE | |
fi | |
fi | |
} | |
case "$1" in | |
start) | |
if ! egrep -cve '^ *(#|$)' \ | |
-e '^(logoutput|user\.((not)?privileged|libwrap)):' \ | |
$CONFFILE > /dev/null | |
then | |
echo "Not starting $DESC: not configured." | |
exit 0 | |
fi | |
echo -n "Starting $DESC: " | |
touch_pidfile | |
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ | |
|| return 1 | |
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ | |
$DAEMON_ARGS \ | |
|| return 2 | |
echo "$NAME." | |
;; | |
stop) | |
echo -n "Stopping $DESC: " | |
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME | |
RETVAL="$?" | |
[ "$RETVAL" = 2 ] && return 2 | |
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON | |
[ "$?" = 2 ] && return 2 | |
echo "$NAME." | |
;; | |
reload|force-reload) | |
# | |
# If the daemon can reload its config files on the fly | |
# for example by sending it SIGHUP, do it here. | |
# | |
# If the daemon responds to changes in its config file | |
# directly anyway, make this a do-nothing entry. | |
# | |
echo "Reloading $DESC configuration files." | |
start-stop-daemon --stop --signal 1 --quiet --pidfile \ | |
$PIDFILE --exec $DAEMON -- -D | |
;; | |
restart) | |
# | |
# If the "reload" option is implemented, move the "force-reload" | |
# option to the "reload" entry above. If not, "force-reload" is | |
# just the same as "restart". | |
# | |
echo -n "Restarting $DESC: " | |
start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON | |
sleep 1 | |
touch_pidfile | |
start-stop-daemon --start --quiet --pidfile $PIDFILE \ | |
--exec $DAEMON -- -D | |
echo "$NAME." | |
;; | |
status) | |
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? | |
;; | |
*) | |
N=/etc/init.d/$NAME | |
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 | |
echo "Usage: $N {start|stop|restart|status|force-reload}" >&2 | |
exit 1 | |
;; | |
esac | |
exit 0 | |
# chmod +x /etc/init.d/sockd | |
# update-rc.d sockd defaults |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment