Wednesday, July 10, 2013

Setup PPTP Server on Ubuntu 12.4 Server.

This guide has been tested with Ubuntu 12.4 Server.

Setup PPTP Server

First we need to install pptp server using apt-get 
 
# sudo apt-get install pptpd

Then we need to configure the pptpd.
 
# sudo nano /etc/pptpd.conf

Add server IP and client IP at the end of the file. You can add like below:
 
localip 192.168.0.1
remoteip 192.168.0.100-200

This sets up the PPTP server to use IP 192.168.0.1 while distributing the IP range 192.168.0.100 to 192.168.0.200 to PPTP clients. Change these as you wish as long as they are private IP addresses and do not conflict with IP addresses already used by your server.

Configure DNS servers to use when clients connect to this PPTP server
 
# sudo nano /etc/ppp/pptpd-options

Uncomment the ms-dns and add google like below or OpenDNS
 
ms-dns 8.8.8.8
ms-dns 8.8.4.4

Now add a VPN user in /etc/ppp/chap-secrets file.
 
# sudo nano /etc/ppp/chap-secrets

The column is username. Second column is server name, you can put “pptpd” in there. Third column is password. The last column is the IP addresses, you can put * to allow all IP.
 
# client        server  secret                  IP addresses
username * myPassword *

Finally start your server
 
# /etc/init.d/pptpd restart

Setup IP Forwarding

To enable IPv4 forward. Change /etc/sysctl.conf file, add forward rule blew.


 
# sudo nano /etc/sysctl.conf

Uncomnent the line
 
net.ipv4.ip_forward=1

Then reload the configuration
 
sudo sysctl -p

Add forward rule in iptables
 
# sudo nano /etc/rc.local

adding to the bottom just before the exit 0
 
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356

This example is using 192.168.0 for its PPTP subnet. The second rule adjusts the MTU size :
You are done. Just reboot your server and you should be able to connect to using PPTPD and send all your traffic through this server.

Wednesday, January 9, 2013

Rip, copy a CD/DVD to ISO format.

Rip a CD/DVD to ISO format.

$ dd if=/dev/cdrom of=~/cdrom_image.iso

Rip a CD/DVD to ISO format.
An easy method to generate ISOs from CD/DVD media.

Alternatives

There are 2 alternatives

$ readom dev=/dev/scd0 f=/path/to/image.iso

Create a CD/DVD ISO image from disk.
Many like to use 'dd' for creating CD/DVD iso images. This is bad. Very bad. The reason this is, is 'dd' doesn't have any built-in error checking. So, you don't know if you got all the bits or not. As such, it is not the right tool for the job. Instead, 'reaom' (read optical media) from the wodim package is what you should be using. It has built-in error checking. Similarly, if you want to burn your newly creating ISO, stay away from 'dd', and use:

wodim -v -eject /path/to/image.iso
$ readcd dev= f=foo.iso

The only problem here is that there is no error checking or correction. The cdrecord package includes a command line tool called readcd that rips CDs to iso files quite nicely
 

Friday, August 24, 2012

Batch Encoding H.264 Video with HandBrake

Batch Encoding H.264 Video with HandBrake

(Just as in the previous section, in this section I’m going to use “H.264 video” as a shorthand for “H.264 baseline profile video and AAC low-complexity profile audio in an MPEG-4 container.” This is the combination of codecs+container that works natively in Safari, in Adobe Flash, on the iPhone, and on Google Android devices.)
HandBrake also comes in a command-line edition. As with ffmpeg2theora, the command-line edition of HandBrake offers a dizzying array of options. (Type HandBrakeCLI --help to read about them.) I’ll focus on just a few:
  • --preset "X", where “X” is the name of a HandBrake preset. The preset you want for H.264 web video is called “iPhone & iPod Touch”, and it’s important to put the entire name in quotes.
  • --width W, where “W” is the width of your encoded video. HandBrake will automatically adjust the height to maintain the original video’s proportions.
  • --vb Q, where “Q” is the average bitrate (measured in kilobits per second).
  • --two-pass, which enables 2-pass encoding.
  • --turbo, which enables turbo first pass during 2-pass encoding.
  • --input F, where “F” is the filename of your source video.
  • --output E, where “E” is the destination filename for your encoded video.
Here is an example of calling HandBrake on the command line, with command line flags that match the settings we chose with the graphical version of HandBrake.
you@localhost$ HandBrakeCLI --preset "iPhone & iPod Touch"
                            --width 320
                            --vb 600
                            --two-pass
                            --turbo
                            --input pr6.dv
                            --output pr6.mp4
From top to bottom, this command runs HandBrake with the “iPhone & iPod Touch” preset, resizes the video to 320×240, sets the average bitrate to 600 kbps, enables two-pass encoding with a turbo first pass, reads the file pr6.dv, and encodes it as pr6.mp4. Whew!

Tuesday, August 14, 2012

How to I change my Keyboard Layout on Openbox?

From a terminal run the following command:

sudo dpkg-reconfigure console-setup
 
This will step through various configuration options for your console, along with Keyboard Layout.

For temporarily switching between keyboard layouts

Especially if you don't have too many keybindings 
So I needed to have both the regular US keyboard as well as the US International keyboard so that I could type in Thai keyboard.
Here are the steps I took:
1) Determine which keyboard layouts you want to switch between. Determine if you want 2, 3, or more. This tutorial will work with as many as you need, but this is the first step 
2) Open up a text editor and open the file ~/.config/openbox/rc.xml
3) Scroll down to the keybindings section - you should see stuff like <keybinding key="“blah-blah”"></keybinding>
4) Find any line which says </keybinding>
5) Go to the end of that line and hit Enter
6) Copy and paste the following text:

    <keybind key="C-F11">
    <action name="Execute">
    <startupnotify>
    <enabled>true</enabled>
    <name>English keyboard</name>
    </startupnotify>
    <command>setxkbmap us</command>
    </action>
    </keybind>

    <keybind key="C-F12">
    <action name="Execute">
    <startupnotify>
    <enabled>true</enabled>
    <name>Thai keyboard</name>
    </startupnotify>
    <command>setxkbmap th</command>
    </action>
    </keybind>

7) Edit the <key=“C-F12”> and the <command>setxkbmap th</command> to fit your desires (C is Ctrl key, A is Alt key, S is Shift key, and change it if you want :-D)
8) Rinse, Lather, and Repeat for all of your other desired keymaps.
9) Restart Openbox or reboot computer.
That's it!