SOCKServ - SOCKS server for Win32
Contents
News
Here is another BETA of V2. It now has an autostart feature. Download
I've cleaned up this page a little and created a document on the built in Windows 98SE/2000/XP Internet Connection Sharing (ICS) utility and SOCKServ.
Here is the BETA2 of version 2.0. Download it now. Features implemented include:
- Full Multithreading - Should have better performance
- Logging - Logging detail is reduced from version 1.x. The content is no longer logged, just the connection info.
- Configuration File - Settings are now saved between runs. Commandline configuration is not needed.
Also, this beta is now statically linked so you don't need the Borland runtime library.
Please send me feedback on what is broken and what features need to be added.
Older News:
Here is the BETA of version 2.0. Download it now. Features implemented include:
- Full Multithreading - Should have better performance
- Logging - Logging detail is reduced from version 1.x. The content is no longer logged
I have started a rewrite (dubbed version 2.0) using C++ Builder and native socket components.
Email me with comments and feature requests. Currently I'm planning on adding:
- HTTP Proxy Support
- Multi-Threading
I might drop:
- Bandwidth Limiting
- Access Control
When Dwinsock 3 is released I will doing a complete rewrite of SOCKServ.
V 1.13 is here. Another try at the -min -tray glitch.
V 1.12 is here. Finally nailed the -min -tray problem.
V 1.11 is here. Fixed a bug with -min commandline parameter.
V 1.1 BETA is here. The much asked for Minimize
to Tray command option added. Option to restrict incomming connections
added.
I found a new source and new version of Bind. The old site doesn't work
now. See the HOWTO.
V 1.02 BETA is here! Fix bug with programs that use UserName information
(ie MIRC). Fixed bug that corrupted large downloads. Added Minimize to
System Tray Option.
V 1.01 BETA is here! I've fixed a bug in the -rh commandline parameter
that caused it to not work!
Here's the much asked for "How to to setup Bind
and SockServ to share an internet connection"
Sorry EVERYONE! When I updated the zip file, I accidentally put in the
old version of the exe. So please download it again.
I have gotten many emails about setup. I will try to get a HOWTo web
page up soon.
I have learned that not all FTP clients require bind(). Most will work
through SOCKServ in passive mode. Try the PASV command.
V 1.00 BETA released! New features include:
- New Connection status area
- Bandwidth Limiter - Limit the amount of bandwidth the server uses
All the previous known bugs have been fixed.
V 0.04 released! SockServ should now be more stable than ever!
Also some minor performance improvements. I'm still looking for feedback
on whether to add BIND call support (mainly for ftp).
V 0.03 released! Bugs introduced in v0.02 fixed!
V 0.02 released! I fixed some bugs and sockserv can now accept command
line parameters!
How many people want BIND() (the winsock call, not Bind/NT) support? I am thinking about adding it. Email
me
with your opinion.
Intro
SOCKServ is a SOCKS
V4 server that runs on Win32 platforms (Win95/98/2000/NT/XP). It has only been tested under Win95/98 throughly. I wrote it in Delphi using DWinsock.
See My TBinarySocksClient component for
Delphi for programming SOCKS in Delphi.
DOWNLOAD: sockserv2.zip - v 2.0 BETA
DOWNLOAD: sockserv.zip - v 1.13
Features
- Freeware - free for non comercial use! Please send me a thank you email
- Number of connections is only limited by memory or other stuff! The practical limit is 64 or the winsock limit whichever is lower.
- Can pass requests to other SOCKS servers! - Check the "Chain to other SOCKS" box to do this.
- Can log all data that passes through it! - Check the "log" box.
- Can limit sending and recieving bandwith usage separately. The limit can be toggled on and off without stopping the server.
- Fill in the bandwidth limit in the box.
- Check the box.
- Can restrict incomming connections by host.
- ok_hosts.txt contains list of hosts allowed to connect if the restrict
if the "Restrict by IP" box is checked.
- Host Name entries will require a potentially lengthy Reverse DNS Lookup.
Any segment of an IP address or Host name may be replaced by an *.
For example www.*.com would match www.domain.com and www.otherdomain.com.
123.123.123.* would match any IP address that begins with 123.123.123.
Embedded wild cards such as www.dom*n.com and 123.123.1*3.123 are not allowed
- Accepts the following commandline params:
- "-p{port}" - start with the port box filled with port
- "-rh{remote host} {remote port}" - start with SOCKS chaining enabled through remotehost and port.
- "-go" - start listening for connection immediately instead of waiting for the user to press start.
- "-min" - start minimized
- "-tray" - minimize to tray (also use -min to start minimized to tray)
- "-res" - restrict hosts
Limitations
-
Does not support bind() requests
-
This means some ftp clients probably won't work. Others will. Try the passive mode. Netscape works fine though. See note in news section.
- If an incomming connection dies before sending 8 bytes, socksserv willhang.
- This is because SockServ is waiting for the request packet. I'm debating whether to add a timeout.
- Fixed in version 1.00 and higher!
Example for use
For details check the HOWTO. I've used SOCKServ to allow my other system to access the internet while only my main system is dialed in. To do this you also need BIND95 or other nameserver. Setup up bind as a caching nameserver. Have your other machines setup to use the main machine as nameserver. Run SOCKServ. Port 1080 is the standard SOCKS port. In Netscape on the other machines, go to options/network... Go to the proxies page, select manual configuration, and put the the address and port of your SOCKserv.
Bugs
Check this page at http://geocities.datacellar.net/SiliconValley/Heights/2517/sockserv.htm
for the latest info.
Please e-mail me all bugs at pfong@geocities.com
Contact Info
Send bug reports, requests for help, etc. to pfong@geocities.com
Back to my home people have visited!