Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
310 commits
Select commit Hold shift + click to select a range
687ab4b
Tests for async hook support
nneonneo Feb 2, 2022
ee4999e
Rename new async helper functions.
nneonneo Feb 2, 2022
e186ccb
fix test.helper_tools.dumperview script.
nneonneo Feb 3, 2022
caf4930
Use async for tctx.cycle/tctx.invoke.
nneonneo Feb 3, 2022
4448550
Rewrite @concurrent to use async instead of the reply mechanism.
nneonneo Feb 3, 2022
fd43ca1
Flow.kill: don't depend on reply status.
nneonneo Feb 3, 2022
ede269f
Flow.intercept: use an Event instead of the reply system
nneonneo Feb 3, 2022
794c18b
Entirely remove the reply system.
nneonneo Feb 3, 2022
6dc6269
Remove no-longer-used tctx.invoke function
nneonneo Feb 3, 2022
068204f
perf: fast path for sync hooks
mhils Feb 4, 2022
4f5930e
simplify concurrency tests
mhils Feb 4, 2022
372a632
reintroduce `Flow.live`
mhils Feb 4, 2022
4468046
Merge pull request #5106 from nneonneo/async_addons
mhils Feb 4, 2022
2480eae
Revert "Fix websocket view jumps to top bug (#4845)"
mhils Feb 5, 2022
41979a1
update hugo
mhils Feb 9, 2022
4d1d54d
fix hugo version
mhils Feb 9, 2022
ffe58ae
fix map local examples
mhils Feb 9, 2022
f85c644
Update dead link (#5128)
SuperSandro2000 Feb 11, 2022
2d2a9f3
adjust to template changes in pdoc 10 (#5132)
mhils Feb 14, 2022
5cdd2bc
docs: `TCPFlow.messages`
mhils Feb 27, 2022
65773cc
speculative fix for #5158
mhils Feb 27, 2022
b491528
exclude time-sensitive test from CI
mhils Mar 4, 2022
e077e60
tls: gracefully catch connection errors
mhils Mar 7, 2022
3387dac
remove leftover import
mhils Mar 8, 2022
6c4b395
urwid windows: use utf8
mhils Mar 13, 2022
2387719
urwid: support sgr mouse reporting
mhils Mar 13, 2022
8bb7ad4
remove workaround for a Python <=3.7 bug
mhils Mar 13, 2022
3374212
set an exception handler for asyncio, fix #5159, refs #5016
mhils Mar 14, 2022
c3dade0
inline `_change_reverse_host` to make sure it is not used elsewhere
mhils Mar 14, 2022
46ccf60
add `asyncio_utils.run()`
mhils Mar 15, 2022
bbc65e5
clean up initialization mess
mhils Mar 15, 2022
5fc20e3
tests++
mhils Mar 15, 2022
1af095b
docs: fix options generation, add anchors
mhils Mar 15, 2022
a7d473c
fix compatibility with Python <3.10
mhils Mar 15, 2022
290ec68
remove `pytest.mark.asyncio`
mhils Mar 15, 2022
5a4dbff
update dependencies
mhils Mar 15, 2022
e22f8db
add asyncio exception handler test
mhils Mar 15, 2022
6ec97d0
fix compatibility with Python 3.8
mhils Mar 15, 2022
a0cf273
Merge pull request #5099 from EndUser509/save_streamed_data2
EndUser509 Mar 15, 2022
3d5f6da
ISSUE_5068 (#5161)
vinayakcyber Mar 15, 2022
cba67aa
an ntlm upstream addon for http \ https (#5100)
mrsiano Mar 15, 2022
8e1adbc
Add WebSocketMessage.injected flag (#5105)
Prinzhorn Mar 16, 2022
6f05877
Refactor how we process `--set` options (#5067)
mhils Mar 16, 2022
148429c
lowercase user-added HTTP/2 headers, fix #4746 (#5186)
mhils Mar 16, 2022
e2f42dd
exit for all tools on startup error, fix #4544 (#5187)
mhils Mar 16, 2022
b5abbc9
[requires.io] dependency update on main branch (#5189)
cortesi Mar 16, 2022
ecd4790
vendor `click.style` instead of depending on click (#5188)
mhils Mar 16, 2022
3a5550a
Rotate stream files (#5097)
EndUser509 Mar 17, 2022
a9283be
improve self-connect error message (#5192)
mhils Mar 17, 2022
e8ae38c
Fixed encoding guessing: only search for meta tags in HTML bodies (#4…
Prinzhorn Mar 17, 2022
628d620
web: fix `~websocket` filter
mhils Mar 19, 2022
a0e04a7
web: display WS/WSS as method
mhils Mar 19, 2022
a95aed4
CI: use python 3.10 (#5195)
mhils Mar 19, 2022
218c942
docker: use Python 3.10
mhils Mar 19, 2022
8c700ec
[dns] first commit
meitinger Mar 19, 2022
0c12db9
Merge branch 'mitmproxy:main' into protocol-agnostic
meitinger Mar 19, 2022
9243ba4
fix vt code detection on Windows
mhils Mar 19, 2022
b06fb6d
security: reject whitespace in HTTP/1 header names
mhils Mar 16, 2022
41ebb24
update mitmweb assets
mhils Mar 19, 2022
7352811
bump to 8.0.0
mhils Mar 19, 2022
426cea5
reopen main for development
mhils Mar 19, 2022
01d6795
[requires.io] dependency update on main branch (#5196)
cortesi Mar 19, 2022
5d79837
[dns] pack and unpack messages, work on layer
meitinger Mar 19, 2022
53d3e4f
[dns] more work on layer
meitinger Mar 20, 2022
d62cfc7
Merge branch 'mitmproxy:main' into dns
meitinger Mar 20, 2022
ef3270d
[dns] bugfixes and tests
meitinger Mar 20, 2022
e534086
Add flatpak support to the browser addon (#5200)
pauloromeira Mar 23, 2022
af207ca
update changelog
mhils Mar 23, 2022
33bba38
Add httpdump.py example (#5190)
redraw Mar 23, 2022
7e301e5
[dns] work on IO
meitinger Mar 24, 2022
052ea82
[dns] bugfix forward parsing
meitinger Mar 24, 2022
8b118f8
Merge branch 'mitmproxy:main' into dns
meitinger Mar 24, 2022
e1d8b0a
[dns] minor fixes
meitinger Mar 24, 2022
9981ff0
[dns] more places to add hook handlers
meitinger Mar 24, 2022
4d7eb98
[dns] codestyle improvements
meitinger Mar 24, 2022
0f346fa
[requires.io] dependency update on main branch (#5207)
cortesi Mar 24, 2022
9ea5801
[dns] working flow view
meitinger Mar 24, 2022
4012a0d
[dns] fix detail view
meitinger Mar 24, 2022
580d266
[dns] drop AA field
meitinger Mar 24, 2022
9142b30
Merge branch 'mitmproxy:main' into dns
meitinger Mar 25, 2022
2af09ca
[dns] fix uncompress issue
meitinger Mar 25, 2022
2d41b8e
Merge branch 'dns' of https://github.com/Meitinger/mitmproxy into dns
meitinger Mar 25, 2022
8443fef
[dns] fix console display issue
meitinger Mar 26, 2022
2445360
[dns] cosmetic changes
meitinger Mar 26, 2022
4c2365e
[dns] first tests
meitinger Mar 26, 2022
af2251c
[dns] minor fixes
meitinger Mar 27, 2022
417b4c8
[dns] make mypy happy
meitinger Mar 27, 2022
49a91d5
[dns] fix emty domain name issue
meitinger Mar 27, 2022
08a9a1b
[dns] more tests
meitinger Mar 28, 2022
533dfcd
[requires.io] dependency update on main branch (#5215)
cortesi Mar 28, 2022
74603dd
[dns] refactor blocking code out of DNSLayer
meitinger Mar 28, 2022
a63c96c
[requires.io] dependency update on main branch (#5223)
cortesi Mar 29, 2022
f0da667
tlsconfig: make sure to use the correct connection, fix #5109 (#5224)
mhils Mar 29, 2022
beb49ab
don't use #noqa for imports
mhils Mar 29, 2022
3f328e2
[dns] finish refactoring blocking code
meitinger Mar 29, 2022
b8bed1d
errorcheck: print message to stderr for console UI (#5225)
mhils Mar 29, 2022
1ad2647
Merge branch 'mitmproxy:main' into dns
meitinger Mar 29, 2022
9d1e310
`pyupgrade --keep-runtime-typing --py38-plus`
mhils Mar 29, 2022
1bc265a
Merge pull request #5226 from mhils/cleanup
mhils Mar 29, 2022
525ac67
[dns] save test
meitinger Mar 29, 2022
fc0bdc1
[dns] view test
meitinger Mar 29, 2022
c504bc6
[dns] eventsequence test
meitinger Mar 29, 2022
86adb1a
[dns] temporarily exclude dns.py and more tests
meitinger Mar 29, 2022
66dd158
Add domain fronting example (#5217)
randomstuff Mar 29, 2022
31add1a
console: improve flowlist performance (#5228)
mhils Mar 29, 2022
f2f918a
[dns] build and improve web UI
meitinger Mar 29, 2022
f1d937b
Merge branch 'main' of https://github.com/mitmproxy/mitmproxy into dns
meitinger Mar 29, 2022
d713a01
[dns] changelog
meitinger Mar 29, 2022
917d572
[dns] fix missing import
meitinger Mar 29, 2022
0fa7c46
fix cut addon to work with binary content, fix #3965 (#5230)
mhils Mar 30, 2022
648d3bc
add `wsreplay.py`, close #5012
mhils Mar 30, 2022
4fff28e
Merge branch 'mitmproxy:main' into dns
meitinger Mar 30, 2022
993c3e4
[dns] layer test
meitinger Mar 30, 2022
2612053
[dns] layer test full coverage
meitinger Mar 30, 2022
9adf715
[dns] server config test
meitinger Mar 30, 2022
30cd490
[dns] udp reader tests
meitinger Mar 30, 2022
ff22e54
[dns] allow arbitrary class and type values
meitinger Mar 31, 2022
0a68ff7
[dns] flowfilter tests
meitinger Mar 31, 2022
85e57a9
[requires.io] dependency update on main branch (#5236)
cortesi Apr 2, 2022
3d1e525
[dns] better no-export check
meitinger Apr 2, 2022
86ddac3
[dns] require running event loop
meitinger Apr 3, 2022
f535045
[dns] make resolve async, move packing to net
meitinger Apr 3, 2022
16e7662
[dns] domain_names tests
meitinger Apr 4, 2022
b5c115c
[dns] fix simple mode and add tests
meitinger Apr 4, 2022
1a4f5f6
[dns] use EAI_NONAME instead of EAI_NODATA
meitinger Apr 4, 2022
ea6f972
[dns] use snake_case in web flows
meitinger Apr 4, 2022
6d67a40
add `Flow.timestamp_created`, which retains list order on replay (#5227)
mhils Apr 6, 2022
0454f63
Fix text truncation for full-width characters (#4278)
kjy00302 Apr 6, 2022
02d2b6d
warn users if sse flows are received without streaming, refs #4469 (#…
mhils Apr 6, 2022
0b4cbfa
console: be more tolerant on UTF8 checks, but enforce encoding (#5250)
mhils Apr 6, 2022
ef3f9e4
[dns] rewrite of udp, merge dnsserver>proxyserver
meitinger Apr 9, 2022
7acc1b2
Merge branch 'main' of https://github.com/mitmproxy/mitmproxy into dns
meitinger Apr 9, 2022
c43dbdc
[dns] minor fixes
meitinger Apr 9, 2022
93d495f
[dns] fix forward mode
meitinger Apr 9, 2022
563f041
[dns] generalize self-connect test
meitinger Apr 10, 2022
079a590
[dns] fix mypy issues
meitinger Apr 10, 2022
ec1f736
[dns] proxyserver tests
meitinger Apr 10, 2022
383dd67
[dns] set DNS test port > 1024
meitinger Apr 10, 2022
f2c17a7
[dns] alternate DNS test port
meitinger Apr 10, 2022
16e04d1
[dns] use random test ports
meitinger Apr 10, 2022
e5139c5
[dns] fix selector_events issue
meitinger Apr 10, 2022
9a55989
[dns] refactored enums
meitinger Apr 10, 2022
5b69087
[dns] coverage response codes
meitinger Apr 10, 2022
bc671de
[dns] allow all possible op and response codes
meitinger Apr 11, 2022
98e1143
[dns] corrected spelling of error message
meitinger Apr 11, 2022
a8b6f48
[requires.io] dependency update on main branch (#5244)
cortesi Apr 17, 2022
d1d854f
Fix mitmweb export copy failed in non-secure domain (#5265)
Pactortester Apr 20, 2022
a863f52
Example: manipulate http cookies (#5278)
Apr 22, 2022
6692bae
Merge branch 'mitmproxy:main' into dns
meitinger Apr 22, 2022
35703b0
HTTP/2 keepalive (#5144)
EndUser509 Apr 22, 2022
976b1a5
Merge branch 'mitmproxy:main' into dns
meitinger Apr 22, 2022
7b84848
fix save addon memory leak
mhils Apr 23, 2022
d9338f8
exterminate BypassInitStateObject
mhils Apr 23, 2022
8d6a279
add very basic DNS API docs
mhils Apr 23, 2022
5c9ab2e
`str` -> `to_str`
mhils Apr 23, 2022
c17e3a1
dumper: improve dns query display
mhils Apr 23, 2022
74f0965
`Connection.protocol` -> `Connection.transport_protocol`
mhils Apr 23, 2022
2bc43fc
self-connect: don't resolve
mhils Apr 23, 2022
0407d96
proxy modes: use mitmproxy terminology
mhils Apr 23, 2022
b42b3ce
CI: make sure that tests run without internet connection (#5284)
mhils Apr 23, 2022
9c33870
move DNS resolution into own addon, `simple` -> `regular`
mhils Apr 23, 2022
8b731ed
temporary stopgap for `timestamp_tcp_setup`
mhils Apr 23, 2022
af1974b
`-> Coroutine` -> `async def`
mhils Apr 23, 2022
51b640b
skip internet tests, fix nits
mhils Apr 23, 2022
196c881
flowfilter: match `~u` on DNS name
mhils Apr 23, 2022
fab7016
beautify flowtable dns entries
mhils Apr 23, 2022
f9b5538
[dns] fix issue with rr records containing compressed names
meitinger Apr 23, 2022
08df896
Merge branch 'dns' of https://github.com/Meitinger/mitmproxy into dns
meitinger Apr 23, 2022
c176103
[dns] put DNS id into connection id
meitinger Apr 23, 2022
c821d02
[dns] update layer tests and bugfix
meitinger Apr 23, 2022
99bcfb7
[dns] move resolve code into addon
meitinger Apr 23, 2022
0553b73
[dns] 100% coverage
meitinger Apr 23, 2022
2b26824
fix #5285
mhils Apr 23, 2022
dd61b21
[dns] offline dns_resolve tests at 100% coverage
meitinger Apr 24, 2022
4229c7c
[dns] offline tests for proxyserver
meitinger Apr 24, 2022
bda488d
[dns] flowfilter url test
meitinger Apr 24, 2022
ebaacfd
[dns] additional intercept test
meitinger Apr 24, 2022
ffca36c
[dns] set timeout to 20 seconds
meitinger Apr 24, 2022
afdd3db
[dns] extend filt.peg
meitinger Apr 24, 2022
886a752
dns: mark classvars as such
mhils Apr 24, 2022
16cb605
flowfilter: fix asset inconsistency
mhils Apr 24, 2022
f253a65
console: test that flow detail views don't crash
mhils Apr 24, 2022
4f6da51
make sure that dns flows are not live by default
mhils Apr 24, 2022
6881332
`Flow.live`: fix default value for subclasses
mhils Apr 24, 2022
166f20d
Extend Android onboarding documentation (#5289)
Apr 24, 2022
f655492
fix nits
mhils Apr 24, 2022
330243f
dns: improve web display, coverage++
mhils Apr 24, 2022
b027d1e
Merge pull request #5232 from Meitinger/dns
mhils Apr 24, 2022
0600e8b
debug signals: stay alive by default
mhils Apr 25, 2022
56eea20
tutils: add BytesMatching placeholder
mhils Apr 25, 2022
035b3bf
drop HTTP streams that are completed, fix #4456
mhils Apr 25, 2022
527cb10
fix somewhat embarassing memory leak
mhils Apr 25, 2022
c6276a0
debug: improve memory output
mhils Apr 25, 2022
c8d8e30
lint
mhils Apr 25, 2022
39e866f
fix asyncio exception handler
mhils Apr 25, 2022
e88d576
make `asyncio_utils.create_task` infallible
mhils Apr 25, 2022
2959750
Merge pull request #5292 from mitmproxy/memoryleak
mhils Apr 25, 2022
4f7f64c
[requires.io] dependency update on main branch (#5276)
cortesi Apr 25, 2022
e83ec83
`pyupgrade --py39-plus **/*.py`
mhils Apr 26, 2022
b31ad66
`autoflake --in-place **/*.py`
mhils Apr 26, 2022
08b8310
drop support for Python 3.8
mhils Apr 26, 2022
fdde9ba
use Python 3.9+ typing
mhils Apr 26, 2022
b3587b5
make it black!
mhils Apr 26, 2022
1db2a68
Merge pull request #5296 from mhils/py39-now
mhils Apr 28, 2022
776fd63
simplify `Flow.type`
mhils Apr 28, 2022
1ef2a35
formally deprecate `HTTPFlow.mode`
mhils Apr 28, 2022
8f23a26
Merge pull request #5304 from mhils/type
mhils Apr 28, 2022
9d1821e
ci: improve job docs
mhils Apr 28, 2022
46f01ad
fix compatibility with OpenSSL 3 (#5311)
mhils May 1, 2022
7ff5aa8
[requires.io] dependency update (#5315)
cortesi May 3, 2022
5e7f3c8
Fix terminal breakage if an error occurs at startup.
nneonneo May 4, 2022
58c13ef
Print out multiple errors from errorcheck
nneonneo May 4, 2022
c91685e
Merge pull request #5318 from nneonneo/fix-exit-shutdown
mhils May 5, 2022
a201ade
Merge pull request #5322 from KORraNpl/remove-mailcap-usage
KORraNpl May 5, 2022
0a1e1c7
Update asyncio_utils.py (#5323)
nneonneo May 6, 2022
c562865
Fix CommandError when loading a new contentview (#5324)
nneonneo May 6, 2022
c296132
Properly encode hostname for upstream requests. (#5325)
nneonneo May 6, 2022
b3abf5d
don't crash for HTTP/2 informational responses (#5332)
mhils May 8, 2022
7afabfe
share `SSL.Context` for all server connections
mhils May 11, 2022
e9176de
tlsconfig: add IP address verification test
mhils May 11, 2022
01a772e
Share `SSL.Context` for all server connections (#5339)
mhils May 11, 2022
362c190
Merge pull request #5341 from mhils/nits
mhils May 12, 2022
400eb3a
Fix handling of multiple Cookie headers when proxying HTTP/2 to HTTP/…
rinsuki May 12, 2022
c95236e
add CI for Python 3.11 (#5348)
mhils May 13, 2022
cf655a6
Revert "add CI for Python 3.11 (#5348)"
mhils May 13, 2022
8711351
bump to 8.1.0
mhils May 15, 2022
af8e5bb
reopen main for development
mhils May 15, 2022
f07a458
Update CHANGELOG.md
mhils May 15, 2022
49c7f09
adjust to changes in pdoc 12
mhils May 15, 2022
4069830
add hugo build lock file to `.gitignore`
mhils May 15, 2022
4a2ca75
remove overambitious assertion found with fuzzing, fix #5343 (#5352)
mhils May 15, 2022
d576779
Fix PR link for DNS Support in Release History (#5368)
daMatz May 23, 2022
8fce7c7
Support specifying the local address for outgoing connections. (#5366)
meitinger May 23, 2022
f02d28e
Fix a bug where an excess empty chunk has been sent for chunked HEAD …
jixunmoe May 26, 2022
02b982f
windows install: document that installer is faster
mhils May 26, 2022
4771e42
Fix typo in http-trailers.py (#5384)
papb May 30, 2022
6110a2a
Fix wsgi HTTPS example (#5385)
JannisBush May 30, 2022
8c151c6
add `asyncio_utils.set_current_task_debug_info` (#5392)
mhils Jun 3, 2022
3eab9f0
Drop pkg_resources dependency used by kaitaistruct version checking (…
PavelICS Jun 6, 2022
0737c68
accept newer protobuf versions (#5429)
ngg Jun 27, 2022
82f18f6
fix huge (>65kb) http2 responses corrupted (#5430)
dhabensky Jun 28, 2022
661b756
don't display an error if urwid cannot determine the encoding, fix #5413
mhils Jun 28, 2022
87d3d1c
pyinstaller: move hooks into package
mhils Jun 28, 2022
6704407
bump dependencies
mhils Jun 28, 2022
8ffd2dc
windows installer: use 64bit builds
mhils Jun 28, 2022
3a2b02b
don't error on connection errors when streaming, fix #5383
mhils Jun 28, 2022
d003038
fix nits
mhils Jun 28, 2022
c779230
Merge pull request #5438 from mitmproxy/pyinstaller
mhils Jun 28, 2022
564d439
bump to 8.1.1
mhils Jun 28, 2022
92294b0
Merge tag 'v8.1.1' into flared
leameow Apr 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Support
url: https://stackoverflow.com/questions/tagged/mitmproxy
about: Please do not use GitHub for support requests.
If you have questions on how to use mitmproxy, please ask them on StackOverflow!
url: https://github.com/mitmproxy/mitmproxy/discussions
about: If you have questions on how to use mitmproxy, ask them on the discussions page!
36 changes: 21 additions & 15 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.10'
- run: pip install tox
- run: tox -e flake8
filename-matching:
Expand All @@ -35,7 +35,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.10'
- run: pip install tox
- run: tox -e filename_matching
mypy:
Expand All @@ -46,7 +46,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.10'
- run: pip install tox
- run: tox -e mypy
individual-coverage:
Expand All @@ -58,7 +58,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.9' # there's a weird bug on 3.10 where some lines are not counted as covered.
- run: pip install tox
- run: tox -e individual_coverage
test:
Expand All @@ -67,15 +67,13 @@ jobs:
matrix:
include:
- os: ubuntu-latest
py: '3.10.0-rc - 3.10'
py: "3.10"
- os: windows-latest
py: 3.9
py: "3.10"
- os: macos-latest
py: 3.9
py: "3.10"
- os: ubuntu-latest
py: 3.9
- os: ubuntu-latest
py: 3.8
runs-on: ${{ matrix.os }}
steps:
- run: printenv
Expand All @@ -88,6 +86,14 @@ jobs:
python-version: ${{ matrix.py }}
- run: pip install tox
- run: tox -e py
if: matrix.os != 'ubuntu-latest'
- name: Run tox -e py (without internet)
run: |
# install dependencies (requires internet connectivity)
tox -e py --notest
# run tests with loopback only. We need to sudo for unshare, which means we need an absolute path for tox.
sudo unshare --net -- sh -c "ip link set lo up; $(which tox) -e py"
if: matrix.os == 'ubuntu-latest'
- uses: codecov/codecov-action@a1ed4b322b4b38cb846afb5a0ebfa17086917d27
# mirrored below and at https://github.com/mitmproxy/mitmproxy/settings/actions
with:
Expand Down Expand Up @@ -118,7 +124,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.10'
- if: matrix.platform == 'windows'
uses: actions/cache@v2
with:
Expand Down Expand Up @@ -169,10 +175,10 @@ jobs:
persist-credentials: false
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.10'
- run: |
wget -q https://github.com/gohugoio/hugo/releases/download/v0.88.1/hugo_extended_0.88.1_Linux-64bit.deb
echo "865ab9a930e0a9e4957e7dbfdf91c32847324f022e33271b5661d5717600bc2b hugo_extended_0.88.1_Linux-64bit.deb" | sha256sum -c
wget -q https://github.com/gohugoio/hugo/releases/download/v0.92.1/hugo_extended_0.92.1_Linux-64bit.deb
echo "a9440adfd3ecce40089def287dee4e42ffae252ba08c77d1ac575b880a079ce6 hugo_extended_0.92.1_Linux-64bit.deb" | sha256sum -c
sudo dpkg -i hugo*.deb
- run: pip install -e .[dev]
- run: ./docs/build.py
Expand Down Expand Up @@ -205,7 +211,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.10'
- uses: actions/download-artifact@v2
with:
name: binaries.linux
Expand Down Expand Up @@ -239,7 +245,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-python@v2
with:
python-version: '3.9'
python-version: '3.10'
- run: sudo apt-get update
- run: sudo apt-get install -y twine awscli
- uses: actions/download-artifact@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ mitmproxy/contrib/kaitaistruct/*.ksy
.pytest_cache
__pycache__
.hypothesis/
.hugo_build.lock

# UI

Expand Down
103 changes: 102 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,87 @@

## Unreleased: mitmproxy next

## 28 June 2022: mitmproxy 8.1.1

* Support specifying the local address for outgoing connections
([#5364](https://github.com/mitmproxy/mitmproxy/discussions/5364), @meitinger)
* Fix a bug where an excess empty chunk has been sent for chunked HEAD request.
([#5372](https://github.com/mitmproxy/mitmproxy/discussions/5372), @jixunmoe)
* Drop pkg_resources dependency.
([#5401](https://github.com/mitmproxy/mitmproxy/issues/5401), @PavelICS)
* Fix huge (>65kb) http2 responses corrupted.
([#5428](https://github.com/mitmproxy/mitmproxy/issues/5428), @dhabensky)
* Remove overambitious assertions in the HTTP state machine,
fix some error handling.
([#5383](https://github.com/mitmproxy/mitmproxy/issues/5383), @mhils)

## 15 May 2022: mitmproxy 8.1.0

* DNS support
([#5232](https://github.com/mitmproxy/mitmproxy/pull/5232), @meitinger)
* Mitmproxy now requires Python 3.9 or above.
([#5233](https://github.com/mitmproxy/mitmproxy/issues/5233), @mhils)
* Fix a memory leak in mitmdump where flows were kept in memory.
([#4786](https://github.com/mitmproxy/mitmproxy/issues/4786), @mhils)
* Replayed flows retain their current position in the flow list.
([#5227](https://github.com/mitmproxy/mitmproxy/issues/5227), @mhils)
* Periodically send HTTP/2 ping frames to keep connections alive.
([#5046](https://github.com/mitmproxy/mitmproxy/issues/5046), @EndUser509)
* Console Performance Improvements
([#3427](https://github.com/mitmproxy/mitmproxy/issues/3427), @BkPHcgQL3V)
* Warn users if server side event responses are received without streaming.
([#4469](https://github.com/mitmproxy/mitmproxy/issues/4469), @mhils)
* Add flatpak support to the browser addon
([#5200](https://github.com/mitmproxy/mitmproxy/issues/5200), @pauloromeira)
* Add example addon to dump contents to files based on a filter expression
([#5190](https://github.com/mitmproxy/mitmproxy/issues/5190), @redraw)
* Fix a bug where the wrong SNI is sent to an upstream HTTPS proxy
([#5109](https://github.com/mitmproxy/mitmproxy/issues/5109), @mhils)
* Make sure that mitmproxy displays error messages on startup.
([#5225](https://github.com/mitmproxy/mitmproxy/issues/5225), @mhils)
* Add example addon for domain fronting.
([#5217](https://github.com/mitmproxy/mitmproxy/issues/5217), @randomstuff)
* Improve cut addon to better handle binary contents
([#3965](https://github.com/mitmproxy/mitmproxy/issues/3965), @mhils)
* Fix text truncation for full-width characters
([#4278](https://github.com/mitmproxy/mitmproxy/issues/4278), @kjy00302)
* Fix mitmweb export copy failed in non-secure domain.
([#5264](https://github.com/mitmproxy/mitmproxy/issues/5264), @Pactortester)
* Add example script for manipulating cookies.
([#5278](https://github.com/mitmproxy/mitmproxy/issues/5278), @WillahScott)
* When opening an external viewer for message contents, mailcap files are not considered anymore.
This preempts the upcoming deprecation of Python's `mailcap` module.
([#5297](https://github.com/mitmproxy/mitmproxy/issues/5297), @KORraNpl)
* Fix hostname encoding for IDNA domains in upstream mode.
([#5316](https://github.com/mitmproxy/mitmproxy/issues/5316), @nneonneo)
* Fix hot reloading of contentviews.
([#5319](https://github.com/mitmproxy/mitmproxy/issues/5319), @nneonneo)
* Ignore HTTP/2 information responses instead of raising an error.
([#5332](https://github.com/mitmproxy/mitmproxy/issues/5332), @mhils)
* Improve performance and memory usage by reusing OpenSSL contexts.
([#5339](https://github.com/mitmproxy/mitmproxy/issues/5339), @mhils)
* Fix handling of multiple Cookie headers when proxying HTTP/2 to HTTP/1
([#5337](https://github.com/mitmproxy/mitmproxy/issues/5337), @rinsuki)

## 19 March 2022: mitmproxy 8.0.0

### Major Changes

* Major improvements to the web interface (@gorogoroumaru)
* Event hooks can now be async (@nneonneo, [#5106](https://github.com/mitmproxy/mitmproxy/issues/5106))
* New [`tls_{established,failed}_{client,server}` event hooks](https://docs.mitmproxy.org/dev/api/events.html#TLSEvents)
to record negotiation success/failure (@mhils, [#4790](https://github.com/mitmproxy/mitmproxy/pull/4790))

### Security Fixes

* [CVE-2022-24766](https://github.com/mitmproxy/mitmproxy/security/advisories/GHSA-gcx2-gvj7-pxv3):
Fix request smuggling vulnerability reported by @zeyu2001 (@mhils)

### Full Changelog

* Support proxy authentication for SOCKS v5 mode (@starplanet)
* fix some responses not being decoded properly if the encoding was uppercase #4735 (@Mattwmaster58)
* Make it possible to ignore connections in the tls_clienthello event hook (@mhils)
* fix some responses not being decoded properly if the encoding was uppercase (#4735, @Mattwmaster58)
* Trigger event hooks for flows with semantically invalid requests, for example invalid content-length headers (@mhils)
* Improve error message on TLS version mismatch (@mhils)
* Windows: Switch to Python's default asyncio event loop, which increases the number of sockets
Expand All @@ -14,6 +93,28 @@
* Fix a crash caused when editing string option (#4852, @rbdixon)
* Base container image bumped to Debian 11 Bullseye (@Kriechi)
* Upstream replays don't do CONNECT on plaintext HTTP requests (#4876, @HoffmannP)
* Remove workarounds for old pyOpenSSL versions (#4831, @KarlParkinson)
* Add fonts to asset filter (~a) (#4928, @elespike)
* Fix bug that crashed when using `view.flows.resolve` (#4916, @rbdixon)
* Fix a bug where `running()` is invoked twice on startup (#3584, @mhils)
* Correct documentation example for User-Agent header modification (#4997, @jamesyale)
* Fix random connection stalls (#5040, @EndUser509)
* Add `n` new flow keybind to mitmweb (#5061, @ianklatzco)
* Fix compatibility with BoringSSL (@pmoulton)
* Added `WebSocketMessage.injected` flag (@Prinzhorn)
* Add example addon for saving streamed data to individual files (@EndUser509)
* Change connection event hooks to be blocking.
Processing will only resume once the event hook has finished. (@Prinzhorn)
* Reintroduce `Flow.live`, which signals if a flow belongs to a currently active connection. (#4207, @mhils)
* Speculative fix for some rare HTTP/2 connection stalls (#5158, @EndUser509)
* Add ability to specify custom ports with LDAP authentication (#5068, @demonoidvk)
* Add support for rotating saved streams every hour or day (@EndUser509)
* Console Improvements on Windows (@mhils)
* Fix processing of `--set` options (#5067, @marwinxxii)
* Lowercase user-added header names and emit a log message to notify the user when using HTTP/2 (#4746, @mhils)
* Exit early if there are errors on startup (#4544, @mhils)
* Fixed encoding guessing: only search for meta tags in HTML bodies (##4566, @Prinzhorn)
* Binaries are now built with Python 3.10 (@mhils)

## 28 September 2021: mitmproxy 7.0.4

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ forward, please consider contributing in the following areas:

- **Maintenance:** We are *incredibly* thankful for individuals who are stepping up and helping with maintenance. This
includes (but is not limited to) triaging issues, reviewing pull requests and picking up stale ones, helping out other
users on [StackOverflow](https://stackoverflow.com/questions/tagged/mitmproxy), creating minimal, complete and
users on [GitHub Discussions](https://github.com/mitmproxy/mitmproxy/discussions), creating minimal, complete and
verifiable examples or test cases for existing bug reports, updating documentation, or fixing minor bugs that have
recently been reported.
- **Code Contributions:** We actively mark issues that we consider are [good first contributions](
Expand All @@ -14,7 +14,7 @@ forward, please consider contributing in the following areas:

## Development Setup

To get started hacking on mitmproxy, please install a recent version of Python (we require at least Python 3.8).
To get started hacking on mitmproxy, please install a recent version of Python (we require at least Python 3.9).
Then, do the following:

##### Linux / macOS
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ The documentation for mitmproxy is available on our website:
[![mitmproxy documentation dev](https://shields.mitmproxy.org/badge/docs-dev-brightgreen.svg)](https://docs.mitmproxy.org/main/)

If you have questions on how to use mitmproxy, please
ask them on StackOverflow!
use GitHub Discussions!

[![StackOverflow: mitmproxy](https://shields.mitmproxy.org/stackexchange/stackoverflow/t/mitmproxy?color=orange&label=stackoverflow%20questions)](https://stackoverflow.com/questions/tagged/mitmproxy)
[![mitmproxy discussions](https://shields.mitmproxy.org/badge/help-github%20discussions-orange.svg)](https://github.com/mitmproxy/mitmproxy/discussions)

## Contributing

Expand Down
4 changes: 3 additions & 1 deletion docs/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
print(f"Generating output for {script.name}...")
out = subprocess.check_output(["python3", script.absolute()], cwd=here, text=True)
if out:
(here / "src" / "generated" / f"{script.stem}.html").write_text(out, encoding="utf8")
(here / "src" / "generated" / f"{script.stem}.html").write_text(
out, encoding="utf8"
)

if (here / "public").exists():
shutil.rmtree(here / "public")
Expand Down
Loading