Social security for getting on a large amount Beat The Cycle Of Debt Beat The Cycle Of Debt for an approved in addition questions.

Tomato Router Config – Backup Script

Posted: March 18th, 2011 | Author: | Filed under: Linux, Tech | Tags: , , , , , , , , , , | 2 Comments »

I recently was given the task to automate the backups of several remote routers that we manage that run tomato firmware.
Here is the Tomato developer’s site: www.polarcloud.com/tomato
The main goals were:

  • To use https
  • To be automated (Cron)’d later
  • To scale from 1 to 1XXX routers

I tested it on Tomato Firmware 1.28 using my ASUS RT-N16 router, but it should work for any Tomato-firmware router.
There will be some slight modifications to run in cron, but let me know and I’ll be glad to help.
Download the .zip file here: tomatobackup1405

Extract the file so the full path will be /root/tomatobackup1405
Read the README inside the folder
chmod +x tomatobackup1405.sh
Add your hosts to the tomatobackup1405_hosts.cfg file
Run it!

If successful, you will see a subfolder with the date YYYYMMDD and the file with CoName-tomato_v_.cfg
If there are connection problems, you’ll see an error message.

EDIT: There was a python rewrite by Sam@orgraphone.org
Feel free to check it out here

Let me know if you have any thoughts or suggestions.
-Gregg


Safe1405 – Automated or Interactive Asterisk backup solution -with auto FTP upload

Posted: April 27th, 2009 | Author: | Filed under: Asterisk VoIP, Linux, Tech, Uncategorized | Tags: , , , , , , , , , , , , , , , , , , , , , , , , , | 6 Comments »

Summary:

Safe1405 is a bash script that will backup the popular Asterisk directories and place them in a tar.gz file. The script can be used in 1 of 2 modes.
The first mode is interactive, with a menu to choose:

  • Backup Everything (/etc/asterisk, Voicemail, Recordings, Sounds)
  • Just VM
  • Just Recordings
  • Just Sounds

After the file is created, it will prompt to upload to a remote FTP server.

The second mode is silent, and is best suited for automated execution via cron or at.
Just enable the UNATTENDED and PUT_FTP variables by setting them to “1″.  You can directly edit the paths to each directory if yours are non-standard.

The script can be directly downloaded here: Safe1405 Download Link

Code:

#!/bin/bash
# Safe1405
# Author: Gregg Hansen - www.thiscoolsite.com
# Safely tar and gzip Asterisk files

# Version 1.0 20090427
#-Backs up all important Asterisk files - Tar/Gz
#-Choose the file name, or Date by default
#-GUI-like. Able to be silent for cron, or interactive

#EDIT the below ABSOLUTE paths to match your directory structure:
VAR_LIB="/var/lib/asterisk"
ETC_AST="/etc/asterisk"
VM="/var/spool/asterisk/voicemail"
MON="/var/spool/asterisk/monitor"

#Date Var
FILEDATE="$(date +%Y%m%d)"
#Your ServerName
#Filename is FILEDATE-SERVERNAME.tar.gz
SERVERNAME="Chicago-Ast01"

#Enable unattended mode/Remote FTP put (useful for Cron):
# Backup of /etc/asterisk ONLY (default)
# 1 = On, 0 = Off
UNATTENDED="0"
PUT_FTP="0"

#FTP Credentials
FTP_IP="127.0.0.1"
FTP_USER="admin"
FTP_PASS="secret"

###--START CODE---###

### Interactive Mode Functions ###
prompt()
{
cat <<EOF

Safe1405 Backup

1) Everything
2) /etc/asterisk
3) Voicemail
4) Recordings
5) Sounds
Q) Quit

EOF

