How to Survive on Private Trackers With a Low Upload Speed

1 – Leave your PC running for as long as you can :
Let’s assume you have  the low upload speed of 50 kb/s , and you will keep your PC running for 20 hours daily , do you know how much will you seed ?

Let’s do the math :   50 x 60 x 60 x 20 = 4320000 kb = 4.12 GB 

Not bad at all , right ? that means an average of 123.6 GB monthly , with only 50 kb/s upload speed !

2 – Grab freeleech torrents : 

Freeleech torrents don’t count towards your download and counts to towards your upload , and this includes 2 strategies :
a. Grab fresh freeleech torrents because those get lots of seeders , and don’t affect your download meter .
b. Prefer freeleech to other torrents . If you’re looking for a movie then check on multiple trackers maybe you can find it freeleech on one of them . Even if you found the format you want as a normal torrent and another close format in freeleech , grab the freeleech .
3 – Cross-seed :
You must understand first , what is cross-seeding ? 
Cross-seeding is the process of downloading files from one tracker ( or having the file in any way )  and then use it to seed the same torrent on one or more private trackers .
How is this helpful ?
a. If you already have the file , download the .torrent from the tracker you want to seed at , chose the path of the file and let it check . In a minute it will start seeding without costing you any download count .
b. When a fresh popular torrent is out  , download it from a public tracker and seed it on all your private tracker that have that file . That’s another way to raise upload without affecting download .
c. Many trackers give bonus on the size of torrents you’re seeding , so you can cross-seed to get more bonus to buy upload credit , but we’ll get to that later .
But make sure to read the rules of the tracker before cross-seeding as it’s not allowed on some trackers .

4- Limit the number of trackers you use :
Don’t seed torrents on trackers you never use . It’s a waste of your precious upload speed to keep seeding on trackers you barely or never use . Focus on one general tracker ( preferably IPTorrents  or TorrentDay ) and a couple of other tracker for your interests . For example TehConnection if you’re interested in movies that can’t be found on usual general trackers , or Freshon if you’re interested in TV . Always search for everything first on that private tracker , since it’s much easier to build ratio there .
Don’t go around looking for trackers , you don’t need just to try them , make priorities and stick to them .
Also don’t use trackers that are hard to seed on , such as BitMe or Karagarga .

5 – Use bonus points :
Many tracker have a bonus points system that , in most cases , can be traded for upload credit . Some tracker use a system that gives bonus according to your total seeding size or every torrent’s size on it’s own . That’s when you use cross-seeding as explained above .
Other trackers use a system that give bonus according to number of seeding torrents and here comes the easiest trick in torrenting ! Just browse torrents and sort them by size from smaller files to bigger files . Download as much as you can from the smallest torrents and keep seeding them and getting lots of bonus ! easy ,  right ?

6 – Download smaller formats and versions :
If you find it hard to maintain a good ratio then don’t download huge files unless it’a a freeleech .  You can always find a smaller version of that file . If it’s an HD movie , you don’t have to download it in 1080 quality , 720 or 480 would be better . If you can avoid HD and watch it in XviD format then it would be much better . Use same strategy with games , today every popular game can be found ripped or repacked in less than half of it’s original size . Same thing goes for music , you don’t have to download .flac files unless you’re a freaking DJ ! and even if you are then 320 kb/s CBR or V0 VBR is more than enough .
Don’t download packs unless you’re willing to watch every movie or play every game in it , unless it’s freeleech off course .

7 – Donate to trackers :
Doesn’t seem like the best option if you’re going to get 10 GB upload credit for 10$ !
But on some trackers , you will get a VIP membership for donating and VIP members are immune to ratio rules .
For example , if you love games donate 20$ to BitGamer and get a VIP membership so you can download without worrying about ratio even if you don’t seed anything .

8 – Upload :
Maybe it’s weird to find a tip telling you to upload when you’re looking for a solution for low upload speed , but in the matter if fact it’s a good option . You see , if you’re not good with seeding then uploading files that you already have would help you a get upload credit , and even bonus points on some trackers ! at least you can be sure you will get upload credit greater than size of the file .

9 – Use ratio-less trackers :
Ratio-less trackers are those trackers that don’t care for ratio , but you have to seed your torrents for a fixed time ( usually 72 hours in one week ) and you can download as much as you can as long as you don’t hit and run ( stop seeding before seeding time is complete ) .

