socksio
Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5.
Decision gist · record as of 2026-08-14
Yes, if you need SOCKS proxy protocol support and want to control your own I/O or integrate with a specific I/O framework. The library is stable, permissively licensed, has no dependencies, and is actively maintained. Install with caution if you need SOCKS5 GSS-API or UDP support, which are not yet implemented.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- You must provide your own I/O mechanism (socket, asyncio, etc.) and a running SOCKS proxy server to connect to.
- Low install friction with no runtime dependencies.
- The package is actively maintained with recent commits and a stable status declaration, though the latest release is from 2020.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive) means you can use this freely in commercial and open-source projects with minimal restrictions.
last release 2020-04-17 (2310 days) · last repo commit 2026-08-10 · 56 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 29,395,198 downloads/mo, #816 on PyPI
Alternatives
Verify before relying
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)
data = conn.data_to_send()
sock.sendall(data)- Whether SOCKS5 GSS-API authentication is needed for your use case (documented as not yet implemented).
- Whether SOCKS5 UDP associate requests are required (documented as not yet implemented).
What it is and what it does
Socksio is a protocol-only library that implements the SOCKS4, SOCKS4A, and SOCKS5 specifications without handling network I/O directly. It parses incoming proxy responses and generates outgoing protocol messages in the correct binary format, leaving all socket operations to your own code. This design—similar to h11 or h2—lets you use it with any I/O library: the standard socket module, asyncio, Twisted, or anything else.
You create a connection object for your chosen SOCKS version, build request objects with addresses and commands, ask the connection to generate bytes to send, and feed received bytes back to the connection to parse replies. The library handles all protocol state and message formatting, so you focus on I/O and error handling rather than SOCKS frame construction.
Use it for
- Route HTTP or other traffic through a SOCKS proxy in a custom application without a full proxy client library.
- Integrate SOCKS proxy support into an async framework by combining socksio with asyncio or Trio.
- Test proxy protocol handling by using socksio to generate and parse SOCKS messages in unit tests.
- Build a proxy client that needs to support multiple SOCKS versions (4, 4A, 5) with a single library.
- Implement SOCKS protocol support in a network tool or library that already has its own I/O layer.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need SOCKS proxy protocol support and want to control your own I/O or integrate with a specific I/O framework.
The library is stable, permissively licensed, has no dependencies, and is actively maintained. Install with caution if you need SOCKS5 GSS-API or UDP support, which are not yet implemented.
Install
socksio on PyPI
Before you install
Low install friction with no runtime dependencies. The package is actively maintained with recent commits and a stable status declaration, though the latest release is from 2020.
You must provide your own I/O mechanism (socket, asyncio, etc.) and a running SOCKS proxy server to connect to.
License in practice
MIT license (permissive) means you can use this freely in commercial and open-source projects with minimal restrictions.
Quickstart
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)
data = conn.data_to_send()
sock.sendall(data)
Verify before relying
- Whether SOCKS5 GSS-API authentication is needed for your use case (documented as not yet implemented).
- Whether SOCKS5 UDP associate requests are required (documented as not yet implemented).
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 2,310 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 29,395,198 / month, #816 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | 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 |
Evidence: socksio-1.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “socks proxy client library”
- socksioSocksio is a sans-I/O SOCKS protocol implementation that handles the…
- PySocksPySocks provides a SOCKS and HTTP proxy client that acts as a drop-in…
- httpx-socksAdds SOCKS4(a), SOCKS5(h), and HTTP CONNECT proxy support to httpx…
Give your agent the search over MCP, or paste the wish link into any chat.
More Proxy Servers packages
Reads MaxMind DB files to look up geolocation and other data indexed by IP address, with both pure Python and optional C extension implementations.
Queries MaxMind's GeoIP web services and databases to look up geographic and network information for IP addresses, returning country, city, subdivision, postal, and location data.
Install it if you need to look up IP geolocation data; it is the standard choice for this task.
Represents and manipulates IPv4, IPv6, MAC addresses and related network objects; supports CIDR notation, subnetting, set operations, IANA lookups, and DNS reverse generation.
mitmproxy is an interactive, SSL/TLS-capable intercepting proxy that captures and inspects HTTP/1, HTTP/2, and WebSocket traffic with console, command-line, or web-based interfaces.
Install it if you need interactive traffic inspection, debugging, or testing capabilities.
pyngrok wraps the ngrok reverse-proxy binary and exposes it through a Python API, allowing you to programmatically open secure tunnels from public URLs to localhost.
A lightweight, pluggable HTTP proxy server framework that handles forward proxying, reverse proxying, and TLS interception with support for custom plugins and asyncio-based concurrency.
See also python-socks · PySocks · asysocks · httpx-socks · aiohttp_socks · pproxy · gidgethub · h11 · websockets-proxy · httpcore2