1

Тема: anon-proxy для Arch

В Убунту є класний пакет (з моєї точки зору), який стане в пригоді, якщо вас забанили або провайдер чомусь заблокував Вам доступ до деяких сайтів. Пакет створений на основі jap, і мені його страшенно бракувало. Коротше, отут PKGBUILD

pkgname=anon-proxy
pkgver=00.05.38+20081230
pkgrel=1
pkgdesc="Proxy to surf the web anonymously"
url="http://anon.inf.tu-dresden.de/"
license=('custom')
depends=('xerces-c-2')
arch=('i686')
source=(http://de.archive.ubuntu.com/ubuntu/pool/universe/a/anon-proxy/anon-proxy_${pkgver}.orig.tar.gz)
md5sums=('')
install=anon-proxy.install


build() {
    cd $startdir/src/${pkgname}-${pkgver}

    ./configure --prefix=/usr \
    --with-xml-include=/opt/xerces-c-2/include/ \
    --with-xml-lib=/opt/xerces-c-2/lib/
    
    make || return 1
    make DESTDIR="${pkgdir}" install || return 1

    install -D -m755 "$startdir/anon-proxy.init"    "$pkgdir/etc/rc.d/anon-proxy" || return 1
    
}

тут додаткові файли anon-proxy.install

post_install() {

   if ! getent passwd anon-proxy > /dev/null; then
#         adduser --quiet --system --no-create-home \
#             --home /var/run/anon-proxy anon-proxy || true
    useradd -M -r -s /bin/false -d /var/run/anon-proxy anon-proxy || true
    chown anon-proxy:root /var/run/anon-proxy
    mkdir /var/run/anon-proxy
    fi

    if [ -d /var/run/anon-proxy ]; then
        chown anon-proxy /var/run/anon-proxy || true
    fi
echo "ATTENTION!!! Anon-proxy requires xerces-c libraries to start. Make a soft links as root: \n
ln -s -f /opt/xerces-c-2/lib/libxerces-c.so /usr/lib/libxerces-c.so \n
ln -s -f /opt/xerces-c-2/lib/libxerces-c.so.28 /usr/lib/libxerces-c.so.28 "    
    
# cp anon-proxy.init /etc/rc.d/anon-proxy
# chmod 0755 /etc/rc.d/anon-proxy
        
}

post_upgrade() {
post_install $1
}

post_remove() {
post_install
rm -f /etc/rc.d/anon-proxy
}

op=$1
shift

$op $*

і anon-proxy.init

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

PID=`pidof -o %PPID /usr/sbin/mix`
CASCADE="mix.inf.tu-dresden.de:443"
PORT="4001"
OPTIONS="-a -j $PID -n $CASCADE -p $PORT"

case "$1" in
  start)
    stat_busy "Starting Anonymising Proxy Service anon-proxy"
    [ -z "$PID" ] && /usr/sbin/mix  $OPTIONS & 
    echo $OPTIONS
    if [ $? -gt 0 ]; then
      stat_fail
    else
      echo $(pidof -o %PPID -x /usr/sbin/mix) > /var/run/mix.pid
      add_daemon mix
      stat_done
    fi
    ;;
  stop)
    stat_busy "Stopping anon-proxy Daemon"
    [ ! -z "$PID" ]  && kill $PID &> /dev/null
    if [ $? -gt 0 ]; then
      stat_fail
    else
      rm /var/run/mix.pid
      rm_daemon mix
      stat_done
    fi
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"  
esac
exit 0

Надіюся, комусь пригодиться. Я не впевнений, що все зробив за стандартами Arch, але принаймні у мене працює.

Востаннє редагувалося knedlyk (2009-05-01 16:52:15)

"Дивовижний народ українці! Найбільші його вороги сконали своєю смертю" І. Драч