For iPhone 4 & 3Gs on firmware 4.1 to 4.2.6
Two things to get out of the way first:
1) First you will want to run TinyUmbrella so that you can backup the SHSH Blobs.
2) Backup your device in iTunes
3) Read comments on Chronic Dev-Team blog, so you understand the risks
An un-jailbroken iPhone 4 on iOS 4.1 to 4.2.6 with an internet connection
How to Jailbreak:
1. If you are on iOS 4.1, download Greenpois0n RC4. If you are on iOS 4.2.1 or 4.2.6, download Greenpois0n RC6.1.
download - Greenpois0n for Windows RC6.1
Download Greenpois0n for Windows RC4
2. Extract gp_win32_rc4.zip or gp_win_rc6.1.zip.
3. Plug your iPhone into your computer.
4. Run greenpois0n.exe.
5. Greenpois0n will ask you if you are jailbreaking an Apple TV. Click "No".
6. Click "Prepare to Jailbreak (DFU)".
7. Follow the instructions in Greenpois0n to get your iPhone into DFU mode.
a) Hold Home and Sleep Buttons for 10 seconds
b) After 10 seconds release Sleep Button
c) Continue Holding Home Button for 15 more seconds
NOTE: When your iPhone is in DFU mode your screen will be black.
8. Once your iPhone is in DFU mode, click "Jailbreak".
9. You will see some code executing on your iPhone's screen. Do not worry, that is just the ramdisk performing the jailbreak.
10. Once the jailbreak is complete, click "Quit".
11. On your iPhone, you will see a new application named "Loader" on your SpringBoard.
NOTE: Your iPhone will need to have an internet connection to continue the jailbreak.
11. Launch "Loader".
13. Exit "Loader" and your iPhone will respring.
14. After your iPhone has resprung, you will see Cydia on your SpringBoard.
15. You can then remove "Loader" by launching it, tapping "Options" in the top left corner and then tapping "Remove Loader.app". Exit "Loader" and your iPhone will respring.[You must be registered and logged in to see this link.]