Most popular ratio-less trackers you can use :

General :
GFT – One of the best trackers ever with amazing speeds and content . Hard to get into .
FTN – May sound like a less probable option since it’s very hard to get an invite to it .
PreToMe – The best option in general ratio-less trackers . Said to be really close to GFT and easier to get .
AlphaOmega – A good tracker with nice content and pre-times .
FYT – An upcomming ratio-less tracker . 

Movies :
PTN : the best choice , with a great content and good speeds , the most famous ratio-less movie tracker is a must-have if you don’t have a good upload speed . It’s not easy to join PTN , but they open application every now and then .
TheSwarm : A nice movie tracker with a nice tight community , but if you’re a movie maniac then it won’t work for you .

Games :
PWN Network : the one and only ratio-less games tracker . Mostly Nintendo and others consoles games , but it’s not like you have many options .

Music :
Libble : It’s not ratio-less in total but they use a weird system called ” Share Rank ” that is based on snatches , number of seeding torrents and ratio where a very high or very low ratio is not good .
Note that MP3 Scene is not ratio-less but there only one third of your download is counted so it’s a good choice .

TV Shows :
BTN : The best TV tracker ever , whatever you say is not enough to describe this great tracker .
Hard to get into , but sadly it’s the only ratio-less TV tracker .

10 – Get a seedbox :
The best option . You can get a seedbox for on month for a low price of 10-15$ and use it to buffer all of your accounts enough for a year or even more .
Using a seedbox you can use a seedbox to make a buffer of 2 TB on IPTorrents or 5 TB on TorrentDay in one month !
I would recommend getting a seedbox right away , that would save you time and effort .

Disable Do You want to change the color scheme to improve performance ? message

Sometimes this dialog box will pop up (see screenshot below). Every time it appears I select “Keep the current color scheme, and don’t show this message again”. Windows then reminds me again — either the next day or after reboot, or sometimes another 5 minutes later.
Do you want to change the color scheme to improve performance?

Do you want to change the color scheme to improve performance?

Windows has detected your computer’s performance is slow. This could be because there are not enough resources to run the Windows Aero color scheme. To improve performance, try changing the color scheme to Windows 7 Basic. Any change you make will be in effect until the next time you log on to Windows
  • Change the color scheme to Windows 7 Basic
  • Keep the current color scheme, but ask me again if my computer continues to perform slowly
  • Keep the current color scheme, and don’t show this message again

Assuming you realize this message is informing you your system is low on resources and is asking you to disable Aero so it can keep performing at optimum speed,
  1. Go to the Start Menu and type Action Center on the Search box
  2. Start it (it should be the top entry, under the “Control Panel” group)
  3. On the left sidebar, click Change Action Center settings
  4. Untick the Windows Troubleshooting checkbox, under “Maintenance Messages”.
  5. Click the Ok button and you are done.
Here is a screenshot of the setting screen:
  • You can try and keep this setting just as it is and switch to Basic desktop mode before launching the applications that usually fire up this Action Center notification. Or,
  • You can right click the icons you use to fire up these full screen applications, clicking properties and under the Compatibility tab tick Disable desktop composition. This will disable the Desktop Window Manager Session Manager service during execution of this application which will increase system and video memory and avoid some application incompatibilities. A likely cause for your Action Center message if you have enough system and video memory but are stuill getting this message with certain games or full screen applications.

How to Install WordPress on Ubuntu 12.04

About WordPress

WordPress is a free and open source website and blogging tool that uses php and MySQL. It was created in 2003 and has since then expanded to manage 22% of all the new websites created and has over 20,000 plugins to customize its functionality.


The steps in this tutorial require the user to have root privileges. You can see how to set that up in the Initial Server Setup. 

Before working with wordpress, you need to have LAMP installed on your virtual private server. If you don’t have the Linux, Apache, MySQL, PHP stack on your VPS, you can find the tutorial for setting it up in the Ubuntu LAMP tutorial

Once you have the user and required software, you can start installing wordpress!

Step One—Download WordPress

We can download WordPress straight from their website:


This command will download the zipped wordpress package straight to your user’s home directory. You can unzip it the the next line:

tar -xzvf latest.tar.gz 

Step Two—Create the WordPress Database and User

After we unzip the wordpress files, they will be in a directory called wordpress in the home directory. 

Now we need to switch gears for a moment and create a new MySQL directory for wordpress. 