echo -n "Prompt> "
read INPUT
case $INPUT in
1) everything;;
2) etc-ast;;
3) vm;;
4) recordings;;
5) sounds;;
q) exit;;
Q) exit;;
esac

}
everything()
{
FILENAME="$FILEDATE-$SERVERNAME-FULL.tar.gz"
tar cfvz $FILENAME $ETC_AST $VM $MON $VAR_LIB
ftpprompt
}
etc-ast()
{
FILENAME="$FILEDATE-$SERVERNAME-ETC_AST.tar.gz"
tar cfvz $FILENAME $ETC_AST
ftpprompt
}
vm()
{
FILENAME="$FILEDATE-$SERVERNAME-VM.tar.gz"
tar cfvz $FILENAME $VM
ftpprompt
}
recordings()
{
FILENAME="$FILEDATE-$SERVERNAME-REC.tar.gz"
tar cfvz $FILENAME $MON
ftpprompt
}
sounds()
{
FILENAME="$FILEDATE-$SERVERNAME-SOUNDS.tar.gz"
tar cfvz $FILENAME $VAR_LIB
ftpprompt
}
ftpprompt()
{
echo -en "Upload $FILENAME to FTP? (y or n) "
read INPUT
if [ "$INPUT" == "y" ]; then
quietftp
fi
}

### Unattended Mode Functions ###
silent()
{
tar cfvz $FILEDATE-$SERVERNAME-ETC-AST.tar.gz $ETC_AST ##Uncomment##$VM #$MON #$VAR_LIB
FILENAME="$FILEDATE-$SERVERNAME-ETC-AST.tar.gz"
}

quietftp()
{
ftp -ivn <<EOF
open $FTP_IP

user $FTP_USER $FTP_PASS
binary
put $FILENAME
bye
EOF
}
#### Start Program Flow ###
clear
#Unattended Function Call(s)
if [ "$UNATTENDED" == "1" ]; then
silent
if [ "$PUT_FTP" == "1" ]; then
quietftp
exit
fi
exit
fi
#Interactive Function Calls
prompt
exit

###–END CODE—###
Leave a comment if you have questions/suggestions or would like help setting up the script.
-Gregg


Fastest Route to Single Booting Linux on the new 2009 Mac Mini

Posted: March 30th, 2009 | Author: | Filed under: Linux, Mac, Tech | Tags: , , , , , , , , , , , , , , , | 3 Comments »

See IMPORTANT NOTES section below… there’s currently a catch with rebooting….
If you find a fix for the reboot issue, please leave a comment (that will email me)..

Special thanks to Victor Costan http://blog.costan.us

Step 1 – Get your linux on the HD
-Power On / Insert Linux Install Disk With Kernel 2.6.26 or higher / Power Off
-Power On / Wait 4 Seconds / Hold “c” key to boot from DVD drive
-I couldn’t get linux to work after deleting the EFI partition, so don’t.
-Get to your distro’s partitioning utility and delete the main MAC partition
-After deleting the big partition, create your linux partitions
-If you delete the EFI partition on accident, the Leopard install will fix it
-Direct the installer to put GRUB on the first sector of your /boot partition
-Install whatever other options you want and let installer run
-Remove Linux Install Disk / Insert MAC OSX Install Disk / Reboot

Step 2 – Tell MAC‘s Open Firmware What To Do
-Power On / Wait 4 Seconds / Hold “c” key to boot from DVD drive
-Get to “Terminal” under “Utilities” on MAC Installation Setup
-Type the following command to determine how your /boot partition was identified
diskutil list
-Type the following command to set that partition as bootable (mine was disk0s2)
bless –device /dev/disk0s2 –setboot –legacy –verbose

IMPORTANT NOTES
-After these steps, linux will boots fine but when trying to reload it will hangs (more likely the shutdown process hangs).  It appears to require a hard reset at this time…bummer.
-Earlier Kernels (Such as 2.6.18 in Centos 5.2 and lower) may install successfully but do not properly load drivers for all the hardware once installed.

WINDOWS KEYBOARD NOTES
Hold “c” key to boot from DVD drive
Hold “F12″ key to eject the DVD drive
Hold “ALT” to emulate the option key (not used in this procedure)

SOURCES

Debian Success Documented here (by Thomas Glanzmann): http://lkml.indiana.edu/hypermail/linux/kernel/0903.1/01828.html

Discussion and bless command from Veiho in Ubuntuforums :  http://ubuntuforums.org/archive/index.php/t-493393.html

