network/msn-proxy: Added to 13.0 repository

This commit is contained in:
Niels Horn 2010-05-13 01:00:07 +02:00 committed by Robby Workman
parent 247bdc6799
commit acafd6f8fd
8 changed files with 279 additions and 0 deletions

12
network/msn-proxy/README Normal file
View File

@ -0,0 +1,12 @@
msn-proxy is a light-weight transparent proxy for MSN Messenger clients that
allows you to control and monitor the use of Messenger on your network.
This SlackBuild installs the msn-proxy web pages in /var/www/htdocs/
To change the location, set the DOCROOT variable:
# DOCROOT=your/docroot/dir ./msn-proxy.SlackBuild
(be sure to omit the leading "/" from the path; for example, use "home/www/"
instead of "/home/www/" if your preferred DOCROOT is /home/www/.
This requires libevent, and also needs httpd, php, mysql configured & running.
See the included README.SLACKWARE file for configuration instructions.

View File

@ -0,0 +1,78 @@
README.SLACKWARE
================
After installing the package, follow these steps to setup msn-proxy:
1) Edit your configuration files
--------------------------------
You'll need to check:
- /etc/msn-proxy/msn-proxy.conf
- /etc/msn-proxy/mysql/conf
- /etc/msn-proxy/mysql.inc.php
2) Create database & user on your MySQL server
----------------------------------------------
# mysql -p<your_password>
mysql> create database `msn-proxy`;
mysql> grant all privileges on `msn-proxy`.* to `msn-proxy`@localhost
-> identified by 'secret';
mysql> flush privileges;
mysql> quit
Change the password ('secret') and name of the server where msn-proxy will
run (localhost) as needed.
3) Start msn-proxy first time to create the tables
--------------------------------------------------
# msn-proxy -f /etc/msn-proxy/
msn-proxy will create the tables and exit with an error:
fail to read mysql config (check defaults table)
This is normal and will be solved in the next step.
4) Insert server IP in defaults table
-------------------------------------
# mysql -u msn-proxy -psecret
mysql> use database `msn-proxy`;
mysql> insert into defaults (internal_host) values ('<your_ip>');
mysql> quit
5) Start msn-proxy
------------------
msn-proxy can be started with:
# msn-proxy -f /etc/msn-proxy &
Put this line in your /etc/rc.d/rc.local file to always start the service
when booting.
6) Configuring clients
----------------------
The clients on your network need to point their MSN to your new proxy.
You can also do this automatically in your nameserver. If you use dnsmasq
on Slackware, simply insert this line:
address=/messenger.hotmail.com/<your_ip>
This way all requests to resolve the IP for "messenger.hotmail.com" will be
answered with the address of your msn-proxy server.
It is also a good idea to block http access to messenger.hotmail.com (and
some of the alternatives out there) in your proxy or firewall if you want
to be absolutely sure that all messenger traffic goes through msn-proxy.
7) See the result
-----------------
Simply point your browser at http://<your_ip>/msn-proxy/index.php
Now you have the option to either keep this address "secret" or use known
httpd access control methods to prevent all users to see the result :)

View File

@ -0,0 +1,27 @@
--- msn-proxy-0.7_orig/Makefile 2009-01-20 13:34:19.000000000 -0200
+++ msn-proxy-0.7/Makefile 2009-12-26 23:17:08.000000000 -0200
@@ -1,18 +1,18 @@
RM=/bin/rm
INSTALL=/usr/bin/install
-SYSCONFDIR=$(DESTDIR)/usr/local/etc/msn-proxy
-BINDIR=$(DESTDIR)/usr/local/bin
+SYSCONFDIR=$(DESTDIR)/etc/msn-proxy
+BINDIR=$(DESTDIR)/usr/bin
-# FreeBSD
-MYSQLINC=/usr/local/include
-MYSQLLIB=/usr/local/lib/mysql
+# Slackware
+MYSQLINC=/usr/include/mysql
+MYSQLLIB=/usr/lib@LIBDIRSUFFIX@/mysql
# Linux (most)
#MYSQLINC=/usr/lib/mysql
#MYSQLLIB=/usr/local/mysql/lib/mysql
-CCFLAGS=-g -Wall -O2 -pipe -I/usr/local/include -I$(MYSQLINC) -fno-builtin-log
+CCFLAGS=-g -Wall @SLKCFLAGS@ -pipe -I/usr/local/include -I$(MYSQLINC) -fno-builtin-log
LDFLAGS=-L/usr/local/lib -levent -L$(MYSQLLIB) -lmysqlclient

