OpenVPN
From nookDevs
- Warning: nookDevs.com is not liable if you screw up during this process. kthxbai.
- Warning: This will probably (probably = actually) void your warranty, nookDevs.com is not liable for that either in any way shape or form.
- Warning: What you are about to do should only be undertaken by a competent person, not your pet monkey Guenter, even if he has a small hat (Futurama).
- Warning: Make sure you read the FULL page BEFORE starting anything to confirm you know what you are getting into!
- Warning: By following the instructions below you release nookDevs and all related parties from any and all liability and damages as a result of this process. We can help you if you run into problems but we help at OUR discretion.
Now you can run OpenVPN right on your nook and connect to a US-based OpenVPN server to be able to make purchases and download books to your nook as if you were in the US.
Contents |
Note
A new tun.ko can be found here: http://www.multiupload.com/1AZICI2HCD (Note: This is for 1.4.0)
Requirements
- A softrooted nook (version 1.2 preferably).
- An ADB installed on your computer and WiFi on your nook and a computer.
- An account with AlwaysVPN (any other OpenVPN server should work, all the files needed to connect to AlwaysVPN are supplied).
- Finally, you'll need this file (you need to create an account at AlwaysVPN and log in in order to download this file) to connect to AlwaysVPN or this file if you have your own OpenVPN Server/config/certificates.
Instructions
- Download this file and extract its content, you should end up with the folder/directory openvpn with sub-folders data and system.
- Edit the openvpn/data/data/openvpn/alwaysvpn-password.conf file and replace the word login with your actual alwaysvpn login on the first line and the word password with your actual alwaysvpn password on the second line of the file. It should be similar to this:
-
- stangri
- 314159
-
- Assuming that your current directory is the one where you have the openvpn folder run the following commands.
- Connect to your nook:
adb connect
:5555
- Backup two original libraries:
adb shell mv /system/lib/libcrypto.so /system/lib/libcrypto-orig.so
adb shell mv /system/lib/libssl.so /system/lib/libssl-orig.so
- Create new folders:
adb shell mkdir /data
adb shell mkdir /data/local
adb shell mkdir /data/busybox
adb shell mkdir /system/lib/modules
adb shell mkdir /data/data
adb shell mkdir /data/data/openvpn
adb shell mkdir /system/xbin/bb
- Push new system files to your nook:
adb push openvpn/data/local/busybox /data/local/
adb push openvpn/system/lib/libcrypto.so /system/lib/
adb push openvpn/system/lib/liblzo.so /system/lib/
adb push openvpn/system/lib/libssl.so /system/lib/
adb push openvpn/system/bin/openssl /system/bin/
adb push openvpn/system/bin/openvpn /system/bin/
adb push openvpn/system/lib/modules/tun.ko /system/lib/modules/
- Set permissions to the new binaries:
adb shell chmod 4755 /data/local/busybox
adb shell chmod 4755 /system/bin/openssl
adb shell chmod 4755 /system/bin/openvpn
- Finalize busybox install and create the symlinks:
adb shell /data/local/busybox --install
adb shell ln -s /data/local/busybox /system/bin/busybox
adb shell ln -s /data/local/busybox /system/xbin/bb/ifconfig
adb shell ln -s /data/local/busybox /system/xbin/bb/route
- Push the OpenVPN config files to your nook:
adb push openvpn/data/data/openvpn/alwaysvpn-ta.key /data/data/openvpn/
adb push openvpn/data/data/openvpn/alwaysvpn2_ca.crt /data/data/openvpn/
adb push openvpn/data/data/openvpn/alwaysvpn.conf /data/data/openvpn/
adb push openvpn/data/data/openvpn/alwaysvpn-password.conf /data/data/openvpn/
- Load the tunneling driver and run:
adb shell insmod /system/lib/modules/tun.ko
- Finally run OpenVPN:
adb shell /system/bin/openvpn --config /data/data/openvpn/alwaysvpn.conf --auth-user-pass /data/data/openvpn/alwaysvpn-password.conf
- Give it some time to connect to AlwaysVPN and set everything up -- wait until you see the line Initialization Sequence Completed. Now (if you have WiFiLock enabled) you can access B&N store as if you were in US.
- To exit OpenVPN press Ctrl-C. If you want to run it again, just run the command (#12). If you reboot, you will need to load the tunneling driver first (#11 then #12). If you can help developing the UI wrapper or nook application for OpenVPN, let us know.
Public OpenVPN Servers
If you know of a public OpenVPN server (especially if it's free) please add it (and its config files) below.
AlwaysVPN
AlwaysVPN was a paid service referred to on the mobileread forum most frequently so instructions above were made/tested for AlwaysVPN. You need to sign up for an account at AlwaysVPN and pay for traffic. For a limited time only, use Contact form at AwlaysVPN site and send them a message with your desired account name and e-mail address saying that you want to get 100Mb of free traffic as part of the "nookdevs giveaway". Please note that they are on the east coast of USA and they work regular human hours, so please be patient waiting for reply. The config files and key/certificate are available in a separate zip-file here.
Credits
- Many thanks to JesusFreke for his patience in helping me (stangri) with the toolchain setup so I could compile tun.ko driver.
- Cyde at Modaco Forums for his detailed post on running OpenVPN on Android.
- Busybox binary and instructions were taken from here, courtesy of Benno.