⚡ Fast • 🪶 Lightweight • 0️⃣ Dependency • 🔌 Pluggable • 😈 TLS interception • 🔒 DNS-over-HTTPS • 🔥 Poor Man's VPN • ⏪ Reverse & ⏩ Forward • 👮🏿 "Proxy Server" framework • 🌐 "Web Server" framework • ➵ ➶ ➷ ➠ "PubSub" framework • 👷 "Work" acceptor & executor framework
BSD-3-CLAUSE License
Bot releases are visible (Hide)
Published by github-actions[bot] 6 months ago
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc5...v2.4.4rc4
codecov
from dependency files by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1328
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc4...v2.4.4rc5
Published by github-actions[bot] over 1 year ago
--openssl
flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1257
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc3...v2.4.4rc4
Published by github-actions[bot] about 2 years ago
--cache-by-content-type
flag usage by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1251
before_routing
for Reverse Proxy plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1252
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc2...v2.4.4rc3
Published by github-actions[bot] about 2 years ago
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc1...v2.4.4rc2
Published by github-actions[bot] over 2 years ago
timeout=1
when joining acceptors by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1196
!=7.0.0,!=7.0.1,!=7.0.2
which leads to 0.0 as wheel version by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1209
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.3...v2.4.4rc1
Published by github-actions[bot] over 2 years ago
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.2...v2.4.3
Published by github-actions[bot] over 2 years ago
myst_parser
config by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1128
whitelist
logic by @LetMeR00t in https://github.com/abhinavsingh/proxy.py/pull/1127
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.1...v2.4.2
Published by github-actions[bot] over 2 years ago
myst-parser
to avoid CI break by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1104
wemake-python-styleguide
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1107
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.0...v2.4.1
Published by github-actions[bot] over 2 years ago
typing_extensions
runtime dependency version by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/641
master
to develop
in setup.py
" by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/650
codespell
by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/656
add-trailing-comma
pre-commit fixer by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/661
tox
by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/662
pre-commit.ci
by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/666
tests/
by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/677
DeprecationWarning
in pytest
config by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/683
Proxy.initialize
as FlagParser.initialize
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/696
--unix-socket-path
flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/697
lib-dep
makefile target by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/701
--enable-dashboard
flags by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/707
AcceptorPool
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/708
EventManager
is also a context manager by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/709
--threadless
default for Python 3.8+
on mac
and linux
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/710
OP_NO_TLSv1_1
by default for upstream connection negotiations by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/712
--num-acceptors
flag + Allow work_klass
via Proxy
context manager kwargs by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/714
Listener
, Web server close on header, use Pipe
instead of Manager
in eventing core by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/720
--plugins
flag to be used multiple times by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/725
--proxy-pool
flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/727
access_log
format override by web plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/733
--auth-plugin
flag to override default basic auth plugin by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/734
--enable-proxy-protocol
: HAProxy Protocol v1 by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/735
release-testpypi
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/741
develop
by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/743
setuptools-scm
compatible by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/737
version_tuple
from SCM by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/736
127.0.0.1
as target address and a random port by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/756
ProxyPy.png
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/759
TcpUpstreamConnectionHandler
class by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/760
.vscode
settings by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/761
DEFAULT_SELECTOR_SELECT_TIMEOUT
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/762
get_events
, handle_event
, handle_readables
, handle_writables
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/769
sdist
package by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/779
dependabot.yml
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/783
recv
errors as warnings and not exceptions by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/787
386
, amd64
, arm/v6
, arm/v7
, arm64/v8
, ppc64le
, s390x
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/797
KeyboardInterrupt
in threadless by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/821
proxy.py
, tornado
, aiohttp
, flask
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/827
benchmark
results to README.md
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/828
HTTP/1.1
too by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/834
task.result
can throw by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/837
--enable-*
flags before loading plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/860
--local-executor
flag by default for Docker container by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/880
args.threadless = is_threadless
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/881
conn_close
kwarg to packet builder utilities by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/898
HttpProtocolException
instead of ValueError
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/899
HttpProtocolException
raised by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/900
ProgramNamePlugin
plugin by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/904
--hostname
and --local-executor
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/905
Work
can also be TcpServerConnection
, not just TcpClientConnection
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/906
--local-executor
flag semantics by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/907
SIGINT
, SIGHUP
, SIGTERM
, SIGQUIT
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/908
HttpWebServerPacFilePlugin
broken routes logic by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/915
UpstreamConnectionPool
lifecycle within Threadless
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/917
UpstreamConnectionPool
lifecycle within Threadless
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/921
HttpProtocolHandler
delegates to the core plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/925
menubar
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/930
128 KB
as default value for DEFAULT_BUFFER_SIZE
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/926
DescriptorsHandlerMixin
and Descriptors
, SelectableEvents
types by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/938
--port-file
flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/942
UpstreamConnectionPool
to web & proxy plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/946
isort
everything except lib (for now) by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/952
WebSocketTransportBasePlugin
connected and disconnected callbacks by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/956
utf-8
decoding errors for event emitter by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/961
utf-8
decode error during logging by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/966
TlsInterception
capability, driven by plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/965
OSError
on shutdown & TimeoutError
on recv by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/974
Work
module by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/977
v2.4.x
vs v2.3.1
differences by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/979
--ca-cert-dir
flag for parallel TLS interception tests by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/984
# pragma: no cover
for unnecessary pieces of the code by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/987
sleep_loop
for documentation and demo by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/991
HttpClientConnection
preparation by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/995
--local-executor
logic for windows by @sowmya-jaxl in https://github.com/abhinavsingh/proxy.py/pull/1008
--threaded
mode integration tests works locally but fails on GHA by @sowmya-jaxl in https://github.com/abhinavsingh/proxy.py/pull/1009
DEFAULT_ALLOWED_URL_SCHEMES
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1002
--threadless
from TestCase
by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1025
SIGINFO
. Try kill -s INFO <pid>
. by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1024
proxy.py
for standalone projects by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1029
Tls
module within core by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1030
Acceptor
can now accept work from multiple descriptors by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1036
ca_file
flag when wrapping upstream by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1046
kwargs
independent work_klass
creation and work core by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1051
v2.4.0rc8
cleanups by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1053
selector.close
on shutdown by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1055
jupyter
notebook based tutorial by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1059
--max-sendbuf-size
flag to speed up large file upload/download by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1060
min_compression_length
consistency by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1061
okResponse()
without content hangs the connection by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1062
tobytes
for zero-copies by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1066
--cache-by-content-type
flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1070
no_wait
when publishing to queues by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1076
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.3.1...v2.4.0
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago