v2ray-core
v2ray-core copied to clipboard
fix(conf): add Windows support for Unix Domain Socket
Description
add Windows support for Unix Domain Socket
Supports
Windows Insider Build 17063 and later does support Unix Domain Socket, but the UDS check logic has blocked using UDS in windows.
Tests
config (yaml
format):
log:
loglevel: warning
inbounds:
- listen: "C:\\path\\to\\v2ray-core\\build_assets\\v2ray.sock"
tag: v2ray
protocol: http
sniffing:
enabled: true
destOverride: ["http", "tls"]
settings:
auth: noauth
allowTransparent: false
outbounds:
- tag: freedom
protocol: freedom
routing:
domainStrategy: AsIs
# all pass
rules:
- type: field
inboundTag: v2ray
outboundTag: freedom
Before
V2Ray 5.13.0 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.21.2 windows/amd64)
A unified platform for anti-censorship.
Failed to start: main/commands: failed to load config: [.\config.yaml] > infra/conf/v4: unable to listen on domain address: C:\path\to\v2ray-core\build_assets\v2ray.sock
After
Run curl
(with PowerShell Core) to test the http proxy server, testing shell:
curl -I --unix-socket 'C:\path\to\v2ray-core\build_assets\v2ray.sock' -X connect http://127.0.0.1/ --next https://www.baidu.com/
Output of curl:
HTTP/1.1 200 Connection established
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus=autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn" autofocus></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=https://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');
</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
Codecov Report
Attention: 16 lines
in your changes are missing coverage. Please review.
Comparison is base (
458db39
) 36.12% compared to head (c6d89ef
) 36.10%.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@ Coverage Diff @@
## master #2826 +/- ##
==========================================
- Coverage 36.12% 36.10% -0.03%
==========================================
Files 715 715
Lines 40949 40945 -4
==========================================
- Hits 14794 14783 -11
- Misses 24521 24526 +5
- Partials 1634 1636 +2
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
-
infra/conf/v4/trojan.go
andinfra/conf/v4/vless.go
have the same check logic that need fixes. - Windows file locker functions (
transport/internet/filelocker_windows.go
andtransport/internet/domainsocket/listener.go
) are stubs, are you sure they are not necessary for UDS?
- Windows file locker functions (
transport/internet/filelocker_windows.go
andtransport/internet/domainsocket/listener.go
) are stubs, are you sure they are not necessary for UDS?
No, when the file was bound by one process, another process could not bind with it.
infra/conf/v4/trojan.go
andinfra/conf/v4/vless.go
have the same check logic that need fixes.
Fixed in: c6d89efad3229cc9bb5d54805a8b4564fa60dbf7
Thanks for your contribution. I think this merge request is ready to be merged.