Tutorials Linux Emulator Networking Proxy Firewall

From WebOS Internals
Revision as of 01:01, 19 November 2010 by Hemna (talk | contribs) (→‎Create the tsocks.conf file)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Howto proxy network connections in Emulator

Get tsocks

Since the emulator is running as x86, you can just copy over your tsocks files from your linux distro

  • Fire up the emulator (palm-emulator)
  • copy tsocks to Emulator -> /usr/local/bin
scp -P 5522 /usr/bin/tsocks root@localhost:/usr/local/bin
  • copy libtsocks.so to Emulator -> /usr/lib
scp -P 5522 /usr/lib/libtsocks.so root@localhost:/usr/lib

Create the tsocks.conf file

# This is the configuration for libtsocks (transparent socks)
# Lines beginning with # and blank lines are ignored
#
# The basic idea is to specify:
#	- Local subnets - Networks that can be accessed directly without
#			  assistance from a socks server
#	- Paths - Paths are basically lists of networks and a socks server
#		  which can be used to reach these networks
#	- Default server - A socks server which should be used to access 
#			   networks for which no path is available
# Much more documentation than provided in these comments can be found in
# the man pages, tsocks(8) and tsocks.conf(8)

# Local networks
# For this example this machine can directly access 192.168.0.0/255.255.255.0 
# (192.168.0.*) and 10.0.0.0/255.0.0.0 (10.*)

local = 192.168.0.0/255.255.255.0
local = 10.0.0.0/255.0.0.0
#local = <Network for your personal network>/<netmask>


# Paths
# For this example this machine needs to access 150.0.0.0/255.255.0.0 as 
# well as port 80 on the network 150.1.0.0/255.255.0.0 through
# the socks 5 server at 10.1.7.25 (if this machines hostname was 
# "socks.hello.com" we could also specify that, unless --disable-hostnames
# was specified to ./configure).

##path {
#	reaches = 150.0.0.0/255.255.0.0
#	reaches = 150.1.0.0:80/255.255.0.0
#	server = 10.1.7.25
#	server_type = 5
#	default_user = delius
#	default_pass = hello
#}

# Default server
# For connections that aren't to the local subnets or to 150.0.0.0/255.255.0.0
# the server at 192.168.0.1 should be used (again, hostnames could be used
# too, see note above)

#server = 192.168.0.1
server = <IP OF YOUR socks proxy>
# Server type defaults to 4 so we need to specify it as 5 for this one
server_type = 5
# The port defaults to 1080 but I've stated it here for clarity 
server_port = 1080 

default_user = user@host
default_pass = <password here>
  • You can test your config file by doing this
/usr/local/bin/tsocks wget http://www.cnn.com
  • If you are behind the socks proxy and the tsocks.conf is setup correctly, then the wget command should work.

Shim LunaSysMgr

Permanently shim LunaSysMgr

  • You can force LunaSysMgr to always use the proxy by editing the upstart script that lives in /etc/event.d
  • Add the tsocks line in front of the call to exec LunaSysMgr
  • vi /etc/event.d/LunaSysMgr and update the exec line to make it look like this:
exec /usr/local/bin/tsocks /usr/bin/LunaSysMgr -s `cat /var/luna/preferences/sysmgr-args`
  • reboot the emulator. enjoy.