User Guide
      Video tutorial
      Working Applications
         Windows (no installation)
         Mac OS X
         iPhone / iPad
         Other Smartphones
      Using DNS mode
      Using ECHO mode
      Using PPTP
      Using SOCKS5
      Instant Messaging
      Internet Mail
      Multimedia Apps
      Forex trading
      FTP Tools
      Proxy Helpers
      OpenVPN mode
      Mobile connections
      Connection sharing
      External Information
      Country information
      Payment methods
      Account disabled
Not logged in.

Supported Unix like OS's

This document applies not only to Linux but to all other platforms that have Java with working Swing support installed. We know it works on all flavors of Linux, on FreeBSD and on Solaris platforms, as well as on Mac OS X.

We are developing Your Freedom on both Windows and Linux using Sun's Java SE and NetBeans. The Your Freedom servers, who share a lot of the code with the client, run Linux too, using Sun's JRE SE 6.



You need a Java runtime environment that has Swing support. Latest versions of OpenJDK will work as well but we recommend to use Sun's JRE. Many distributions ship Sun's JRE; instructions on how to install it can be found in these places:

Generic instructions -- this is how you can install Sun's JRE if your Unix distribution doesn't supply it:

  • Go to Sun's Java Download page, click on the JDK download button and get a copy of either the RPM (if your system is RPM based) or the tar file version (if not).
  • RPM: Create a directory, move the file you've downloaded to it, then run "sh file.bin" with the name of the file you've downloaded instead of file.bin. This will extract a set of RPM files. Install them all using "rpm -i file.rpm".
  • tar: As root, create a directory "/usr/local/java" and move the downloaded file there. cd to the directory, then run the file with "sh file.bin", with the name of the file you've downloaded instead of file.bin. This creates a directory. Figure out its name, then create a symbolic link called "current" pointing to it (ln -s dirname current, replacing dirname with the directory name). Now go to /usr/local/bin and type "ln -sf ../java/current/jre/bin/* ." and "ln -sf ../java/current/bin/* .".
  • When you are done, double-check that your system is using the proper version of Java by running the command "java -version". If it doesn't tell you it's from Sun then you are not running the right version. Type "which java" to see what's going on. You might have to type "rehash" (if you are using zsh) or close your shell and re-open it. If that doesn't help, check your path settings, you should have /usr/local/bin very much to the front.

Installing Your Freedom

You don't really have to install anything at all, you just need to unzip the contents of the ZIP file to some folder.

  • Create a suitable directory for the Your Freedom installation. You might want to choose /usr/local/freedom or whatever. Then extract the contents of the ZIP file there (using unzip). If you don't want to install it system-wide, just use a sub-directory in your home directory.



Running Your Freedom

You need a graphical desktop supported by Swing; this means X11R6. Unless you are on a console or telnet connection you should be fine. There is a non-gui mode built into Your Freedom but it might no longer work, no-one has tested it for a while.

Now cd to the directory where you have unzipped the files to. Type "java -jar freedom.jar --help". You should see a list of command line options. Normally you won't need any of these, so just type "java -jar freedom.jar" to start Your Freedom, or append an ampersand to detach it from your shell window.

For some of YF's functionality it is required that you run YF as root (ECHO connection mode, but also OpenVPN mode). The best way to make this work is to install and properly configure a tool called "sudo". "sudo" lets ordinary users run stuff as root. Depending on your local configuration (see /etc/sudoers, man sudoers) it is usually sufficient to add a user to the group "sudo" (edit the file /etc/group, find the "sudo" group, and append the user's username). However, the default configuration in /etc/sudoers is usually not sufficient to properly run X11 applications. You can make them work by adding this line to /etc/sudoers:

Defaults env_keep += "HOME"

It ensures that processes that are run with root privileges keep their parent process's notion of what is the home directory, and can therefore locate the credentials required to authenticate to the X11 desktop. When all this is done, run YF as above, but prefix "sudo": "sudo java -jar freedom.jar &"

A good article on sudo can be found on ArchWiki.


Does OpenVPN mode work too?

Yes, it does if you ensure that OpenVPN is run as root. You can either use the method above and run the YF client as root (OpenVPN will inherit the privileges), or make OpenVPN run "suid root" as shown here.


   Acceptable Use  | Data Protection Statement