First tests with network extension to implement mitmproxy transparent proxy with swift on macos
- MitmproxyApple/Controller/Viewcontroller.swift: where there is button management, event triggering, and GUI logic
- MitmproxyApple/Model/Proxy.swift: data model and behavior (the actual brain)
- MitmproxyApple/View/Base.lproj/Main.storyboard: storyboard
- MitmproxyAppleExtension/AppProxyProvider.swift: The protocol of the extension and its cycle (where the packets are)
![Screenshot 2023-06-04 at 15 41 37](https://private-user-images.githubusercontent.com/100081325/243182675-d085790f-f0f5-497b-bc9e-80b22edbbb53.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5MzQyNDksIm5iZiI6MTcxODkzMzk0OSwicGF0aCI6Ii8xMDAwODEzMjUvMjQzMTgyNjc1LWQwODU3OTBmLWYwZjUtNDk3Yi1iYzllLTgwYjIyZWRiYmI1My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQwMTM5MDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hZjk5NzllMDQ0Mjk5MWQxMmM0MjIyOWUwMmEwOWQwNTM4YmFkMjRmNTY3ODc2MTdiODA0YWQ2M2JkYjY5N2YzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Yo10ZQx1sWQ6KOoo6kZbjM6pZdsW6s-7umisu8T6wcM)
![Screenshot 2023-06-04 at 15 42 36](https://private-user-images.githubusercontent.com/100081325/243182737-3a045252-a96b-4a00-820e-d64295025797.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5MzQyNDksIm5iZiI6MTcxODkzMzk0OSwicGF0aCI6Ii8xMDAwODEzMjUvMjQzMTgyNzM3LTNhMDQ1MjUyLWE5NmItNGEwMC04MjBlLWQ2NDI5NTAyNTc5Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQwMTM5MDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYjA3MjE5ZDgzMTRkM2E2MjRjZDNjN2U0YmRjMTIwYjE1ZWJiNjk1YzNiY2U1YjY3MjJlZWUxMGE4MDU0MjQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.78keGGMF7ENDTu6NIl8E7U0XMdr_Q7N5BR42YCoQHXU)
![Screenshot 2023-06-04 at 15 42 48](https://private-user-images.githubusercontent.com/100081325/243182688-68d035e5-b859-4183-9ea5-8c8dbe13a4bb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5MzQyNDksIm5iZiI6MTcxODkzMzk0OSwicGF0aCI6Ii8xMDAwODEzMjUvMjQzMTgyNjg4LTY4ZDAzNWU1LWI4NTktNDE4My05ZWE1LThjOGRiZTEzYTRiYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQwMTM5MDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YzU3YTY1ZmQ4ZDg4MDUzM2ZlNjA4MTYwZDdlYjU3YjRmOGY0ODk0NDFjZGVjMDU2ZDBlZTc1NjAyZGI2MTEyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.jp1uy9-3xtpvCVUYGFNkgBJRNcyht5nLVBTlhzr9414)
![Screenshot 2023-06-04 at 15 42 57](https://private-user-images.githubusercontent.com/100081325/243182744-66e6a830-0489-4bcb-8237-8daf859b30ba.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5MzQyNDksIm5iZiI6MTcxODkzMzk0OSwicGF0aCI6Ii8xMDAwODEzMjUvMjQzMTgyNzQ0LTY2ZTZhODMwLTA0ODktNGJjYi04MjM3LThkYWY4NTliMzBiYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQwMTM5MDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05NjAzMzRiM2M4MmEzYzM2YzNhN2I5ZmQ1MTlmZjM3ZTVkODkzODRiYjhmN2ViZWY1ZDZlNjg2ZDk2NGRjYjk1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.D7UPUHBXQp6wbV_SAx757eVxuavWyJOjSx0poOAip3g)