UNIX Client-Server Program Interface
C Shell Roff Makefile Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
downstream
.gitignore
.travis.yml
GNUmakefile
Makefile
README.md
ca.cf
client.cf
config.mk
findport.c
http
http_parser.c
http_parser.h
httpc.c
httppc.1
httppc.c
read0.sh
read6.sh
server.cf
sockc.1
sockc.c
socks.1
socks.c
sslc.c
tap-functions
tcpc.c
tcps.c
test.sh
tests.mk
tlsc.1
tlsc.c
tlss.1
tlss.c
ucspi-tee.c
write.sh

README.md

Build Status

ucspi-tools

The UNIX Client/Server Program Interface Tool Suite is bunch of tools to handle UCSPI connections.

sockc

sockc is an ucpi SOCKS client. It handles the socks protocol transparently and establishes further connection through the corresponding SOCKS server. sockc supports SOCKS version 5.

tlsc

tlsc establishes an TLS connection and builds an crypto interface between the network side and program side of the exec-chain. It depends on libtls from LibreSSL.

tlss

tlss accepts server side tls connections. It also uses libtls for encryption.

sslc

sslc is a legacy version of tlsc which just depends on plain old OpenSSL. It just contains rudiment certificate checks.

httpc

The http client is just a stub for testing. It needs to be rewritten for productive use.

examples

Just open a tcp connection to google.de and make a fetch of the start page.

tcpclient www.google.de 80 http www.google.de

Get the google index page over a local socks proxy:

tcpclient 127.0.0.1 8080 socks www.google.de 80 ./http.sh www.google.de

If you have to use a socks proxy you could always use socks with the following alias:

alias tcpclient="tcpclient 127.0.0.1 8080 socks"
tcpclient www.google.de 80

TODO:

  • missing, but useful tools
    • http proxy client
    • smtp client
    • socks server
  • sockc
    • user authentication
    • server mode
    • udp
  • tlsc
    • Fingerprint accept
    • Revocation check
    • OCSP
  • httpc
    • user authentication
    • support for different content encodings
    • keep-alive with queue of paths to download

references