Status on reload problem being worked by ubuntu developers: https://bugs.launchpad.net/ubuntu/+source/linux


*NUX Terminal Junkies.

Posted: March 19th, 2009 | Author: | Filed under: Tech | Tags: , , , , , , , , , | No Comments »

This is probably the first post I’ve done that links to content that I had no part in creating/publishing. Dave over at Neozaz.com posted an great article about the pros and cons of different terminals/OS(s) and his experience over the years.

Check it out here.


Browse the Web Securely and Safely on Public WiFi – Encrypt your Traffic

Posted: February 26th, 2009 | Author: | Filed under: Linux, Tech | Tags: , , , , , , , , , , , , , | No Comments »

Whenever you are on a Public WiFi connection, you need to have your traffic encrypted so no one can snoop on what you are doing or poison your DNS/etc.   Since every wireless packet is broadcast over the open-air, anyone can snoop in on your traffic.  Unencrypted sessions can be captured and your precious passwords grabbed by the evil ‘Cracker’ (Cracker=Bad Hacker).  I briefly discussed this in a previous post when I was in Japan, but it’s time to provide a detailed howto because too many people are getting taken advantage of.

Prerequisites:
A linux box that you have public access to and a valid username
Windows, Linux, or Mac as your OS for the client machine

Windows:
1. Download PuTTY and save the .exe to your desktop
2. Make sure you have Firefox installed
3. Open PuTTY
4. Type in the address or hostname of your public Linux server that you have access to

ss-05-20090225-1516
5. Expand the +SSH option in the left-pane of the PuTTY program
6. Click on ‘Tunnels’
7. Type in 8888 for the Source port
8. Click on the ‘Dynamic’ radio button below
ss-06-20090225-1517
9. Click Add
10. Make sure it looks like my screenshot
ss-07-20090225-1517
11. Click on ‘Open’ and connect to your Linux server
12. Log in with your user and password
13. Once logged in, minimize your PuTTY Session and switch to Firefox
14. In Firefox: Click on ‘Tools’ at the top, then Options
15. Click on the Advanced tab
16. Click on the Network sub-tab
17. Click on Settings
18. Click the ‘Manual Proxy Configuration’ radio button
19. The line that says ‘SOCKS Host’ put ‘localhost’ and port ’8888′, SOCKS V5 below
ss-08-20090226-1248
20. Click OK

Now all of your TCP web traffic will run through the encrypted SSH tunnel to your Linux server, then go out to the internet.  Lets take it one step further and have your DNS lookups sent through the tunnel too.  :)

In Firefox:
1. In the address bar, type:     ‘about:config’ and hit enter (don’t include the ticks)
2. Hit OK, I know what I’m doing on the prompt
3. Search for DNS in the top field and click on the line that reads:
network.proxy.socks_remote_dns until it is set to ‘TRUE’
ss-09-20090226-1249
4. Type in ‘whatismyip.com’ in the address bar and see if it shows the IP of your Linux server’s Public IP and not the Public IP of the network you are currently on.  If you really want to see the magic happening, open up wireshark and watch the packets go by as you browse the web.  All SSH packets with the exception of UDP.

If you have any questions or help, leave a comment and I will assist.

Happy (Safe) Browsing!
–Gregg


FreePBX Round Robin Trunks Load-Balance/Distribute Calls

Posted: February 4th, 2009 | Author: | Filed under: Asterisk VoIP, Linux, Tech | Tags: , , , , , , , , , , , | 2 Comments »

I’ve seen several posts around the net from users that want to distribute the calls across multiple trunks with FreePBX.  The main reason being that they have a deal with a provider, and each line has 4,000 minutes for free, etc.  After looking around at the different methods to accomplish this, it become very clear what must happen.

If your trunks are FXO ports/Analog then you are in luck.   :)

Go to the FreePBX interface, click on Trunks.
-Add a trunk
-Put ‘r0′ for the Zap identifier (that’s R zero)
-Submit Changes
-Set the round robin Zap as your outbound route and enjoy!

Simple and clean, enjoy.