View File

@ -0,0 +1,17 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/msn-proxy/msn-proxy.conf.new
config etc/msn-proxy/mysql/conf.new
config etc/msn-proxy/mysql.inc.php.new

View File

@ -0,0 +1,105 @@
#!/bin/sh
# Slackware build script for msn-proxy
# Written by Niels Horn <niels.horn@gmail.com>
# revision date: 2009/12/27
PRGNAM=msn-proxy
VERSION=${VERSION:-0.7}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
DOCROOT=${DOCROOT:-var/www/htdocs}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Patch mysql.h because it has the configuration directory hard-coded...
patch -p1 < $CWD/mysql.patch
# msn-proxy has no "configure", so we'll patch the Makefile to Slackware
# standards
patch -p1 < $CWD/config.patch
# Now enter SLKCFLAGS LIBDIRSUFFIX in the Makefile:
sed -i -e "s,@SLKCFLAGS@,$SLKCFLAGS,g" -e "s,@LIBDIRSUFFIX@,$LIBDIRSUFFIX,g" \
Makefile
make
make install DESTDIR=$PKG
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null || true
)
# Rename configuration files
mv $PKG/etc/$PRGNAM/$PRGNAM.conf $PKG/etc/$PRGNAM/$PRGNAM.conf.new
mv $PKG/etc/$PRGNAM/mysql/conf $PKG/etc/$PRGNAM/mysql/conf.new
# "Install" web pages
mkdir -p $PKG/$DOCROOT/$PRGNAM
cp -a php/* $PKG/$DOCROOT/$PRGNAM/
chown -R root:apache $PKG/$DOCROOT/$PRGNAM
# Move PHP configuration
mv $PKG/$DOCROOT/$PRGNAM/mysql.inc.php $PKG/etc/$PRGNAM/mysql.inc.php.new
chmod 640 $PKG/etc/$PRGNAM/mysql.inc.php.new
# Set correct Slackware location of mysql.sock
sed -i "s,/tmp/mysql.sock,/var/run/mysql/mysql.sock," \
$PKG/etc/$PRGNAM/mysql.inc.php.new
sed -i "s,/tmp/mysql.sock,/var/run/mysql/mysql.sock," \
$PKG/etc/$PRGNAM/mysql/conf.new
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
ChangeLog INSTALL \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Put instruction to create symbolic link to PHP conf in doinst script
cat >> $PKG/install/doinst.sh << EOF
( cd $DOCROOT/$PRGNAM ; rm -rf mysql.inc.php )
( cd $DOCROOT/$PRGNAM ; ln -sf /etc/$PRGNAM/mysql.inc.php )
EOF
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="msn-proxy"
VERSION="0.7"
HOMEPAGE="http://msn-proxy.sourceforge.net/"
DOWNLOAD="https://sourceforge.net/projects/msn-proxy/files/msn-proxy/msn-proxy-0.7/msn-proxy-0.7.tar.gz/download"
MD5SUM="11faa72c70c36874685ca1b0ed382dcc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Niels Horn"
EMAIL="niels.horn@gmail.com"
APPROVED="rworkman"

View File

@ -0,0 +1,11 @@
--- msn-proxy-0.7_orig/mysql.h 2009-03-15 14:30:28.000000000 -0300
+++ msn-proxy-0.7/mysql.h 2009-12-27 00:02:26.000000000 -0200
@@ -22,7 +22,7 @@
#define MYSQL_H
#ifndef MYSQLCONFDIR
-#define MYSQLCONFDIR "/usr/local/etc/msn-proxy/mysql"
+#define MYSQLCONFDIR "/etc/msn-proxy/mysql"
#endif
#ifndef MYSQLCONF
#define MYSQLCONF "conf"

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
msn-proxy: msn-proxy (transparent msn proxy)
msn-proxy:
msn-proxy: msn-proxy is a light-weight transparent proxy for MSN Messenger
msn-proxy: clients that allows you to control and monitor the use of Messenger
msn-proxy: on your network.
msn-proxy:
msn-proxy: http://msn-proxy.sourceforge.net/
msn-proxy:
msn-proxy:
msn-proxy:
msn-proxy: