ghostship

A daemon written in bash that allows to execute the Windows proxy "Ultrasurf" just like it was a unix daemon - with minimal rights of course. In order to hide the GUI, ghostship makes use of TightVNC. Wine is used to execute the program.

Overview

Download
News
License
Bugs and feature requests
What is Ultrasurf?
How do I configure browser X to use Ultrasurf?
How do I know whether Ultrasurf is online?
How does ghostship exactly work?
Related websites

Download

Archlinux: 0.6, svn
Ubuntu/Debian: 0.6
Other: 0.6, svn

Ghostship does run pretty stable on Archlinux in my experience. However, if you run it on another distribution, you will probably find bugs. Please report them here, thanks :)

(After installation): Check out the new start page!

News

A tale of GIMP and AJAX
Ultrasurf, Ubuntu and Ghostship v0.5
ghostship: first release (0.4)
ghostship-svn in the Archlinux User Repository
ghostship 0.4: some major rewrites

get notifications via rss or mail

License

Ghostship is licensed under the terms of the GNU General Public License version 3.0 (GPLv3).

Bugs and feature requests

Did you find any bugs or do you have a feature request? Take a look at the bugtracker.

What is Ultrasurf?

Ultrasurf is a closed source freeware proxy application developed by Ultrareach for Windows. It tunnels all the http(s) traffic on the port 9666 through SSL to an american server. By using it, one can bypass censorship as well as stay anonymous on the internet.

For more information, visit Ultrareach.net.

How do I configure browser X to use Ultrasurf?

Basically, set it up to use
Server: 127.0.0.1
Port: 9666
as its proxy for all protocols.
Here's a really verbose tutorial for Firefox.

How do I know whether Ultrasurf is online?

As long as the file /var/lib/ghostship/status/connected exists, Ultrasurf is connected. You may use this with Conky just like that:

${if_existing /var/lib/ghostship/status/connected}${color}online$else${color red}offline$endif

How does ghostship exactly work?

First it creates a 'ghostship' user with the home path /var/lib/ghostship. Then it sets up a wine prefix and minimizes its access to the wineprefix itself as well as sets up a tightvnc server with the given password in /etc/ghosthship/password.conf.
The default setting is that vnvserver will listen to localhost only, but you can change that if you like in /etc/ghosthship/ghostship.conf.

After that it downloads and installs the Microsoft Visual C++ 6 runtime (1.7 MB), because Ultrasurf requires two DLL files that are in there.

Before ghostship starts Ultrasurf, it always checks for an updated version and downloads it then (this can be disabled in ghostship.conf, although it definitely needs to download Ultrasurf on the first launch).

So everything is set up now. The only thing for ghostship left to do is to start Ultrasurf, try to keep it connected by sending data through it every twenty seconds (again, this can be customized) and restart it when it is not.

Although this was a lot of text, the first start takes only ten seconds plus the time Ultrasurf needs to connect (which is usually less than a minute) on my machine, so don't worry about that :)

Related websites

Ultrareach.net
Ultrasurf in the Wine AppDB
Thoughtcrime's blog