Jump to content
Not connected, Your IP: 18.119.127.13
sagarbehere

HOWTO: AirVPN Client Eddie on Raspberry pi 3

Recommended Posts

Hi all,

 

I recently got Eddie working on my raspberry pi 3 model B. It took a bit of doing, so documenting the process here in the hope that someone else will have to spend less time on it than I did.

 

The raspberry pi 3 runs OSMC, which seems to be a tailored version of debian jessie. My GUESS is that although the Pi 3's ARM processor is 64 bits, OSMC is still running the 32 bit version of ARM linux. Anyways,... After OSMC was installed and networking was up, I ssh'd into the machine to install Eddie

 

Step 0: You need to do everything as root. So su to root

 

osmc@OmniScope:~$ sudo su 

 

Step 1: Install mono 4

 

The version of mono in the repositories is probably too old. So I added a new repository and fetched mono from there

root@OmniScope:/home/osmc# echo "deb http://plugwash.raspbian.org/mono4 jessie-mono4 main" >> /etc/apt/sources.list
root@OmniScope:/home/osmc# apt-get update
root@OmniScope:/home/osmc# osmc@OmniScope:~$ apt-get install mono-complete

 

verify that you have version 4 with

root@OmniScope:/home/osmc# apt-cache policy mono-complete
mono-complete:
  Installed: 4.0.2.5+dfsg-2~rpi1
  Candidate: 4.0.2.5+dfsg-2~rpi1
  Version table:
 *** 4.0.2.5+dfsg-2~rpi1 0
        500 http://plugwash.raspbian.org/mono4/ jessie-mono4/main armhf Packages
        100 /var/lib/dpkg/status
     3.2.8+dfsg-10 0
        500 http://ftp.debian.org/debian/ jessie/main armhf Packages
root@OmniScope:/home/osmc#

 

Step 2: Install openvpn and stunnel4

root@OmniScope:/home/osmc# apt-get install openvpn stunnel4

Step 3: Get the portable version of Eddie (mono required) from https://airvpn.org/linux/ 

 

You'll download a file named something like airvpn_linux_x64_mono.tar.gz. Don't worry about the _x64 part. 

Copy the file over to your raspberry pi, then untar it. Replace the openvpn and stunnel executables with those from your raspberry pi

tar zxvf airvpn_linux_x64_mono.tar.gz
cd airvpn_linux_mono
mv openvpn openvpn.orig; cp /usr/sbin/openvpn .
mv stunnel stunnel.orig; cp /usr/bin/stunnel4 .
 

Step 4: Run Eddie

 

You can now start Eddie from the command line, as explained at https://airvpn.org/topic/11541-command-line-edition-and-syntax/

For example, I use

mono AirVpn.exe -cli -profile=AirVpn.xml -login=myusername -password=mypassword -connect -netlock

where I got the AirVpn.xml file from my laptop. This is optional.

 

(Optional) Step 5: Make it more convenient

 

If you follow all the steps above, you should be able to connect to AirVPN. However, when you quit the ssh session, the VPN session will also be terminated. I use my Pi as a media center and want the connection to persist after closing the ssh session. To achieve that, I use GNU Screen.

 

sudo apt-get install screen
 

 

Use google to find a tutorial on how to use screen. Briefly, after ssh'ing over to the Pi, type the command 'screen' (without the ' ' ). You'll get back the command prompt, but a screen session will be active. Now run Eddie as described above. To "detach" from the screen Ctrl+a+d. You'll get back to the command prompt, from which you can terminate the ssh session. AirVPN will continue working in the detached screen session. To get back to it, ssh into the Pi again and type 'screen -r'.

Share this post


Link to post

Hello!

 

Very good work indeed . I would recommend you change the title, to reflect that this is a guide or a how-to, as it otherwise appears like it's just another question.


Moderators do not speak on behalf of AirVPN. Only the Official Staff account does. Please also do not run Tor Exit Servers behind AirVPN, thank you.
Did you make a guide or how-to for something? Then contact me to get it listed in my new user guide's Guides Section, so that the community can find it more easily.

Share this post


Link to post

Nice. But why do you need screen? Can't you just run Eddie in the background (add "&" to the command) and use "disown" to untie it from the current shell session?

Share this post


Link to post

Nice. But why do you need screen? Can't you just run Eddie in the background (add "&" to the command) and use "disown" to untie it from the current shell session?

 

Probably because you have a lot of advantages with screen: you can anytime recall directly a screen to interact with the software and consult the output, share screen between accounts and you can also disconnect the account that detached the screen and be sure that the screen is still there and your software running, very nice for example when you are connected from a remote terminal via ssh.

 

disown removes the job from the shell job list, so the process can't receive a SIGHUP from the shell, but it is still connected to the terminal. "If the terminal is destroyed (which can happen if it was a pty, like those created by xterm or ssh, and the controlling program is terminated, by closing the xterm or terminating the SSH connection), the program will fail as soon as it tries to read from standard input or write to standard output." See also: https://unix.stackexchange.com/questions/3886/difference-between-nohup-disown-and - first answer.

 

