#!/bin/sh ################################################################## ##### in pfsense php files for backup ########### ##### services_captiveportal_vouchers_edit.php ########### ########### services_captiveportal_vouchers.php ########### ########### ########### add: ########### ##### in pf add pred require##### $nocsrf = true; ########### ################################################################## ################################################################## ################################################################## ##### set confver ################## #confver=$(date +%Y%m%d%H) confver=2012061801 #pfsense_vouchers_name=hotspot_home pfsense_vouchers_name=hotspot-srv-home TIMESTAMP=`date +%Y%m%d%H%M%S` rm /root/.ssh/known_hosts iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./include/param.data > ./include/param.utf chmod 400 ./include/authorized_keys ################################################################## read_pass() { setuserpasswd=4t6rbvwrr } ################################################################## ##### read ./include/param.data ################## ################################################################## read_data() { rusname=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $1}') tu=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $2}') mail=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $3}') #device=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $4}') wan_ipaddr=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $4}') wan_gateway=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $5}') #hotspot_br1_net=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $7}') #hotspot_br1_mask=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $8}') #hotspot_br1_ip=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $9}') #hotspot_vlan=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $10}') router_crt=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $6}') router_name=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $6}') setuserpasswd=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $7}') #traf_max_day=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $13}') #traf_max_month=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $14}') #wshaper_downlink=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $15}') #wshaper_uplink=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $16}') #speed_test1=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $17}') #speed_test2=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $18}') #speed_test3=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $19}') #speed_test_delta=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $20}') nastroen=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $8}') part_send=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $9}') part_hotspot=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $10}') #traff_group=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $24}') work_schedule=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $31}') time_worked_rus=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $32}') closed=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $11}') #dhcp_gw=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $28}') #dhcp_start=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $29}') #dhcp_end=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $30}') #hs_server_ip=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $31}') rrrs_name=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $21}') rrrs_mail=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $22}') dm_name=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $23}') dm_mail=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $24}') iks1_name=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $25}') iks1_mail=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $26}') iks2_name=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $27}') iks2_mail=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $28}') iks3_name=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $29}') iks3_mail=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $30}') v1_roll=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $12}') v1_min=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $13}') v1_count=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $14}') v2_roll=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $15}') v2_min=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $16}') v2_count=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $17}') v3_roll=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $18}') v3_min=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $19}') v3_count=$(cat ./include/param.data | grep ${host}, | awk -F "," '{print $20}') } ################################### test_param() { read_data read_crt echo "" echo tu-"$tu" echo rusname-"$rusname" echo mail-"$mail" echo device-"$device" echo "" echo wan_ipaddr-"$wan_ipaddr" echo wan_gateway-"$wan_gateway" echo "" echo hotspot_br1_net-"$hotspot_br1_net" echo hotspot_br1_mask-"$hotspot_br1_mask" echo hotspot_br1_ip-"$hotspot_br1_ip" echo hotspot_vlan-"$hotspot_vlan" echo "" echo router_crt-"$router_crt" echo router_name-"$router_name" echo setuserpasswd-"$setuserpasswd" echo "" echo traf_max_day-"$traf_max_day" echo traf_max_month-"$traf_max_month" echo wshaper_downlink-"$wshaper_downlink" echo wshaper_uplink-"$wshaper_uplink" echo "" echo speed_test1-"$speed_test1" echo speed_test2-"$speed_test2" echo speed_test3-"$speed_test3" echo speed_test_delta-"$speed_test_delta" echo "" echo nastroen-"$nastroen" echo part_send-"$part_send" echo part_hotspot-"$part_hotspot" echo "" echo traff_group-"$traff_group" echo work_schedule-"$work_schedule" echo time_worked_rus-"$time_worked_rus" echo "" echo closed-"$closed" echo "" echo dhcp_gw-"$dhcp_gw" echo dhcp_start-"$dhcp_start" echo dhcp_end-"$dhcp_end" echo "" echo hs_server_ip-"$hs_server_ip" echo rrrs_name-"$rrrs_name" echo rrrs_mail-"$rrrs_mail" echo dm_name-"$dm_name" echo dm_mail-"$dm_mail" echo iks1_name-"$iks1_name" echo iks1_mail-"$iks1_mail" echo iks2_name-"$iks2_name" echo iks2_mail-"$iks2_mail" echo iks3_name-"$iks3_name" echo iks3_mail-"$iks3_mail" echo v1_roll-"$v1_roll" echo v1_min-"$v1_min" echo v1_count-"$v1_count" echo v2_roll-"$v2_roll" echo v2_min-"$v2_min" echo v2_count-"$v2_count" echo v3_roll-"$v3_roll" echo v3_min-"$v3_min" echo v3_count-"$v3_count" echo "" echo "------------------------------------------------------------------" ###sleep 1 echo NEXT! Press any key to continue.. read mykey } ################################################################## read_crt() { openvpn_key=$(cat ./include/crt/$router_name.key) openvpn_client=$(cat ./include/crt/$router_name.crt) } ################################################################## echo_to_conf() { echo "nvram set conf_version=\"$confver\"" >> run-on-ddwrt.sh ###echo "nvram set hotspot_br1_net=\"$hotspot_br1_net\"" >> run-on-ddwrt.sh ###echo "nvram set hotspot_br1_mask=\"$hotspot_br1_mask\"" >> run-on-ddwrt.sh ###echo "nvram set hotspot_br1_ip=\"$hotspot_br1_ip\"" >> run-on-ddwrt.sh ###echo "nvram set hotspot_vlan=\"$hotspot_vlan\"" >> run-on-ddwrt.sh echo "nvram set router_name=\"$router_name\"" >> run-on-ddwrt.sh echo "nvram set traf_max_day=\"$traf_max_day\"" >> run-on-ddwrt.sh echo "nvram set traf_max_month=\"$traf_max_month\"" >> run-on-ddwrt.sh ###echo "nvram set wshaper_downlink=\"$wshaper_downlink\"" >> run-on-ddwrt.sh ###echo "nvram set wshaper_uplink=\"$wshaper_uplink\"" >> run-on-ddwrt.sh ###echo "nvram set dhcp_gw=\"$dhcp_gw\"" >> run-on-ddwrt.sh ###echo "nvram set dhcp_start=\"$dhcp_start\"" >> run-on-ddwrt.sh ###echo "nvram set dhcp_end=\"$dhcp_end\"" >> run-on-ddwrt.sh ###echo "nvram set hs_server_ip=\"$hs_server_ip\"" >> run-on-ddwrt.sh echo "nvram commit" >> run-on-ddwrt.sh } ################################### echo_to_conf_wan() { echo "nvram set wan_ipaddr=\"$wan_ipaddr\"" >> run-on-ddwrt.sh echo "nvram set wan_dns=\"$wan_gateway\"" >> run-on-ddwrt.sh echo "nvram set wan_gateway=\"$wan_gateway\"" >> run-on-ddwrt.sh echo "nvram commit" >> run-on-ddwrt.sh } ################################### echo_to_conf_pass() { echo "setuserpasswd root $setuserpasswd" >> run-on-ddwrt.sh echo "nvram commit" >> run-on-ddwrt.sh } ################################### echo_to_conf_ovpncrt() { echo "nvram set openvpn_key=\"$openvpn_key\"" >> run-on-ddwrt.sh echo "nvram set openvpn_client=\"$openvpn_client\"" >> run-on-ddwrt.sh echo "nvram commit" >> run-on-ddwrt.sh } ################################################################## ################################################################## ################################################################## add_default_traffic() { year=$(date +%Y) month=$(date +%m) ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} ‘nvram set traff-$month-$year="10:10 10:10 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 0:0 [20:20]"’; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} nvram commit & wait $!; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} reboot\&; } ################################################################## clean_traffic() { # `for i in `nvram show | grep traff- | cut -f1 -d=""`; do nvram unset $i; done` scp -i ./include/authorized_keys -o StrictHostKeyChecking=no ./include/clean_traffic.sh root@${host}:/tmp/clean_traffic.sh; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} sh /tmp/clean_traffic.sh & wait $!; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} nvram commit & wait $!; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} reboot\&; sleep 2; } ################################################################## create_test_config() { read_data read_crt ###read pass in this file #read_pass rm run-on-ddwrt.sh cp ./include/default-config run-on-ddwrt.sh echo_to_conf echo_to_conf_wan echo_to_conf_pass echo_to_conf_ovpncrt cp run-on-ddwrt.sh host-${host}-run-on-ddwrt.sh #echo CONFIG CREATED!!! #sleep 2 #echo Press any key to continue.. #read mykey } ################################################################## create_list() { cat ./include/param.data | awk -F "," '{print $4}' > ddwrt.list } ################################################################## create_list_pfsense() { cat ./include/pfsense_pass.data | awk -F "," '{print $1}' > pfsense_name.list } ################################################################# first_setup() { read_data read_crt ###read pass in this file read_pass rm /root/.ssh/known_hosts cp ./include/default-config run-on-ddwrt.sh echo_to_conf echo_to_conf_wan echo_to_conf_pass echo_to_conf_ovpncrt scp -i ./include/authorized_keys -o StrictHostKeyChecking=no run-on-ddwrt.sh root@10.231.177.173:/tmp/run-on-ddwrt.sh; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@10.231.177.173 sh /tmp/run-on-ddwrt.sh & wait $!; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@10.231.177.173 nvram commit & wait $!; ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@10.231.177.173 reboot\&; sleep 2; echo ----------------------------------- echo cat run-on-ddwrt.sh | grep "nvram set router_name" cat run-on-ddwrt.sh | grep "nvram set wan_ipaddr" cat run-on-ddwrt.sh | grep "nvram set hotspot_vlan" cat run-on-ddwrt.sh | grep "userpasswd" cp run-on-ddwrt.sh host-${host}-run-on-ddwrt.sh echo CONFIG CREATED!!! sleep 2 echo Press any key to continue.. read mykey } ################################################################## make_hostmonitor() { read_data read_crt create_folder_hsconf pinggw_hsconf pinghs_hsconf #pingbr1_hsconf confver_hsconf date_hsconf test_ovpn_hsconf #traff_day_hsconf #traff_month_hsconf } ################################################################## DELETED ################################### doit() { rm /root/.ssh/known_hosts chmod 400 authorized_keys echo $(date)>> otchet.txt; case "${command}" in "test_param_pfsense_backup") for f in $(cat pfsense_name.list); do echo $f pfsense_name=$f test_param_pfsense_backup echo "------------------------------------------------------------------" done ;; "backup") for f in $(cat ddwrt.list); do echo $f host=$f ping -q -c 1 -w 2 ${host} > /dev/null 2>&1 if [ $? != 0 ]; then echo "$host NOT PING" >> otchet.txt; else backup fi done ;; "backup_lan") host=10.231.177.173 backup_lan ;; "test_param_pfsense_backup") test_param_pfsense_backup ;; "create_list_pfsense") create_list_pfsense ;; "add_default_traffic") for f in $(cat ddwrt.list); do echo $f host=$f ping -q -c 1 -w 2 ${host} > /dev/null 2>&1 if [ $? != 0 ]; then echo "$host NOT PING" >> otchet.txt; else add_default_traffic fi done ;; "clean_traffic") for f in $(cat ddwrt.list); do echo $f host=$f ping -q -c 1 -w 2 ${host} > /dev/null 2>&1 if [ $? != 0 ]; then echo "$host NOT PING" >> otchet.txt; else clean_traffic fi done ;; "create_test_config") for f in $(cat ddwrt.list); do echo $f host=$f create_test_config done ;; "create_list") create_list ;; "first_setup") for f in $(cat ddwrt.list); do echo $f host=$f first_setup done ;; "make_hostmonitor") rm import_to_hostmonitor*.txt create_def_folder_hsconf for f in $(cat ddwrt.list); do echo $f host=$f make_hostmonitor done ;; "set_password") for f in $(cat ddwrt.list); do echo $f host=$f ping -q -c 1 -w 2 ${host} > /dev/null 2>&1 if [ $? != 0 ]; then echo "$host NOT PING" >> otchet.txt; else set_password fi done ;; "set_password_this") for f in $(cat ddwrt.list); do echo $f host=$f ping -q -c 1 -w 2 ${host} > /dev/null 2>&1 if [ $? != 0 ]; then echo "$host NOT PING" >> otchet.txt; else set_password_this fi done ;; "test_param") for f in $(cat ddwrt.list); do echo $f host=$f test_param echo "------------------------------------------------------------------" done ;; "update_online_full") echo $(date)>> otchet.txt; for f in $(cat ddwrt.list); do echo $f host=$f ping -q -c 1 -w 2 ${host} > /dev/null 2>&1 if [ $? != 0 ]; then echo "$host NOT PING" >> otchet.txt; else if [ $(ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} nvram get conf_version) -eq $confver ]; then echo "$host $(ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} nvram get conf_version)" >> otchet.txt; else update_online_full fi fi done ;; "wifi_mac") echo $(date)>> wifi_mac.txt; for f in $(cat ddwrt.list); do echo $f host=$f ping -q -c 1 -w 2 ${host} > /dev/null 2>&1 if [ $? != 0 ]; then echo "$host NOT PING" >> wifi_mac.txt; else echo "$host,$(ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} nvram get ath0_hwaddr)" >> wifi_mac.txt; fi done ;; "only_reboot") for f in $(cat ddwrt.list); do echo $f host=$f ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} reboot\&; sleep 2; done ;; "ntpclient_mob_router") for f in $(cat ddwrt.list); do echo $f host=$f ssh -i ./include/authorized_keys -o StrictHostKeyChecking=no -p 22 root@${host} ntpclient -c 172.20.0.254 & wait $!; done ;; "pfsense_backup") mkdir pfsense_backup echo vpn.mobilochka.ua wget -q --quiet --no-check-certificate --post-data 'Submit=download' https://admin:543ewrgth76uksf@89.184.67.22/diag_backup.php -O ./pfsense_backup/vpn.mobilochka.ua-89.184.67.22-`date +%Y%m%d%H%M%S`.xml for f in $(cat pfsense_name.list); do echo $f pfsense_name=$f pfsense_backup echo "------------------------------------------------------------------" done ;; "vouchers_create_all_complite") vouchers_create_all_complite ;; *) echo "$0 : WRONG : ${command}" ;; esac echo "------------------------------E-N-D-------------------------------" } ################################################################## ################################################################## ################################################################## if [ $# -ne 1 ]; then echo "usage : command_for_doit" echo "" echo "!!! First_setup firmware on 10.231.177.173" echo "!!! Online update without update wan ip and wan gw" echo "" echo "add_default_traffic, clean_traffic, create_test_config, create_list," echo "first_setup, make_hostmonitor, set_password, set_password_this, " echo "update_online_full, wifi_mac, test_param," echo "only_reboot, ntpclient_mob_router, backup" echo "------------------------------------------------" echo "test_param_pfsense_backup, create_list_pfsense, pfsense_backup," echo "vouchers_create_all_complite" echo "" exit fi command=$1 #### doit