{"id":16164420,"url":"https://github.com/younix/ucspi","last_synced_at":"2025-03-18T23:30:28.204Z","repository":{"id":14432749,"uuid":"17144033","full_name":"younix/ucspi","owner":"younix","description":"UNIX Client-Server Program Interface","archived":false,"fork":false,"pushed_at":"2023-09-20T18:48:22.000Z","size":201,"stargazers_count":33,"open_issues_count":3,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-28T12:46:22.115Z","etag":null,"topics":["inetd","socks5","ssl","tls","ucspi","unix"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"wjohnsto/creepy","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/younix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-24T17:18:04.000Z","updated_at":"2025-02-20T07:09:42.000Z","dependencies_parsed_at":"2024-10-27T19:17:58.108Z","dependency_job_id":"7bbc42c9-39f3-457a-ae1c-03d62fcbe865","html_url":"https://github.com/younix/ucspi","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/younix%2Fucspi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/younix%2Fucspi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/younix%2Fucspi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/younix%2Fucspi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/younix","download_url":"https://codeload.github.com/younix/ucspi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955275,"owners_count":20374369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["inetd","socks5","ssl","tls","ucspi","unix"],"created_at":"2024-10-10T02:46:38.818Z","updated_at":"2025-03-18T23:30:27.890Z","avatar_url":"https://github.com/younix.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/younix/ucspi.svg)](https://travis-ci.org/younix/ucspi)\n\n# ucspi-tools\n\nThe **UNIX Client/Server Program Interface Tool Suite** is bunch of tools to\nhandle UCSPI connections.\n\n## sockc\n\n*sockc* is an ucpi SOCKS client.  It handles the socks protocol transparently\nand establishes further connection through the corresponding SOCKS server.\n*sockc* supports SOCKS version 5.\n\n## httppc\n\n*httppc* is an HTTP proxy client. It handles the HTTP protocol transparently\nand establishes a tunnel via the HTTP CONNECT method.\n\n## tlsc\n\n*tlsc* establishes an TLS connection and builds an crypto interface between the\nnetwork side and program side of the exec-chain.  It depends on libtls from\nLibreSSL.\n\n## tlss\n\n*tlss* accepts server side tls connections.  It also uses libtls for encryption.\n\n## sslc\n\n*sslc* is a legacy version of tlsc which just depends on plain old OpenSSL.  It\njust contains rudiment certificate checks.\n\n## httpc\n\nThe HTTP client is just a stub for testing.  It needs to be rewritten for\nproductive use.\n\n## examples\n\nJust open a tcp connection to google.de and make a fetch of the start page.\n\n```shell\ntcpclient www.google.de 80 http www.google.de\n```\n\nGet the google index page over a local socks proxy:\n\n```shell\ntcpclient 127.0.0.1 8080 socks www.google.de 80 ./http.sh www.google.de\n```\n\nIf you have to use a socks proxy you could always use socks with the following\nalias:\n\n```shellscript\nalias tcpclient=\"tcpclient 127.0.0.1 8080 socks\"\ntcpclient www.google.de 80\n```\n\n## TODO:\n  * missing, but useful tools\n    * smtp client\n    * socks server\n  * sockc\n    * user authentication\n    * server mode\n    * udp\n  * tlsc\n    * Fingerprint accept\n    * Revocation check\n    * [OCSP](https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol)\n  * httpc\n    * user authentication\n    * support for different content encodings\n    * keep-alive with queue of paths to download\n\n## references\n  * [ucspi](http://cr.yp.to/proto/ucspi.txt)\n  * [ucspi-unix](http://untroubled.org/ucspi-unix/)\n  * [ucspi-tcp](http://cr.yp.to/ucspi-tcp.html)\n  * http server [fnord](http://www.fefe.de/fnord/)\n  * [SOCKS Protocol Version 5](http://tools.ietf.org/html/rfc1928)\n  * [RFC: Username/Password Authentication for SOCKS V5](https://tools.ietf.org/html/rfc1929)\n  * [LibreSSL](http://www.libressl.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyounix%2Fucspi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyounix%2Fucspi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyounix%2Fucspi/lists"}