Kind regards

Share this post


Link to post

Ok, sounds logical to me. What's more I'd like to make clear that the intent of my comment wasn't to criticize the author. I just like to keep things simple and wondered why he used an additional tool for his solution.

Share this post


Link to post

I'm the OP.

 

LZ1: Thanks. I have changed the title. Hopefully, this one is more clear. Let me know if there is a more preferred way to phrase it.

 

altae: Staff has correctly explained why I use screen. Among other things, it is useful to be able to log back into the Pi, pull up the screen session and consult the output of the client. Thanks for asking your question. This thread is now more helpful to the next reader :-)

Share this post


Link to post

What is the memory fingerprint of this?

 

I wonder if it's much bigger than running OpenVPN+Ipleak. Would be nice to have a number..

Share this post


Link to post

OP here.

 

@air_is_nice : You have asked two questions 1. What is the memory footprint of running Eddie on rPi3 (secondary question: How does it compare to OpenVPN + ipleak) and 2. Have you managed to add this to the auto-startup.

 

I am traveling right now and will have access to my setup on 27th November. Will edit+update this post with the memory footprint numbers then. As for the auto-startup, I have not tried this yet, but there shouldn't be any particular reason why this would be difficult. I'll figure out the exact mechanism to do it and report back on both questions by the end of November. Please PM me if you do not see an update by then.

Share this post


Link to post

Is it really necessary to use the Mono version of Eddie?

 

Better yet: is it really necessary to have mono-complete installed in order for the ARM CLI version of Eddie to connect?

 

The ARM CLI version of Eddie always gives this error, unless mono-complete is installed:

Error: SecureChannelFailure (The authentication or decryption has failed.)

Share this post


Link to post
Posted ... (edited)

I've been able to get the arm version (eddie-ui_2.11.15_linux_armv7l_mono) to run with mono using 

sudo mono AirVPN.exe -cli -login=UN -password=PW -connect -netlock

But I get an error message of: 

! 2017.02.24 14:45:46 - Activation of Network Lock - Linux IPTables

I 2017.02.24 14:45:48 - Checking login ...

. 2017.02.24 14:45:48 - Updating systems & servers data ...

_wapi_connect: error looking up socket handle 0x79

. 2017.02.24 14:46:29 - Cannot retrieve systems & servers data. Please retry later or contact us for help. (The request timed out)

F 2017.02.24 14:46:29 - Cannot login. (The request timed out)

! 2017.02.24 14:46:29 - Ready

 

When I try to do:

curl http://ip.changeip.com

I get the message :

curl: (7) Failed to connect to ip.changeip.com port 80: Connection timed out

 

Any idea why this isn't working for me?

 

Edit:

Also how do I get the AirVPN.xml file from my macintosh app? 

Edited ... by zammtech

Share this post


Link to post

Hi, 

 

i´m absolutely new to linux, but i woul´d like to get eddie running on my rpi3 with raspbian (jessie). 

 

I´ve tried installing the eddie packages after doing 

 

and adding 

 

 

to /etc/apt/sources.list

 

but i can´t get eddie (eddie-ui_2.12.4_linux_armv7l_debian.deb, i´ve also tried the othe versions for linux) installed. 

 

Should i try doing the same as OP to get it running on raspbian? 

Which logs do you need? 

 

Thanks in advance.. 

Share this post


Link to post

Hi, 

 

i´m absolutely new to linux, but i woul´d like to get eddie running on my rpi3 with raspbian (jessie). 

 

I´ve tried installing the eddie packages after doing 

 

and adding 

 

 

to /etc/apt/sources.list

 

but i can´t get eddie (eddie-ui_2.12.4_linux_armv7l_debian.deb, i´ve also tried the othe versions for linux) installed. 

 

Should i try doing the same as OP to get it running on raspbian? 

Which logs do you need? 

 

Thanks in advance.. 

--

 

NVM, I had the wrong information

Share this post


Link to post

Hello,

 

In case anyone is interested, here is how I had the Eddie GUI client working fine on Raspberry Pi 3:

 

On Rasbpian stretch (latest default available Raspbian version): just download the ARM Graphical UI Linux version (eddie-ui_2.13.6_linux_armhf_debian.deb) here: https://airvpn.org/linux/. Then

 

sudo dpkg -i eddie-ui_2.13.6_linux_armhf_debian.deb

 

it works out of the box (you may have to install required dependencies, just do

 

sudo apt install -f

 

and then again

 

sudo dpkg -i eddie-ui_2.13.6_linux_armhf_debian.deb

On Rasbpian Jessie (previous version): if you still use Rasbpain Jessie, the aforementioned steps are still valid, but the client will crash on launch. I had it working by installing the testing version of the mono-complete package, by first adding

 

deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi

 

in /etc/apt/sources.list, then

 

sudo apt update
sudo apt install -t testing mono-complete

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Security Check
    Play CAPTCHA Audio
    Refresh Image

×
×
  • Create New...