skillfed

socksio

Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5.

socksio Permissive license Active 56 v1.0.0 released

Install

socksio on PyPI

pip

pip install socksio

uv

uv add socksio

poetry

poetry add socksio

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 2,309 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: socksio-1.0.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Internet :: Proxy Servers

About socksio

from the package's own PyPI description — quoted content, verbatim

SOCKSIO

Build Status (image) codecov (image) Supported Python Versions (image) PyPI (image)

Client-side sans-I/O SOCKS proxy implementation. Supports SOCKS4, SOCKS4A, and SOCKS5.

socksio is a sans-I/O library similar to h11 or h2, this means the library itself does not handle the actual sending of the bytes through the network, it only deals with the implementation details of the SOCKS protocols so you can use it in any I/O library you want.

Current status: stable

Features not yet implemented:

  • SOCKS5 GSS-API authentication.
  • SOCKS5 UDP associate requests.

Usage

TL;DR check the examples directory.

Being sans-I/O means that in order to test socksio you need an I/O library. And the most basic...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

A sans-I/O library implementing SOCKS4, SOCKS4A, and SOCKS5 proxy protocols, letting you build SOCKS clients with any I/O library by handling protocol details separately from network I/O.

Installs cleanly with no runtime dependencies. Actively maintained with recent commits; last release was in April 2020 but the repository remains active.

MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute socksio freely provided you include the license notice.

Usage

import socket
from socksio import socks4

sock = socket.create_connection(("localhost", 8080))
conn = socks4.SOCKS4Connection(user_id=b"socksio")
request = socks4.SOCKS4Request.from_address(socks4.SOCKS4Command.CONNECT, ("216.58.204.78", 80))
conn.send(request)
sock.sendall(conn.data_to_send())

Requires Python 3.6 or later; you must provide your own socket or I/O mechanism to send/receive the bytes that socksio generates.

Verdict: A stable, zero-dependency sans-I/O SOCKS implementation suitable for integrating proxy support into any async or sync I/O framework. MIT-licensed, actively maintained, and free of known vulnerabilities. Best for developers building proxy-aware clients who want protocol handling decoupled from network I/O.

Needs verification

  • Whether SOCKS5 GSS-API authentication or UDP associate support is planned in future releases.
  • Real-world adoption rate beyond the top-1000 PyPI tier ranking.
socks proxy client librarysocks4 socks5 implementationsans-io protocol handlerproxy connection protocolsocks authentication clientnetwork proxy abstraction

Similar packages