15 дек. 2010 г.

Стартовый скрипт прошивки dd-wrt для абонентов byfly


#!/bin/sh
mkdir /tmp/rym
VLAN="br0" #бриджевый интерфейс, связывающий Wi-Fi и порты
MY_LAN="192.168.100.48/28" # домашняя подсеть
MY_SERVER="192.168.100.56" # IP локального сервура(NAS, WebServer, Transmittion)

if [ ${VLAN} ]; then
ifconfig ${VLAN} up
sleep 1
else
exit
fi


# скрипт, отрабатывающий при поднятии гостевого соединения(маршруты прописываются для г.Минска)
echo "#!/bin/sh
VLAN=\"${VLAN}\"
MY_LAN=\"${MY_LAN}\"
MY_SERVER=\"${MY_SERVER}\"
IPTBL=\"/usr/sbin/iptables\"
RT=\"/sbin/route\"
\$IPTBL -A FORWARD -t filter -i \$1 -m state --state ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -A POSTROUTING -o \$1 -s \$MY_LAN -d 0/0 -j MASQUERADE
### torrents
\$IPTBL -A FORWARD -p tcp -i \$1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT --dport 60885
\$IPTBL -A FORWARD -p udp -i \$1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT --dport 60885
\$IPTBL -t nat -A PREROUTING -p tcp -i \$1 -d \$5 --dport 60885 -j DNAT --to-destination \$MY_SERVER:60885
\$IPTBL -t nat -A PREROUTING -p udp -i \$1 -d \$5 --dport 60885 -j DNAT --to-destination \$MY_SERVER:60885
### http
\$IPTBL -A FORWARD -p tcp -i \$1 --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -A PREROUTING -t nat -p tcp -i \$1 -d \$5 --dport 8080 -j DNAT --to-destination \$MY_SERVER:80
### ssh
\$IPTBL -A FORWARD -p tcp -i \$1 --dport 22022 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -A PREROUTING -p tcp -i \$1 -d \$5 --dport 22022 -j DNAT --to-destination \$MY_SERVER:22
### transmittion
\$IPTBL -t nat -A PREROUTING -p tcp -i \$1 -d \$5 --dport 9090 -j DNAT --to-destination \$MY_SERVER:9091
\$IPTBL -A FORWARD -p tcp -i \$1 --dport 9090 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sleep 1
\$RT add -net 86.57.151.0 netmask 255.255.255.224 \$1
\$RT add -host 86.57.251.28 \$1
\$RT add -host 86.57.253.1 \$1
\$RT add -host 86.57.253.1 \$1
\$RT add -host 193.232.248.79 \$1
\$RT add -host 193.232.248.80 \$1
\$RT add -host 82.209.245.151 \$1
\$RT add -host 194.158.206.240 \$1
\$RT add -host 194.158.206.241 \$1
\$RT add -host 194.158.206.246 \$1
\$RT add -host 194.158.202.59 \$1
\$RT add -host 82.209.195.15 \$1
\$RT add -net 86.57.250.0 netmask 255.255.254.0 \$1
\$RT add -net 86.57.246.0 netmask 255.255.255.0 \$1
\$RT add -net 93.84.112.0 netmask 255.255.248.0 \$1
\$RT add -net 178.124.128.0 netmask 255.255.248.0 \$1
\$RT add -net 91.149.189.0 netmask 255.255.255.128 \$1
\$RT add -net 91.149.189.128 netmask 255.255.255.192 \$1
\$RT add -net 93.125.53.0 netmask 255.255.255.0 \$1
\$RT add -net 178.172.148.0 netmask 255.255.255.0 \$1
\$RT add -net 91.149.157.0 netmask 255.255.255.128 \$1
\$RT add -net 91.149.157.192 netmask 255.255.255.192 \$1
\$RT add -net 93.125.30.0 netmask 255.255.254.0 \$1
\$RT add -host 194.158.199.177 \$1
\$RT add -host 82.209.240.241 \$1
\$RT add -host 82.209.243.241 \$1
\$RT add -net 1.0.0.0/8 \$1
sleep 1
" > /tmp/rym/guest.ip-up
chmod +x /tmp/rym/guest.ip-up


