ganlvtech / edge-tts

Rust Edge TTS. A simple Azure Speech Service module that uses the Microsoft Edge Read Aloud API.
MIT License
4 stars 0 forks source link

Add Proxy Support to Enhance Accessibility in Restricted Networks #1

Open onlyclxy opened 1 week ago

onlyclxy commented 1 week ago

Description Currently, users in some regions, particularly in China, are facing issues with IP blocks that prevent them from accessing certain services directly. This has impacted the usability of the software, as direct connections to services like speech.platform.bing.com are not possible without bypassing these restrictions.  Proposed Feature I propose adding a proxy configuration option to the application settings. This would allow users to specify an HTTP or HTTPS proxy through which all traffic will be routed. This feature would be particularly beneficial for users attempting to connect from regions with restricted internet access.  Benefits  Accessibility: Users in restricted regions could utilize the software without interruptions. Flexibility: It provides more options for users who might need to route traffic for reasons other than censorship, like security policies within corporate networks. User Experience: Enhancing connectivity options can lead to a broader user base and improve satisfaction for current users who are facing connectivity issues. Additional Context Many users in China rely on proxies or VPNs to access various internet services due to local regulations and restrictions. Incorporating built-in support for proxy configurations would significantly enhance the functionality and appeal of the software among this user base.  Thank you for considering this feature request. I believe it would make a significant improvement in the accessibility and usability of the software for many users facing network restrictions.

ganlvtech commented 1 week ago

I'm sorry that tungstenite-rs doesn't support http or https proxy. https://github.com/snapview/tungstenite-rs/issues/177

I think it may be a little hard for me to implement one by myself. I'll have a try, but don't expect too much from me.

onlyclxy commented 1 week ago

Thank you so much for your project—it has brought me a lot of enjoyment! I also just tried it myself and realized that indeed, wss doesn't work with an http proxy. I've been using Clash in tun mode, which works somewhat, but it seems implementing this fully would be quite challenging. No worries, though—regardless of the outcome, I really appreciate all your hard work and the amazing code!

ganlvtech commented 1 week ago

speech.platform.bing.com is target to an IP in North America, but it seems not be restricted in the region.

ganlvtech commented 1 week ago

wss could worked with http proxy. It is just not implemented by tungstenite-rs

onlyclxy commented 1 week ago

Oh, I see! Looks like we'll have to wait for a solution from the source. Thanks so much for letting me know, and I really appreciate all your efforts!