Metadata-Version: 2.1
Name: socks-uds
Version: 1.1
Summary: Socks over Unix Domain Socket
Home-page: https://gitlab.com/balki/socks_uds
Author: balki
Author-email: socks_uds@balki.me
License: MPL
Keywords: socks,tor
Platform: any
Classifier: Framework :: AsyncIO
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: Proxy Servers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown

# Socks over Unix Domain Socket

    opener = socks.build_opener(socks_path="/var/lib/tor-shared/public.socket")
    with opener.open("https://www.google.com/") as fp:
        assert fp.code == 200
        assert fp.read(20) == b"<!doctype html><html"

## Features
* Allows applications to connect to internet with just unix domain socket
* Works with containers and systemd private network
* Supports both sync and async usage
* urllib compatible build_opener
* Optional httpcore transport for use with libraries like httpx

This is not a feature complete socks proxy. Only client mode is supported. It is designed for use with tor's unix socks socket

* No support for socks bind
* No support for udp
* Only NoAuth and UserPass auth supported
* Only supports socks5h protocol. Connects to the socks proxy as domain name. However ip string can be passed for domain name with tor

## Usage

Please check socks_test.py and Makefile


