pretty66 / websocketproxy Goto Github PK
View Code? Open in Web Editor NEW🔥🔥🔥Go websocket proxy, a simple websocket reverse proxy implementation, supports ws, wss
License: Apache License 2.0
🔥🔥🔥Go websocket proxy, a simple websocket reverse proxy implementation, supports ws, wss
License: Apache License 2.0
1、我用的golang1.15.6版本在72行代码提示【logger: log.Default(),】没找到log.Default函数,直接删除改行代码即可。
2、将源代码中的【Proxy】函数名称,修改为【ServeHTTP】。
3、在Beego侧的注入方式是:
wp, err := websocketproxy.NewProxy("ws://localhost:1884/mqtt", func(r *http.Request) error {
// 权限验证
r.Header.Set("Cookie", "----")
// 伪装来源
r.Header.Set("Origin", "http://82.157.123.54:9010")
return nil
})
if err != nil {
logs.GetLogger().Println(err)
os.Exit(999)
}
web.Handler("/wsproxy", wp)
Mqtt服务器使用的是Mosquitto1.6.12 for windows64bit。
希望对后来的Beego同学能够有点帮助。
Hi there!
First off, thank you so much for your work here! I'm glad I was able to find it when I needed exactly what the package offers.
While building a project using it, I came across this behavior where Firefox isn't working as expected, while all Chromium-based browsers just work fine. After debugging, I realized that the issue lies in the function Proxy, as it expects the header 'Connection' to be 'Upgrade'. However, with Firefox, when connecting to a websocket, it uses the header 'keep-alive, Upgrade' instead, and that's what was causing the issue and kept returning without giving any errors.
I'd be more than happy to make a PR if you're okay with that. Just let me know!
您好
我有个gorilla聊天的项目,这个项目是基于ws协议的,我想把ws协议的数据进行加密变成wss协议。我可不可以直接把您的代码集成到我的代码里,把gorilla的聊天项目变成wss协议(通过ssl证书加密)?
1.把这个开发项目的API集成到自己的go开发项目里,相比用nginx进行wss的代理,性能上有什么优势?
2.我看到proxy.go里面使用了net/http的包,如果用fasthttp,是不是性能会更好一点。不知道当前的项目有没有基于fasthttp的版本?
谢谢啦。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.