# скрипт, отрабатывающий при отваливании гостевого соединения(чистка iptables и маршрутов)
echo "#!/bin/sh
VLAN=\"${VLAN}\"
MY_LAN=\"${MY_LAN}\"
MY_SERVER=\"${MY_SERVER}\"
IPTBL=\"/usr/sbin/iptables\"
RT=\"/sbin/route\"
\$IPTBL -D FORWARD -t filter -i \$1 -m state --state ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -D POSTROUTING -o \$1 -s \$MY_LAN -d 0/0 -j MASQUERADE
### torrents
\$IPTBL -D FORWARD -p tcp -i \$1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT --dport 60885
\$IPTBL -D FORWARD -p udp -i \$1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT --dport 60885
\$IPTBL -t nat -D PREROUTING -p tcp -i \$1 -d \$5 --dport 60885 -j DNAT --to-destination \$MY_SERVER:60885
\$IPTBL -t nat -D PREROUTING -p udp -i \$1 -d \$5 --dport 60885 -j DNAT --to-destination \$MY_SERVER:60885
### http
\$IPTBL -D FORWARD -p tcp -i \$1 --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -D PREROUTING -t nat -p tcp -i \$1 -d \$5 --dport 8080 -j DNAT --to-destination \$MY_SERVER:80
### ssh
\$IPTBL -D FORWARD -p tcp -i \$1 --dport 22022 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -D PREROUTING -p tcp -i \$1 -d \$5 --dport 22022 -j DNAT --to-destination \$MY_SERVER:22
### transmittion
\$IPTBL -t nat -D PREROUTING -p tcp -i \$1 -d \$5 --dport 9090 -j DNAT --to-destination \$MY_SERVER:9091
\$IPTBL -D FORWARD -p tcp -i \$1 --dport 9090 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sleep 1
\$RT del -net 86.57.151.0 netmask 255.255.255.224 \$1
\$RT del -host 86.57.251.28 \$1
\$RT del -host 86.57.253.1 \$1
\$RT del -host 86.57.253.1 \$1
\$RT del -host 193.232.248.79 \$1
\$RT del -host 193.232.248.80 \$1
\$RT del -host 82.209.245.151 \$1
\$RT del -host 194.158.206.240 \$1
\$RT del -host 194.158.206.241 \$1
\$RT del -host 194.158.206.246 \$1
\$RT del -host 194.158.202.59 \$1
\$RT del -host 82.209.195.15 \$1
\$RT del -net 86.57.250.0 netmask 255.255.254.0 \$1
\$RT del -net 86.57.246.0 netmask 255.255.255.0 \$1
\$RT del -net 93.84.112.0 netmask 255.255.248.0 \$1
\$RT del -net 178.124.128.0 netmask 255.255.248.0 \$1
\$RT del -net 91.149.189.0 netmask 255.255.255.128 \$1
\$RT del -net 91.149.189.128 netmask 255.255.255.192 \$1
\$RT del -net 93.125.53.0 netmask 255.255.255.0 \$1
\$RT del -net 178.172.148.0 netmask 255.255.255.0 \$1
\$RT del -net 91.149.157.0 netmask 255.255.255.128 \$1
\$RT del -net 91.149.157.192 netmask 255.255.255.192 \$1
\$RT del -net 93.125.30.0 netmask 255.255.254.0 \$1
\$RT del -host 194.158.199.177 \$1
\$RT del -host 82.209.240.241 \$1
\$RT del -host 82.209.243.241 \$1
\$RT del -net 1.0.0.0/8 \$1
sleep 1
" > /tmp/rym/guest.ip-down
chmod +x /tmp/rym/guest.ip-down
# скрипт, отрабатывающий при поднятии интернет соединения
echo "#!/bin/sh
VLAN=\"${VLAN}\"
MY_LAN=\"${MY_LAN}\"
MY_SERVER=\"${MY_SERVER}\"
IPTBL=\"/usr/sbin/iptables\"
RT=\"/sbin/route\"
\$IPTBL -A FORWARD -t filter -i \$1 -m state --state ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -A POSTROUTING -o \$1 -s \$MY_LAN -d 0/0 -j MASQUERADE
### torrents
\$IPTBL -A FORWARD -p tcp -i \$1 -d \$5 --dport 60885 -j REJECT
\$IPTBL -A FORWARD -p udp -i \$1 -d \$5 --dport 60885 -j REJECT
### http
\$IPTBL -A FORWARD -p tcp -i \$1 --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -A PREROUTING -t nat -p tcp -i \$1 -d \$5 --dport 8080 -j DNAT --to-destination \$MY_SERVER:80
### ssh
\$IPTBL -A FORWARD -p tcp -i \$1 --dport 22022 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -A PREROUTING -p tcp -i \$1 -d \$5 --dport 22022 -j DNAT --to-destination \$MY_SERVER:22
### transmittion
\$IPTBL -t nat -A PREROUTING -p tcp -i \$1 -d \$5 --dport 9090 -j DNAT --to-destination \$MY_SERVER:9091
\$IPTBL -A FORWARD -p tcp -i \$1 --dport 9090 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sleep 1
" > /tmp/rym/int.ip-up
chmod +x /tmp/rym/int.ip-up
# скрипт, отрабатывающий при отваливании интернет соединения
echo "#!/bin/sh
VLAN=\"${VLAN}\"
MY_LAN=\"${MY_LAN}\"
MY_SERVER=\"${MY_SERVER}\"
IPTBL=\"/usr/sbin/iptables\"
RT=\"/sbin/route\"
\$IPTBL -D FORWARD -t filter -i \$1 -m state --state ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -D POSTROUTING -o \$1 -s \$MY_LAN -d 0/0 -j MASQUERADE
### torrents
\$IPTBL -D FORWARD -p tcp -i \$1 -d \$5 --dport 60885 -j REJECT
\$IPTBL -D FORWARD -p udp -i \$1 -d \$5 --dport 60885 -j REJECT
### http
\$IPTBL -D FORWARD -p tcp -i \$1 --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -D PREROUTING -t nat -p tcp -i \$1 -d \$5 --dport 8080 -j DNAT --to-destination \$MY_SERVER:80
### ssh
\$IPTBL -D FORWARD -p tcp -i \$1 --dport 22022 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
\$IPTBL -t nat -D PREROUTING -p tcp -i \$1 -d \$5 --dport 22022 -j DNAT --to-destination \$MY_SERVER:22
### transmittion
\$IPTBL -t nat -D PREROUTING -p tcp -i \$1 -d \$5 --dport 9090 -j DNAT --to-destination \$MY_SERVER:9091
\$IPTBL -D FORWARD -p tcp -i \$1 --dport 9090 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sleep 1
" > /tmp/rym/int.ip-down
chmod +x /tmp/rym/int.ip-down

