|
Following is a copy of the FAQ file included in the doc/ directory of the
HTun distribution.
__________________________________________________
Here are some frequently asked questions that we get. Please do not repeat
them to us, as God knows we're hellishly busy every second of the day!
-------------------------------------------------------------------------------
Q: Will there ever be a client for [insert platform here] ?
A: (Short): Probably for Solaris and FreeBSD, but not for Windows or OS/X.
A: (Long): Currently, HTun uses the functionality of the Universal TUN/TAP
driver (provided in the Linux kernel as tun.o) to do the dirty work of
bringing up and communicating over a network interface. This is what
enables HTun to be a completely user-space daemon.
The TUN/TAP driver (http://vtun.sourceforge.net/tun/index.html) is
currently available only for Solaris, FreeBSD, and Linux. Therefore, these
platforms would, without question, be the easiest to port to. So there is a
chance that we will release Solaris and FreeBSD clients some day. If you
wish to help port HTun, we will be more than happy to have you help us with
that. We will provide you with all the support necessary.
However, if you are asking about Windows or Mac OS/X, the likelihood is
that it will not be ported unless some wizard Windows programmer would like
to help us. This is because we know nothing about Windows programming. If
you are interested in doing the port, you will have to duplicate the
functionality of the TUN/TAP driver in Windows, or else modify the program
just to bring up its own network interface and talk to it directly, instead
of relying on the TUN/TAP driver.
-------------------------------------------------------------------------------
Q: My connection negotiates fine, but then I can't communicate afterwards!
A1:Is your proxy server on the same subnet as your client? I.e., does the
client need to route (rather than simply broadcast) to get to the proxy
server? If so, you will need to set up a static -host route to it before
you start HTun, because HTun is trying to route to the proxy through the
TUN interface, which is just plain stupid.
To set up the route, assume your proxy ip is ppp.ppp.ppp.ppp and your
router IP is rrr.rrr.rrr.rrr. Assuming you use device eth0 to get to the
router, you'd do:
$ route add -host ppp.ppp.ppp.ppp gw rrr.rrr.rrr.rrr dev eth0
Then it should all work.
A2:If you are traversing a proxy server, please ensure that it supports
keep-alive (persistent connections to the webserver). If it does not, HTun
will not work. We would like to assemble a list of proxies that do and do
not support keepalive, so please let us know if yours does or not.
-------------------------------------------------------------------------------
Q: I think I've found a bug, or a problem I can't figure out!
A: Before reporting it, please re-read the README to make sure you didn't miss
something important. Then recompile the server and client with "make
debug". When you make the report, invoke htun server and client with the -d
flag, to cause debug output to be logged as well. This way, we will get
extra information about what's going on that we would not have been able to
see otherwise.
Then do the simplest progression of steps possible to reproduce the
problem. Email the logs and the steps to us and sit back and wait.
-------------------------------------------------------------------------------
Q: How does all this really work?
A: If you really want to know the nitty-gritty of the protocol and
implementation details, I highly recommend reading the research paper Ola
and I wrote, at http://htun.runslinux.net/docs/htun-paper.pdf.
-------------------------------------------------------------------------------
|