Go ahead and log into the MySQL Shell:

mysql -u root -p

Login using your MySQL root password, and then we need to create a wordpress database, a user in that database, and give that user a new password. Keep in mind that all MySQL commands must end with semi-colon. 

First, let’s make the database (I’m calling mine wordpress for simplicity’s sake; feel free to give it whatever name you choose):

Query OK, 1 row affected (0.00 sec)

Then we need to create the new user. You can replace the database, name, and password, with whatever you prefer:

CREATE USER [email protected];
Query OK, 0 rows affected (0.00 sec)

Set the password for your new user:

SET PASSWORD FOR [email protected]= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)

Finish up by granting all privileges to the new user. Without this command, the wordpress installer will not be able to start up:

GRANT ALL PRIVILEGES ON wordpress.* TO [email protected] IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

Then refresh MySQL:

Query OK, 0 rows affected (0.00 sec)

Exit out of the MySQL shell:


Step Three—Setup the WordPress Configuration

The first step to is to copy the sample wordpress configuration file, located in the wordpress directory, into a new file which we will edit, creating a new usable wordpress config:

cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

Then open the wordpress config:

sudo nano ~/wordpress/wp-config.php

Find the section that contains the field below and substitute in the correct name for your database, username, and password:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

Save and Exit.

Step Four—Copy the Files

We are almost done uploading WordPress to the virtual private server. The final move that remains is to transfer the unzipped WordPress files to the website’s root directory.