#файл настройки интернет ppoe-соединения
echo "plugin /usr/lib/rp-pppoe.so
nic-${VLAN}
noccp
nomppc
noipdefault
noauth
defaultroute
noaccomp
nobsdcomp
nodeflate
nopcomp
nomppe
user 'user@beltel.by'
password 'pass'
default-asyncmap
mtu 1492
mru 1492
persist
maxfail 0
holdoff 30
unit 1
lcp-echo-interval 10
ip-up-script /tmp/rym/int.ip-up
ip-down-script /tmp/rym/int.ip-down
lcp-echo-failure 5" > /tmp/rym/int.pppoe
#файл настройки гостевого ppoe-соединения
echo "plugin /usr/lib/rp-pppoe.so
nic-${VLAN}
noccp
nomppc
noipdefault
noauth
nodefaultroute
noaccomp
nobsdcomp
nodeflate
nopcomp
nomppe
user 'user@guest'
password 'pass'
default-asyncmap
mtu 1492
mru 1492
persist
maxfail 0
holdoff 30
unit 0
lcp-echo-interval 10
ip-up-script /tmp/rym/guest.ip-up
ip-down-script /tmp/rym/guest.ip-down
lcp-echo-failure 5" > /tmp/rym/guest.pppoe
sleep 1
#на всякий случай
/usr/sbin/iptables -A FORWARD -t filter -i ${VLAN} -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
/usr/sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
/usr/sbin/iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
sleep 1
#поднятие гостевого соединения
pppd file /tmp/rym/guest.pppoe
sleep 2
#подянтие интернет соединения
pppd file /tmp/rym/int.pppoe
sleep 2
Сохраняем данный скрипт через веб морду в автозапуск - перезагружаем роутер - и вуаля - все поднимается, при отваливании соединений - они автоматом поднимаются, и восстанавливают все настройки.
ЗЫ: Необходимо заменить user и pass на свои

10 дек. 2010 г.

Конвертация множества jpeg в pdf

Для конвертации множества картинок в pdf можно использовать ImageMagick как указано по данным ссылкам: 1 и 2