trio-socks provides a trio.abc.HalfCloseableStream that routes its traffic through a SOCKS proxy server
Project description
trio-socks
trio-socks provides a trio.abc.HalfCloseableStream that routes its traffic through a SOCKS proxy server
Example
import trio
from trio_socks import socks5
async def parse_public_ip(stream):
await stream.send_all('GET / HTTP/1.1\r\nHost: api.ipify.org\r\n\r\n'.encode())
text = (await stream.receive_some()).decode()
i = text.rfind('\r\n\r\n')
my_ip = text[i + 4:]
print(f'{my_ip=}')
async def print_public_ip():
async with socks5.Socks5Stream(destination=('api.ipify.org', 80), proxy=('10.179.205.114', 1664)) as stream:
await parse_public_ip(stream)
async with await trio.open_tcp_stream('api.ipify.org', 80) as stream:
await parse_public_ip(stream)
trio.run(print_public_ip)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file trio-socks-0.1.1.post5.tar.gz
.
File metadata
- Download URL: trio-socks-0.1.1.post5.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e138c65853dba1e489e0673d9eee372c2676337cb91f83b0a8bb6a6b6310bbb |
|
MD5 | 5a6f85f2a15b027f593a5354c525add2 |
|
BLAKE2b-256 | 68b3bfb1f20db26b0b8ca0fd7d995f374ba614df9e548b9d81aad7de7fc326ce |