sudo cp -r ~/wordpress/* /var/www/

Finally we need to set the permissions on the installation. First, switch in to the web directory:

cd /var/www/

Give ownership of the directory to the apache user.

sudo chown www-data:www-data * -R 
sudo usermod -a -G www-data username

From here, WordPress has its own easy to follow installation form online. 

However, the form does require a specific php module to run. If it is not yet installed on your server, download php-gd:

sudo apt-get install php5-gd

Step Five—RESULTS: Access the WordPress Installation

Once that is all done, the wordpress online installation page is up and waiting for you: 

Access the page by adding /wp-admin/install.php to your site’s domain or IP address (eg. and fill out the short online form (it should look like this).

See More

Once WordPress is installed, you have a strong base for building your site.

If you want to encrypt the information on your site, you can Install an SSL Certificate

How to Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu

About LAMP

LAMP stack is a group of open source software used to get web servers up and running. The acronym stands for Linux, Apache, MySQL, and PHP. Since the virtual private server is already running Ubuntu, the linux part is taken care of. Here is how to install the rest.

Set Up

The steps in this tutorial require the user to have root privileges on your VPS. You can see how to set that up in the Initial Server Setup in steps 3 and 4. 

Step One—Install Apache

Apache is a free open source software which runs over 50% of the world’s web servers.

To install apache, open terminal and type in these commands:

sudo apt-get update
sudo apt-get install apache2

That’s it. To check if Apache is installed, direct your browser to your server’s IP address (eg. The page should display the words “It works!” like this.

How to Find your Server’s IP address

You can run the following command to reveal your server’s IP address.

ifconfig eth0 | grep inet | awk '{ print $2 }'

Step Two—Install MySQL

MySQL is a powerful database management system used for organizing and retrieving data 

To install MySQL, open terminal and type in these commands:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

During the installation, MySQL will ask you to set a root password. If you miss the chance to set the password while the program is installing, it is very easy to set the password later from within the MySQL shell.

Once you have installed MySQL, we should activate it with this command:

sudo mysql_install_db

Finish up by running the MySQL set up script:

sudo /usr/bin/mysql_secure_installation

The prompt will ask you for your current root password. 

Type it in.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Then the prompt will ask you if you want to change the root password. Go ahead and choose N and move on to the next steps. 

It’s easiest just to say Yes to all the options. At the end, MySQL will reload and implement the new changes.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

Once you’re done with that you can finish up by installing PHP.

Step Three—Install PHP

PHP is an open source web scripting language that is widely use to build dynamic webpages. 

To install PHP, open terminal and type in this command.

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

After you answer yes to the prompt twice, PHP will install itself.

It may also be useful to add php to the directory index, to serve the relevant php index files:

sudo nano /etc/apache2/mods-enabled/dir.conf

Add index.php to the beginning of index files. The page should now look like this:

<IfModule mod_dir.c>

DirectoryIndex index.php index.html index.cgi index.php index.xhtml index.htm


PHP Modules

PHP also has a variety of useful libraries and modules that you can add onto your virtual server. You can see the libraries that are available.

apt-cache search php5-

Terminal will then display the list of possible modules. The beginning looks like this:

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
php5-adodb - Extension optimising the ADOdb database abstraction library
php5-auth-pam - A PHP5 extension for PAM authentication

Once you decide to install the module, type:

sudo apt-get install name of the module

You can install multiple libraries at once by separating the name of each module with a space. 

Congratulations! You now have LAMP stack on your droplet!

Step Four—RESULTS: See PHP on your Server

Although LAMP is installed, we can still take a look and see the components online by creating a quick php info page

To set this up, first create a new file:

sudo nano /var/www/info.php

Add in the following line:


Then Save and Exit. 

Restart apache so that all of the changes take effect:

sudo service apache2 restart

Finish up by visiting your php info page (make sure you replace the example ip address with your correct one):

It should look similar to this.

Windows 7 – AMD Radeon HD 6900 does not detect second monitor

If you are using VGA cables with a DVI-VGA adapter on the card that would be why the second monitor won’t work as only one of the DVI ports on the card is configured to work with a DVI-VGA adapter.

You need a DVI cable, as long as one of the monitors has a DVI port on it. Unfortunately not enough card manufacturers (like most of them) mention it anywhere or at least mark the backplates on the cards like this,

AMD Radeon HD 6900 does not detect second monitor-backplate.png

to indicate that the card only supports VGA via adapter from one of the DVI ports; one port being DVI-I (analogue and digital), with the other being DVI-D (digital only).

WTF homegroup

… i dont even

This just happened to me, and I was tearing my hair out – until I found that windows wasn’t updating either.  The problem – my system was too far out of time with normal time

Check your system clock, make sure it is real time and date.

When I changed it, suddenly I could join the homegroup.

Post: #1Tutorial: How to setup a TF2 server
NOTE: Work in progress! Not complete!

This is based on my experience with setting up a server from scratch, IE I didnt know anything about it when I started!

1) Download the HLDSTOOLUPDATE to a temp location, like c:Temp.
Use the link below to download HLDSTOOLUPDATE.
The tool is used to download, update and run the dedicated Source server.

2) Once you have downloaded hldsupdatetool.exe, run the installer and install to a permanent location, like c:HLServer

3) Now you need to download the files for your dedicated TF2 server.
To download the dedicated TF2 server, use this script in a .bat file:
c:HLServerhldsupdatetool -command update -game tf -dir c:HLServer
This is how it should look, if your server location is “c:HLServer”
When downloading, dont panic over the size….its about 1,8Gb.
Sometimes the update tool will exit for no reason. Just run it again untill you are confident you have everything.

4) Now you have you base installation. You just need to configure it.
Open Notepad and create a file called server.cfg and put it in the C:HLServerorangeboxtfcfg folder. (Remember NOT to save it as an “txt” file)
Heres a base server.cfg file:
// Team Fortress 2 Server Configuration File, To be used with TF2 only!

// Server Name
hostname “Team Fortress 2”

// Rcon Cvars
rcon_password “” //Set’s remote control password
sv_rcon_banpenalty 15 //Number of minutes to ban users who fail rcon authentication
sv_rcon_log 1 //Enable/disable rcon logging.
sv_rcon_maxfailures 3 //Max number of times a user can fail rcon authentication before being banned
sv_rcon_minfailures 5 //Number of times a user can fail rcon authentication in sv_rcon_minfailuretime before being banned
sv_rcon_minfailuretime 10 //Number of seconds to track failed rcon authentications

// Server Password
sv_password “” // Password protects server

// Server Cvars
mp_allowspectators 1 //Toggles whether the server allows spectator mode or not
mp_autocrosshair 0
mp_autoteambalance 1 //Toggles server autoteambalance
mp_bonusroundtime 5 //Time in seconds after round win until round restarts
mp_chattime 5 //amount of time in seconds players can chat after the game is over

mp_decals 1
mp_defaultteam 1
mp_disable_autokick 1 //Prevents a userid from being auto-kicked
mp_enableroundwaittime 1 //Enable timers to wait between rounds.
mp_fadetoblack 0 //fade a player’s screen to black when he dies
mp_falldamage 5 //Amount of damage players sustains from a fall
mp_flashlight 0 //Toggles flashlight on or off
mp_footsteps 1 //Toggles footsteps on or off
mp_forcecamera 0 //Restricts spectator modes for dead players
mp_forcerespawn 0
mp_forcerespawnplayers 1 //Force all players to respawn.
mp_forcewin 1 //Forces team to win
mp_fraglimit 0
mp_idledealmethod 2 //Deals with Idle Players. 1 = Sends them into Spectator mode then kicks them if they’re still idle, 2 = Kicks them out of the game
mp_idlemaxtime 1 //Maximum time a player is allowed to be idle (in minutes)
mp_maxrounds 10 //max number of rounds to play before server changes maps
mp_teams_unbalance_limit 2 //Teams are unbalanced when one team has this many more players than the other team. (0 disables check)
mp_teststalemate 0 //Test the stalemate mode. Parameter: <0/1>. If 1, the map will reset at the end.
mp_time_between_capscoring 5 //Delay between scoring of owned capture points.
mp_timelimit 20 //game time per map in minutes
mp_winlimit 10 //Max number of rounds one team can win before server changes maps
sv_allow_color_correction 1 //Allow or disallow clients to use color correction on this server.
sv_allow_wait_command 0 //Allow or disallow the wait command on clients connected to this server.
sv_allowdownload 1 //Allow clients to download files
sv_allowupload 1 //Allow clients to upload customizations files
sv_alltalk 0 //Players can hear all other players, no team restrictions
sv_alternateticks 0 //If set, server only simulates entities on even numbered ticks.
sv_autosave 0 //Set to 1 to autosave game on level transition. Does not affect autosave triggers.
sv_bonus_challenge 0 //Set to values other than 0 to select a bonus map challenge type.
sv_cacheencodedents 1 //If set to 1, does an optimization to prevent extra SendTable_Encode calls.
sv_cheats 0 //Allow cheats on server
sv_clearhinthistory 0 //Clear memory of server side hints displayed to the player.
sv_consistency 1 //Whether the server enforces file consistency for critical files
sv_contact “” //Contact email for server sysop
sv_downloadurl “” //Location from which clients can download missing files
sv_enableoldqueries 1 //Enable support for old style (HL1) server queries
sv_pausable 0 //Is the server pausable.

// Lan or internet play, Server region cvars
sv_lan 0 //Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )
sv_region 255 // Region Codes: 0 – US East coast, 1 – US West coast, 2 – South America, 2 – South America, 3 – Europe, 4 – Asia, 5 – Australia, 6 – Middle East, 7 – Africa, 255 – world

//server Logging
sv_log_onefile 0 //Log server information to only one file.
sv_logbans 1 //Log server bans in the server logs.
sv_logblocks 0 //If true when log when a query is blocked (can cause very large log files)
sv_logecho 0 //Echo log information to the console.
sv_logfile 1 //Log server information in the log file.
sv_logflush 0 //Flush the log file to disk on each write (slow).
sv_logsdir “logs” //Folder in the game directory where server logs will be stored.

//Server Rates
sv_maxcmdrate 0 //(If sv_mincmdrate is > 0), this sets the maximum value for cl_cmdrate.
sv_maxrate 20000 //Max bandwidth rate allowed on server, 0 == unlimited
sv_maxreplay 2 //Maximum replay time in seconds
sv_maxupdaterate 100 //Maximum updates per second that the server will allow
sv_mincmdrate 0 //This sets the minimum value for cl_cmdrate. 0 == unlimited.
sv_minrate 0 //Min bandwidth rate allowed on server, 0 == unlimited
sv_minupdaterate 30 //Minimum updates per second that the server will allow

Complete list of server commands:
Other great list:

To start the TF2 dedicated server you can use this command:
c:HLserverorangeboxsrcds.exe -console -game tf -hostport 27015 +maxplayers 24 +map ctf_2fort
I start the server with the above, my server will support a maximum of 24 players, you can make it more or less if you like, and start on ctf_2fort map.

You can use the command in a .bat file

If you want to control the number of players on each class or spawntimes, use this program:

For more info on Dedicated Server:

Fast respawn without mods, by GTFO Gaming:

How to TEXT Idle TF2 with a batch file

If you want to text idle, the following is a step-by-step guide to doing so. First let’s go through creating your text idle shortcut:
  1. Highlight the following code with your mouse. Right click on the highlighted text and on the resulting menu click on Copy.
    C:"Program Files"Steamsteam.exe -applaunch 440 -textmode -nosound -nopix -novid -nopreload -nojoy -sw -w 640 -h 480 +map itemtest
  2. Open Notepad and paste that text into the edit window.
  3. Click on the File menu. On the resulting menu click on Save As.
  4. In the Save As box that comes up you will see *.txt highlighted in the File Name box near the bottom. Simply start typing idle.bat and it will overwrite what was there.
  5. In most cases Desktop will be selected for the location to save. Use the side bar to select where you want to save this file. Keep in mind this is the file you will need to run to text idle so put it somewhere easy to find such as the Desktop.
  6. Click Save.
Whenever you want to text idle:
  1. Make sure you are logged into Steam and simply run the idle.bat file you created by double-clicking on it. Note that some systems are set up to run files with a single click—be careful not to run the file twice as this will cause errors.
  2. A command window will flash up on the screen and then you will see the typical “Preparing to launch Team Fortress 2″ screen but instead of the game launching you should get another command window that will come up. It will go through some technical jargon and there will be some errors that go by, but wait it out. It should eventually come to the point where it says Username connected (Username being your current Steam Profile Name)
  3. Eat cake, walk away, or anything else because that is all you have to do. Let this run for however many hours a week you want to text idle.
  4. When you are done idling, use the X in the top right of the window to close your text idling session.
  5. Launch TF2 as normal to receive your drops.

How to install OpenVPN on a Debian/Ubuntu VPS instantly

This is a follow up post to How to setup a VPN server on a CentOS VPS instantly same requirements and instructions apply.
Minor distribution specific changes were made on the previous CentOS script to get it working under Debian and Ubuntu. We might create one single script which will install OpenVPN on most distributions and architectures in future.
To install issue the following commands logged in as root on your VPS (Refer to this post if you are facing any issues)
chmod +x
For any other issues and feedback please e-mail us at [email protected]
You may use and modify this script however you see fit, provided that you do not edit the original copyright.
# Quick and dirty OpenVPN install script
# Tested on debian 5.0 32bit, openvz minimal debian OS template
# and Ubuntu 9.04 32 bit minimal, should work on 64bit images as well
# Please submit feedback and questions at [email protected]
# John Malkowski 01/18/2010
ip=`grep address /etc/network/interfaces | grep -v  | awk '{print $2}'`
apt-get update
apt-get install openvpn libssl-dev  openssl
cd /etc/openvpn/
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/
chmod +rwx *
. ./vars
source ./vars
echo -e "nnnnnnn" | ./build-ca
echo "####################################"
echo "Feel free to accept default values"
echo "Wouldn't recommend setting a password here"
echo "Then you'd have to type in the password each time openVPN starts/restarts"
echo "####################################"
./build-key-server server
cp keys/{ca.crt,ca.key,server.crt,server.key,dh1024.pem} /etc/openvpn/

echo "####################################"
echo "Feel free to accept default values"
echo "This is your client key, you may set a password here but it's not required"
echo "####################################"
./build-key client1
cd keys/
remote $ip 1194
dev tun
ca ca.crt
cert client1.crt
key client1.key
route-delay 2
route-method exe
redirect-gateway def1
dhcp-option DNS
verb 3"
echo "$client" > $HOSTNAME.ovpn
tar czf keys.tgz ca.crt ca.key client1.crt client1.csr client1.key $HOSTNAME.ovpn
mv keys.tgz /root

dev tun
ifconfig-pool-persist ipp.txt
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "route"
push "redirect-gateway"
keepalive 10 60
group daemon
echo "$opvpn" > /etc/openvpn/openvpn.conf
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s -o venet0 -j MASQUERADE
iptables-save > /etc/iptables.conf
echo "#!/bin/sh" > /etc/network/if-up.d/iptables
echo "iptables-restore < /etc/iptables.conf" >> /etc/network/if-up.d/iptables
chmod +x /etc/network/if-up.d/iptables
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
/etc/init.d/openvpn start
echo "OpenVPN has been installed
Download /root/keys.tgz using winscp or other sftp/scp client such as filezilla
Create a directory named vpn at C:Program FilesOpenVPNconfig and untar the content of keys.tgz there
Start openvpn-gui, right click the tray icon go to vpn and click connect
For support/bug reports email us at [email protected]"