Рут обязателен. Читаем здесь как его получить.
Ставим на устройство root_explorer, superuser, busybox. Скачать можно здесь. Устанавливаем из Market OpenVPN Settings и OpenVPN Installer.
1. запускаем приложение BusyBox, в настройках указываем путь /system/xbin, нажимаем «install». Если сматерился не по русски, что нет root-доступа — возвращаемся к получению рута.
2. копируем на устройство с ПК файлы tun.ko и unionfs.ko Скачать здесь, Если, по окончанию всех манипуляций openVPN будет ругаться на tun, вот запасной
3. запускаем root_explorer, находим куда положили файлы tun.ko и unionfs.ko, копируем их в буфер.
4. идем /system/xbin, нажимаем remount r/w (mount r/w)
5. «вставляем» «здесь» файлы из буфера
6. создаем папку bb
7. запускаем эмулятор терминала
8. выполняем следующие команды:
su
ln -s /system/xbin/busybox /system/xbin/bb/route
ln -s /system/xbin/busybox /system/xbin/bb/ifconfig
9. запускаем openVpn installer, на вопрос куда поставить говорим /system/xbin, на вопрос где системные утилиты выбираем "/system/xbin/bb"
10. на ПК находим (C:\Program Files\OpenVPN\config) файл *.ovpn У меня он следующего содержания:
client
proto udp
remote 92.92.92.92
port 1194
dev tap0
fragment 1300
explicit-exit-notify
nobind
tun-mtu 1500
ping 10
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
Подробнее о содержании этого файла здесь.
Подключаем устройство в режиме съемного диска.
создаем папку openvpn, копируем в нее папку config с модифицированными файлами
отключаем устройство от ПК
запускаем OpenVPN settings
заходим в настройки. Ставим галочку «load tun module» и указываем пусть до tun файла: /system/xbin/tun.ko
tun module settings --> path to run module должно стоять tun
сохраняем.
Запускаем терминал.
su
insmod /system/xbin/tun.ko
OpenVPNSettings --> connect. Подключились?зашибись! теперь проверяем пинги. Переключаемся на эмулятор терминала пишем : ping 192.168.1.2 (или какая там у вас в конфиге подсеть прописана)
Пинги не пошли? и правильно 🙂 пишем
ip rule
выдаст примерно такое:
0: from all lookup local
3001: from all lookup gprs
32766: from all lookup main
32767: from all lookup default
Надо удалять gprs
ip rule del from all lookup gprs
Если Вы подключаетесь через Wi-Fi, то вместо gprs подставляйте wifi
снова проверяем пинги. Пошли? замечательно! Теперь можно тестировать RDP. Мне понравился Remote_Desktop_Client_v2.14.0_Full.MSasha.apk Но тут есть проблема с Сиреной. Русскую раскладку она не понимает, хотя в блокноте все пучком. Габрик тоже не понимает, но там рус.яз. и не требуется.
Идем дальше. Теперь же нам все это надо как-то собрать. Как? Конечно же скриптами. Ставим Gscript.
Добавляем скрипт на подключение OpenVPN
insmod /system/xbin/tun.ko
am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n de.schaeuffelhut.android.openvpn/.OpenVpnSettings
Я сделал именно через OpenVpnSettings, тк частенько требуется выбрать куда подключаться
Добавляем второй для RDP
ip rule del from all lookup gprs
ip rule del from all lookup wifi
am start -a android.intent.action.MAIN -n com.xtralogic.amdroid.rdpclient/.MainActivity &
Оба скрипта, конечно же, с правами root. На рабочий стол эти скрипты можно вытянуть через ярлык (удерживаем на раб столе --> Ярлык) Подробнее об именах программ для терминала здесь