Blazer Proxy App Written with Fyne Cross-Platform Framework in Go Land using Outline SDK capabilities
![Screenshot 2024-02-02 at 12 13 05 PM](https://private-user-images.githubusercontent.com/117060873/301961476-80d58af8-064c-4f3a-a8f5-54f0e5ccaafc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0MDg5MDAsIm5iZiI6MTcyNDQwODYwMCwicGF0aCI6Ii8xMTcwNjA4NzMvMzAxOTYxNDc2LTgwZDU4YWY4LTA2NGMtNGYzYS1hOGY1LTU0ZjBlNWNjYWFmYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyM1QxMDIzMjBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNjhhZDRmYWFhNGQ2MGUzYmNjYTIxZjIxMzlkMjlhYzAxMjk0ZjhiZjIyYmEzMzcwZTE4MWM0MDMzMGMzNjNkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ts4SVHNgA5Twz8XlVnlS10SOKPyAQluv8brOaIRBbHM)
![Screenshot 2024-02-02 at 12 13 22 PM](https://private-user-images.githubusercontent.com/117060873/301961380-483d4684-c38d-4720-9c58-c55a2f183518.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0MDg5MDAsIm5iZiI6MTcyNDQwODYwMCwicGF0aCI6Ii8xMTcwNjA4NzMvMzAxOTYxMzgwLTQ4M2Q0Njg0LWMzOGQtNDcyMC05YzU4LWM1NWEyZjE4MzUxOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyM1QxMDIzMjBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMjQzNjRmNTNlMDY4NGM1NjljMWQyMmVmOTZkZDg0MDU0ZjNiNjMyYjAyMmY3MGY3OTA0ZjNkMDdjYThjNTQ0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1BOGA1f7PfWIEXwTEUhy6tfJXWT6VqShpQ2CjUobmvI)
![Screenshot 2024-02-02 at 12 15 59 PM](https://private-user-images.githubusercontent.com/117060873/301961690-821d3ac2-2c47-4f70-ad54-a125b1b6fc17.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0MDg5MDAsIm5iZiI6MTcyNDQwODYwMCwicGF0aCI6Ii8xMTcwNjA4NzMvMzAxOTYxNjkwLTgyMWQzYWMyLTJjNDctNGY3MC1hZDU0LWExMjViMWI2ZmMxNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyM1QxMDIzMjBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yMTY2NDIwYjNjNTQ5NjYwYzQ0MWM2NTNlZjEyNWM5YjRiNjAzMmUxYzEwZjc1ZGIyMTgyMDA5Nzg4MjYzMjNlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.FFkUuChinkNXmLBWJO074Du7SN4cV-fjtUCpCnPK_84)
![Screenshot 2024-02-02 at 12 19 35 PM](https://private-user-images.githubusercontent.com/117060873/301962429-35150967-b63c-4d62-869d-302496928a4e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0MDg5MDAsIm5iZiI6MTcyNDQwODYwMCwicGF0aCI6Ii8xMTcwNjA4NzMvMzAxOTYyNDI5LTM1MTUwOTY3LWI2M2MtNGQ2Mi04NjlkLTMwMjQ5NjkyOGE0ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyM1QxMDIzMjBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mZDY3NTQ1NGIyMmJiOGNjZjVjZmY5NTIwODJkMTlmOWRhNGMyNzJiZjE1MjRlN2RkMmJiYmFiNGE2M2JkMDEyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.huVIbxb5a1HrSt3V2nn_8QlcL_FoXqbMUIXtBr5r7es)
The goal is to support desktop platforms first (Linux, MacOS, Windows) and impprove the user experience on these platforms. Mobile platforms support is pending resolution on running the fyne app as background service and setting up system tunnel/proxy on mobile devices.
TODO:
- Pull config list from HTTPS link
- Add App icon
- Add/Edit server name
- Fix issue with UPD and TCP flags in settings set to False in the first run
- Set config name to Fragment value if it exists, otherwise default to hostname:port naming
- Allow user to change config name
- Fix issue with local address being empty and saved correctly
- Print Test progress on Status section (Testing config x, Collecting report ...)
- Fix issues with preserving UI state (e.g. button state) when switching between pages/views
- Show popup when + is pressed and text entry field and paste button
- Show individual test results for each config (udp/tcp/domain name/resolver permutations) as accordion on Test Result page
- Enable Connect button only if the list is none empty and a certain config is selected
- Show Popup to report general app errors
- Setup system proxy automatically on Windows and Linux
- Add full VPN support on Linux based on Outline CLI
- Offer options in setting to listen on LAN (share tunnel with others)
- Releade app using Geoffrey
- Add system tray
- run HTTP server and serve a simple web page with connection intructions
- Add support for KDE desktop, linux terminal, etc ref
- Increment port if another server is running on that port and save that to the settings
- Show connected devices IP addresses in share mode
- If connectivity test passes, do a speed test afterwards
- Add test timing to test results (duration)