Web proxies¶
It is possible to hide all interactions with Steam servers (including all session requests) behind a web proxy.
HTTPS proxies
Aiohttp has no support for HTTPS proxies at the current moment.
You can read more here
First and last steps¶
To get SteamClient to connect, log in, and make requests to Steam through a web proxy,
you can pass web proxy url as string when creating an instance:
Session and proxy¶
Bind your session to a proxy
session and proxy arguments are mutually exclusive. If you want to pass a session created by yourself,
you are responsible for binding session to proxy
If you want to use web proxy for client and pass own session,
you need to make requests of aiohttp.ClientSession go through it by yourself.
In utils module there is a function for http\s type of proxy: patch_session_with_http_proxy
from aiohttp import ClientSession
from aiosteampy import SteamClient
from aiosteampy.utils import patch_session_with_http_proxy
patched_session = patch_session_with_http_proxy(
ClientSession(raise_for_status=True),
"http://my-proxy.com",
)
client = SteamClient(..., session=patched_session)
For socks type of web proxy read next
Authorization¶
To pass username, password of the web proxy use url string with next format:
schema://user:password@host:port
For example:
from aiosteampy import SteamClient
proxy_url_with_auth = "http://username:password@my-proxy.com"
# or
proxy_url_with_auth = "http://username:password@127.0.0.1:1080"
client = SteamClient(..., proxy=proxy_url_with_auth)
SOCKS¶
Extra dependency
To use socks type of the proxies project needs
aiohttp-socks package.
Aiosteampy does all the necessary work behind the curtain, all you need to do is install aiosteampy[socks] dependency
target.
Then pass web proxy url:
from aiosteampy import SteamClient
client = SteamClient(..., proxy="socks5://username:password@127.0.0.1:1080")
Supported socks types
All supported proxy types you can find in aiohttp-socks repository page
Own session¶
In such case aiosteampy can do nothing behind the curtain ๐
Use aiohttp_socks.ProxyConnector as connector: