Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proxy support for WebSocket connections #717

Closed
wants to merge 4 commits into from

Conversation

ezhevita
Copy link
Contributor

@ezhevita ezhevita commented Sep 9, 2019

Adds proxy support for WebSocket connections

@JustArchi
Copy link
Contributor

You most likely want to also make it possible to supply IWebProxy to SteamConfiguration so this can be used without manual connections.

@codecov-io
Copy link

codecov-io commented Sep 9, 2019

Codecov Report

Merging #717 into master will decrease coverage by <.01%.
The diff coverage is 0%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #717      +/-   ##
==========================================
- Coverage   22.63%   22.62%   -0.01%     
==========================================
  Files          93       93              
  Lines        9568     9572       +4     
  Branches      795      796       +1     
==========================================
  Hits         2166     2166              
- Misses       7270     7274       +4     
  Partials      132      132
Impacted Files Coverage Δ
...t2/SteamKit2/Networking/Steam3/WebSocketContext.cs 0% <0%> (ø) ⬆️
...SteamKit2/Networking/Steam3/WebSocketConnection.cs 0% <0%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 38dd2fd...108966c. Read the comment docs.

Copy link
Contributor

@JustArchi JustArchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solve merge conflicts and LGTM.

@yaakov-h
Copy link
Member

yaakov-h commented Sep 9, 2019

#587 (comment)

@JustArchi
Copy link
Contributor

JustArchi commented Sep 10, 2019

Enabling access to "our" Steam for users in China would be one compelling use case for this. This is in regards to recent events there.

@yaakov-h
Copy link
Member

If Steam global gets blocked by China, an itty bitty SOCKS proxy is probably not going to hold up against the GFW. You would need a lower-level VPN.

Regardless, any solution which works for Steam today or in future would also work for a SteamKit2-based codebase, unless Steam itself adds proxy support.

@ezhevita ezhevita closed this Sep 12, 2019
@ezhevita ezhevita deleted the websocket-proxy-support branch September 12, 2019 23:29
@MakcStudio
Copy link

I do not really understand, you did not add a ready-made solution for proxy support to the master branch? If I want to use this solution, do I need to compile my own version of the library?

@ezhevita
Copy link
Contributor Author

@MakcStudio Yes, this PR wasn't accepted, so you have to compile this branch manually.

@fjch1997
Copy link

If Steam global gets blocked by China, an itty bitty SOCKS proxy is probably not going to hold up against the GFW. You would need a lower-level VPN.

Regardless, any solution which works for Steam today or in future would also work for a SteamKit2-based codebase, unless Steam itself adds proxy support.

Many people in China are using Shadowsocks which encrypts SOCKS5 traffic between the client and server. Also, WebSocket proxy goes throughh HTTPS and would be encrypted as well. The GFW has no way of seeing that it is trying to access Steam

This is useful and quite a simple update. I am not sure why it can't be merged.

@fazelukario
Copy link

@yaakov-h As @fjch1997 mentioned, it makes sense to add a proxy, and I think that to ignore such a possibility (given that this feature is optional) in a library that is designed for software solutions such as bots, etc. at least wrong, and at most egoistically and stupidly.

@yaakov-h
Copy link
Member

We're not ignoring it, we're selective about adding features that can be easily misused for harmful and abusive purposes. If you have a compelling, legitimate, and practical use-case, then I'm all ears. If something is theoretically useful only in future, but practically abusable now, then I'll wait for that future.

@ezhevita ezhevita restored the websocket-proxy-support branch March 11, 2024 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants