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

Merge upstream #9

Open
wants to merge 206 commits into
base: main_test
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
9ee9a06
Add UDPFilter to Socks5 server when `auth == password` (#3371)
Fangliding May 22, 2024
29c6318
Upgrade github.com/xtls/reality to 20240429224917
RPRX May 22, 2024
416f2df
v1.8.12
RPRX May 22, 2024
9b6141b
Wireguard dial with context
yuhan6665 May 22, 2024
3120ca4
v1.8.13
RPRX May 22, 2024
ca07a70
Generate *.pb.go files with protoc v5.27.0
RPRX May 26, 2024
0a3c449
Inbound worker should fill context outbounds info
yuhan6665 May 25, 2024
73c5650
build: change usage of `grep` for better compatibility
Grvzard May 28, 2024
89074a1
Fix udp goroutine leak
isluckys May 28, 2024
bbf25b1
Update dependencies
yuhan6665 Jun 1, 2024
075051a
Add wireguard test
yuhan6665 Jun 1, 2024
4595043
chore: Remove unnecessary `if` in httpupgrade (#3413)
AsenHu Jun 3, 2024
df53afc
Make ws_test uses random ports
Fangliding Jun 3, 2024
75b3ef7
fix filename
mmmray Jun 3, 2024
f5a70e4
Bump golang.org/x/crypto from 0.23.0 to 0.24.0
dependabot[bot] Jun 5, 2024
9c6685d
Bump golang.org/x/net from 0.25.0 to 0.26.0
dependabot[bot] Jun 5, 2024
be29cc3
Add httpupgrade test
Fangliding Jun 5, 2024
980236f
preserve exact header casing when using httpupgrade (#3427)
mmmray Jun 6, 2024
f8ec93d
drain buffer correctly in httpupgrade (#3428)
mmmray Jun 6, 2024
3654c0d
HTTPUpgrade send headers with specified capitalization (#3430)
Fangliding Jun 6, 2024
f0cb292
CI: not create zip file when not releasing
AsenHu Jun 5, 2024
13f0ecc
Bump github.com/quic-go/quic-go from 0.44.0 to 0.45.0
dependabot[bot] Jun 7, 2024
c15974f
Bump github.com/sagernet/sing from 0.4.0 to 0.4.1
dependabot[bot] Jun 7, 2024
ea02ae7
Bump github.com/gorilla/websocket from 1.5.1 to 1.5.2
dependabot[bot] Jun 10, 2024
f7dd84d
Bump google.golang.org/protobuf from 1.34.1 to 1.34.2
dependabot[bot] Jun 12, 2024
a1626cb
Bump github.com/cloudflare/circl from 1.3.8 to 1.3.9
dependabot[bot] Jun 12, 2024
219a7da
Bump github.com/miekg/dns from 1.1.59 to 1.1.61
dependabot[bot] Jun 14, 2024
ae97821
Add regex support for domainsExcluded (#3449)
Fangliding Jun 16, 2024
d04a9d4
Bump github.com/gorilla/websocket from 1.5.2 to 1.5.3
dependabot[bot] Jun 17, 2024
501d5de
Bump docker/build-push-action from 5 to 6 (#3454)
dependabot[bot] Jun 18, 2024
c10bd28
Add SplitHTTP Transport (#3412)
mmmray Jun 18, 2024
404af13
v1.8.15
RPRX Jun 18, 2024
c1a7602
fix compatibility issues with go 1.21
mmmray Jun 18, 2024
8fe976d
Upgrade SplitHTTP Transport (#3462)
mmmray Jun 20, 2024
9432a60
v1.8.16
RPRX Jun 20, 2024
028a640
Update issues template
Fangliding Jun 22, 2024
eb4f942
Use ArrayBuffer in WS browser dialer binaryType (#3468)
mmmray Jun 22, 2024
74d233d
More docker tags
mmmray Jun 23, 2024
ee2000f
splithttp: Add support for H2C and http/1.1 ALPN on server (#3465)
mmmray Jun 23, 2024
7acd5a6
Bump github.com/quic-go/quic-go from 0.45.0 to 0.45.1
dependabot[bot] Jun 24, 2024
e4f9d03
splithttp Read() using blocking mode (#3473)
maskedeken Jun 24, 2024
c0f3bf6
Add new header to disable HTTP middle box buffer
mmmray Jun 28, 2024
8320732
SplitHTTP: ok -> ooooooooook (parser in client)
RPRX Jun 28, 2024
079d0bd
Refactor log (#3446)
yuhan6665 Jun 29, 2024
c6a57b2
Fix connection reuse in splithttp HTTP/1.1 (#3485)
mmmray Jul 1, 2024
60b2c34
Try to fix infinite conn read in tests
yuhan6665 Jul 2, 2024
e13f9f5
Bump google.golang.org/grpc from 1.64.0 to 1.65.0
dependabot[bot] Jul 3, 2024
1113ee7
Bump golang.org/x/sys from 0.21.0 to 0.22.0
dependabot[bot] Jul 5, 2024
4c51636
Relax server HTTP host check
yuhan6665 Jul 6, 2024
b8c0768
Properly parse HTTP host for verification
yuhan6665 Jul 6, 2024
01a3b49
Bump golang.org/x/net from 0.26.0 to 0.27.0
dependabot[bot] Jul 8, 2024
0d130a0
Bump github.com/sagernet/sing-shadowsocks from 0.2.6 to 0.2.7
dependabot[bot] Jul 8, 2024
ce637c0
Bump github.com/refraction-networking/utls from 1.6.6 to 1.6.7
dependabot[bot] Jul 8, 2024
308f0c6
Add custom Sockopt support (#3517)
Fangliding Jul 9, 2024
c8f6ba9
Add SplitHTTP Browser Dialer support (#3484)
mmmray Jul 11, 2024
73a001d
Upgrade github.com/xtls/reality to 20240711105359
RPRX Jul 11, 2024
c69d38a
add link to discussions
mmmray Jul 11, 2024
16de093
Fix typos (#3527)
MHSanaei Jul 11, 2024
39675b7
Upgrade github.com/xtls/reality to 20240712055506
RPRX Jul 12, 2024
558cfcc
v1.8.17
RPRX Jul 12, 2024
573fb4f
Add Windows 7 builds (#3530)
mmmray Jul 15, 2024
59819e2
Fix log severity (#3535)
abvf Jul 15, 2024
a4bc422
README: Remove 13 inactive projects
RPRX Jul 15, 2024
9e6d7a3
v1.8.18
RPRX Jul 15, 2024
a7e198e
Fix WS reading X-Forwarded-For & Add tests (#3546)
Fangliding Jul 17, 2024
02cd3b8
Fix SplitHTTP race condition when creating new sessions (#3533)
yuhan6665 Jul 17, 2024
c40fc44
SplitHTTP: Client supports HTTP/3 (#3543)
ll11l1lIllIl1lll Jul 17, 2024
9288a7c
Upgrade dependencies
RPRX Jul 17, 2024
b277bac
v1.8.19
RPRX Jul 17, 2024
d8994b7
Fix SplitHTTP H3 crash on v2rayNG (#3559)
ll11l1lIllIl1lll Jul 19, 2024
a0040f1
SplitHTTP: Server supports HTTP/3 (#3554)
ll11l1lIllIl1lll Jul 19, 2024
8deb953
v1.8.20
RPRX Jul 20, 2024
964859b
SplitHTTP: Remove unnecessary keepalives (#3565)
chise0713 Jul 20, 2024
529f206
Fix serverside TLS support of SplitHTTP H1/H2 (#3567)
mmmray Jul 21, 2024
22535d8
Fix SplitHTTP H3 didn't always reuse QUIC connection
RPRX Jul 21, 2024
0f65aa8
Fix SplitHTTP H3 waited for downResponse before uploading
RPRX Jul 21, 2024
c27d652
v1.8.21
RPRX Jul 21, 2024
36f427f
docker.yml: Set latest to auto to tag release version (#3581)
mayampi01 Jul 22, 2024
edae38c
Fix SplitHTTP Unix domain socket (#3577)
hellokindle Jul 22, 2024
2becdd6
SplitHTTP server: Fix panic during concurrent Close and Push (#3593)
mmmray Jul 26, 2024
7cf5ee8
WS, HU: Remove unnecessary sleep from test (#3600)
mmmray Jul 27, 2024
8a4217f
SplitHTTP client: Add minUploadInterval (#3592)
mmmray Jul 27, 2024
4cb2a12
Don't do raw/splice copy in case of MITM
yuhan6665 Jul 24, 2024
59f6685
SplitHTTP: More range options, change defaults, enforce maxUploadSize…
mmmray Jul 29, 2024
60553a6
SplitHTTP server: Add noSSEHeader
RPRX Jul 29, 2024
a342db3
Fix a nil pointer in Wireguard client logging (#3608)
yuhan6665 Jul 29, 2024
4531a7e
CertificateObject: Enable auto-reload for cacert & Add buildChain & F…
lelemka0 Jul 29, 2024
521d8ef
Docker: Add multi-arch builds and Loyalsoldier flavor (#3589)
mayampi01 Jul 29, 2024
70383c5
v1.8.22
RPRX Jul 29, 2024
33daa0c
SplitHTTP: Fix wrong config deserialization (#3610)
mmmray Jul 29, 2024
30af792
SplitHTTP: Rename three options & Reduce server defaults (#3611)
mmmray Jul 29, 2024
4c82ef8
v1.8.23
RPRX Jul 29, 2024
4b7947c
SplitHTTP server: add ok padding (#3614)
mmmray Aug 2, 2024
7e24239
Bump github.com/quic-go/quic-go from 0.45.1 to 0.45.2 (#3623)
dependabot[bot] Aug 2, 2024
644901d
Socks4a server: Check if the client sends an IP address as domain (#…
Fangliding Aug 3, 2024
4c9e4b9
README.md: Add NFTs
RPRX Aug 3, 2024
2a5eb3d
Docker: Fix permissions of geosite and geodat (#3634)
definitio Aug 4, 2024
1dfec50
Bump golang.org/x/sys from 0.22.0 to 0.23.0 (#3639)
dependabot[bot] Aug 6, 2024
c6d9d43
Bump golang.org/x/sync from 0.7.0 to 0.8.0 (#3640)
dependabot[bot] Aug 6, 2024
661cb90
Bump golang.org/x/net from 0.27.0 to 0.28.0 (#3649)
dependabot[bot] Aug 7, 2024
4a1c0d7
README.md: Rename NFTs to Donation & NFTs
RPRX Aug 7, 2024
ac628a9
API: Improve MarshalToJson() in common/reflect/marshal.go (#3655)
vrnobody Aug 8, 2024
1a95add
Bump github.com/quic-go/quic-go from 0.45.2 to 0.46.0 (#3658)
dependabot[bot] Aug 8, 2024
96e8b8b
Bump golang.org/x/sys from 0.23.0 to 0.24.0 (#3662)
dependabot[bot] Aug 9, 2024
9e93c19
Freedom: Combine fragmented tlshello if interval is 0 (#3663)
Fangliding Aug 10, 2024
85e2ebc
SplitHTTP client: Raise idle timeout to 5 minutes, Add h*KeepalivePer…
mmmray Aug 10, 2024
f650d87
Commands: Add convert with two sub-commands (#3661)
vrnobody Aug 10, 2024
a3b306a
SplitHTTP: Replace responseOkPadding with xPaddingBytes (#3643)
mmmray Aug 10, 2024
513182a
SplitHTTP server: Only "ok" to older clients (#3671)
mmmray Aug 10, 2024
0c73039
SplitHTTP server: Add "Cache-Control: no-store" to GET response (#3652)
PoneyClairDeLune Aug 10, 2024
498d8eb
DialerProxy: Fix SplitHTTP H3 dialerProxy (#3570)
mmmray Aug 11, 2024
f0547bc
Commands: Use creflect.MarshalToJson() as output (#3674)
yuhan6665 Aug 8, 2024
08d1840
Bump github.com/miekg/dns from 1.1.61 to 1.1.62 (#3680)
dependabot[bot] Aug 14, 2024
030c9ef
Commands: Comment some useless codes (#3681)
jadeydi Aug 15, 2024
b612da2
Socks inbound: Support HTTP inbound by default (#3682)
Fangliding Aug 15, 2024
11b0480
Log: Add "from" before source address
RPRX Aug 16, 2024
1562e1f
Config: Combine filename and format into a new struct (#3687)
jadeydi Aug 16, 2024
160316d
SplitHTTP: Do not produce too large upload (#3691)
mmmray Aug 17, 2024
41d03d1
Wireguard inbound: Fix no route when bind to interface (#3698)
chise0713 Aug 19, 2024
0df7fa2
Bump github.com/cloudflare/circl from 1.3.9 to 1.4.0 (#3712)
dependabot[bot] Aug 21, 2024
790f908
chore: fix some comment typos (#3716)
curlwget Aug 22, 2024
2be03c5
Pin protobuf packages (#3715)
mmmray Aug 22, 2024
83eef6b
SplitHTTP: Fix connection leaks and crashes (#3710)
mmmray Aug 22, 2024
34e0a2f
Issues template: Add require for latest version
Fangliding Aug 23, 2024
c0c23fd
Bump github.com/vishvananda/netlink (#3719)
dependabot[bot] Aug 23, 2024
3dd3bf9
Fix data leak between mux.cool connections (#3718)
mmmray Aug 25, 2024
5d7dfbb
Bump github.com/vishvananda/netlink from 1.2.1 to 1.3.0 (#3729)
dependabot[bot] Aug 26, 2024
592c2da
Update go 1.23 (#3730)
yuhan6665 Aug 26, 2024
1cfed96
README.md: Add Project VLESS to Telegram
RPRX Aug 26, 2024
815a959
Fix freedom PacketReader/PacketWriter type assertion (#3734)
dyhkwong Aug 27, 2024
8674ed5
Support DNS queryStrategy config for UDP NameServer (#3728)
xiaorouji Aug 27, 2024
002d08b
UDP noise (#3711)
dragonbreath2000 Aug 28, 2024
98e85b7
Bump google.golang.org/grpc from 1.65.0 to 1.66.0 (#3740)
dependabot[bot] Aug 29, 2024
6baad79
v1.8.24
RPRX Aug 30, 2024
f1c439c
Revert "Fix freedom PacketReader/PacketWriter type assertion (#3734)"
mmmray Sep 1, 2024
ab3c00e
SplitHTTP: Remove `ok` compatibility logic (#3753)
mmmray Sep 3, 2024
9a953c0
Transport: Remove QUIC (#3754)
mmmray Sep 3, 2024
c0a98f7
Transport: Remove DomainSocket (#3757)
mmmray Sep 3, 2024
f357245
Config: Remove global `transport` (#3751)
mmmray Sep 5, 2024
d36e027
Bump golang.org/x/sys from 0.24.0 to 0.25.0 (#3762)
dependabot[bot] Sep 6, 2024
3971532
Bump golang.org/x/net from 0.28.0 to 0.29.0 (#3766)
dependabot[bot] Sep 6, 2024
6838a0a
Config: Remove legacy `inbound/outbound/detours` (#3769)
mmmray Sep 6, 2024
3d9137c
v24.9.7
RPRX Sep 7, 2024
9438517
README.md: Add SaeedDev94/Xray to Android clients
mmmray Sep 8, 2024
f04cb0b
Config: Remove some legacy fields from V2Ray 3.x era (#3776)
KobeArthurScofield Sep 9, 2024
3d0feae
Transport: Add REALITY TLS1.3 support warning (#3774)
Fangliding Sep 9, 2024
c90affe
Fix: RPC call causes xray panic problem using wrong account type (#3744)
bestwishCT Sep 9, 2024
6b1bf31
Config: Remove legacy config fields again (#3782)
KobeArthurScofield Sep 11, 2024
a247997
Log: Add MaskAddress option to hide IP addresses (#3783)
Fangliding Sep 11, 2024
297a9ae
Bump google.golang.org/grpc from 1.66.0 to 1.66.1 (#3786)
dependabot[bot] Sep 11, 2024
7496413
Remove remnants of global `transport` (#3792)
KobeArthurScofield Sep 11, 2024
1b607ff
DNS: Do not hit cache if encounted err (#3784)
Fangliding Sep 12, 2024
1919a1e
Log: Improve feature deprecation/removal logs (#3793)
KobeArthurScofield Sep 12, 2024
12c3908
Bump google.golang.org/grpc from 1.66.1 to 1.66.2 (#3798)
dependabot[bot] Sep 12, 2024
3a8c5f3
Routing: Add regexp syntax support to UserMatcher (#3799)
vnxme Sep 12, 2024
c259e4e
Allow to inject custom validator in VLESS controller (#3453)
torikki-tou Sep 13, 2024
88ae774
Sniff: Routing “attrs” support non http inbound (#3808)
Fangliding Sep 13, 2024
7970f24
Log: show the matching rule tag (#3809)
Fangliding Sep 13, 2024
781aaee
QUIC sniffer: handle multiple initial packets (#3802)
Fangliding Sep 13, 2024
d7c5a0f
Fix int overflow on x32 processors causing panic (#3810)
tekig Sep 15, 2024
3fed0c7
DNS outbound: Add blockTypes (#3812)
Fangliding Sep 15, 2024
5f0642a
Errors: Add PrintRemovedFeatureError & PrintDeprecatedFeatureWarning …
KobeArthurScofield Sep 15, 2024
67c2a29
Bump github.com/sagernet/sing from 0.4.1 to 0.4.3 (#3818)
dependabot[bot] Sep 16, 2024
a931507
SplitHTTP: Read and validate HTTP/1.1 responses (#3797)
4nd3r5on Sep 16, 2024
b1c6471
SplitHTTP client: Add xmux (multiplex controller) for H3 & H2 (#3613)
ll11l1lIllIl1lll Sep 16, 2024
363e86c
UDP noises: Add base64 and multi-packet support (#3794)
dragonbreath2000 Sep 16, 2024
a35d571
v24.9.16
RPRX Sep 16, 2024
f406b2d
SplitHTTP client: Fix xmux config deserialization (#3827)
mmmray Sep 19, 2024
57a41f3
Config: Remove more legacy fields (#3817)
KobeArthurScofield Sep 19, 2024
bc28cad
v24.9.19
RPRX Sep 19, 2024
7677ac9
Browser Dialer: Change from ES5 to ES6+ for performance (#3832)
PoneyClairDeLune Sep 19, 2024
93cff1a
Xmux: Value of 0 is treated the same as no value (#3835)
mmmray Sep 19, 2024
acbf36e
SplitHTTP server: Add global CORS headers for browser dialer (#3830)
PoneyClairDeLune Sep 20, 2024
d497de9
Bump google.golang.org/grpc from 1.66.2 to 1.67.0 (#3845)
dependabot[bot] Sep 23, 2024
7086d28
Remove legacy code (#3838)
KobeArthurScofield Sep 23, 2024
3632e83
Transport: Add HTTP3 to HTTP (#3819)
yuhan6665 Sep 26, 2024
d8485bd
Transport: Add RAW as an alias of TCP (#3852)
RPRX Sep 28, 2024
697156f
SplitHTTP Config: Add capability to parse int in string format (#3855)
Fangliding Sep 28, 2024
3b06af8
v24.9.30
RPRX Sep 30, 2024
e45cef5
Bump google.golang.org/grpc from 1.67.0 to 1.67.1 (#3866)
dependabot[bot] Oct 2, 2024
c7534c4
README.md: Add Marzneshin to Web Panel (#3873)
iambabyninja Oct 3, 2024
75729ce
REALITY config: Add `target` as an alias of `dest`
RPRX Oct 5, 2024
c30f5d4
Lint common/errors/feature_errors.go
RPRX Oct 5, 2024
e2b9f71
Bump golang.org/x/net from 0.29.0 to 0.30.0 (#3889)
dependabot[bot] Oct 9, 2024
b3ab49f
Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 (#3893)
dependabot[bot] Oct 9, 2024
af7232d
Bump github.com/pires/go-proxyproto from 0.7.0 to 0.8.0 (#3895)
dependabot[bot] Oct 9, 2024
5164a82
Routing: Fix regexp syntax support in UserMatcher (#3900)
vnxme Oct 11, 2024
8c180b9
Browser Dialer: Revert changes to event listeners (#3906)
mmmray Oct 13, 2024
6a70ae6
HTTP transport: Fix an issue when HTTP client start fail with 403 (#3…
yuhan6665 Oct 15, 2024
19f3f70
WireGuard kernelTun: Check Capabilities instead of checking UID (#3871)
chise0713 Oct 15, 2024
82bd5f3
Refactor: Use struct `Int32Range` widely (#3867)
Fangliding Oct 15, 2024
8625753
Routing: Add mutex for `Attributes` temporarily (#3908)
Fangliding Oct 15, 2024
897521d
XMUX: Change to non-infinity-reuse default values (#3919)
RPRX Oct 16, 2024
47fad1f
Chore: Generate *.pb.go files with protoc v5.28.2
RPRX Oct 16, 2024
25c7bc0
v24.10.16
RPRX Oct 16, 2024
b0272c1
README.md: Add wulabing/xray_docker to Docker
yuhan6665 Oct 17, 2024
9bdf72d
WireGuard config: Replace `kernelMode` with `noKernelTun`
RPRX Oct 18, 2024
8809cbd
Transport: Remove GUN (an alias of gRPC)
RPRX Oct 18, 2024
e4939dc
Config: Prefer newer alias (REALITY `target`, RAW)
RPRX Oct 18, 2024
94338c9
README.md: Only list secure web panels (#3884)
RPRX Oct 24, 2024
cf182b0
README.md: Update WARNING for Web Panel
RPRX Oct 27, 2024
ceb6eac
WireGuard createTun: Add more logs
RPRX Oct 30, 2024
9f8bb47
Fix: Apply mutex when visiting Attributes as well (#3921)
Fangliding Oct 30, 2024
e733148
REALITY: Unblock SplitHTTP transport (#3816)
mmmray Oct 30, 2024
44a02c5
Merge remote-tracking branch 'upstream/main' into feature/upstream-merge
leninalive Oct 30, 2024
f645592
Remaining fix after merge upstream
leninalive Oct 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 8 additions & 8 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ body:
options:
- label: I confirm that I have read the documentation, understand the meaning of all the configuration items I wrote, and did not pile up seemingly useful options or default values.
required: true
- label: I provided the complete config and logs, rather than just providing the truncated parts based on my own judgment.
required: true
- label: I searched issues and did not find any similar issues.
required: true
- type: input
attributes:
label: Version
description: Version of Xray-core
validations:
required: true
- label: The problem can be successfully reproduced in the latest Release
required: true
- type: textarea
attributes:
label: Description
description: Please provide a detailed description of the error. And the information you think valuable.
description: |-
Please provide a detailed description of the error. And the information you think valuable.
If the problem occurs after the update, please provide the **specific** version
validations:
required: true
- type: textarea
Expand All @@ -40,7 +40,7 @@ body:
Don't just paste a big exported config file here. Eliminate useless inbound/outbound, rules, options, this can help determine the problem, if you really want to get help.

### For logs
Please set the log level to debug first.
Please set the log level to debug and dnsLog to true first.
Restart Xray-core, then operate according to the reproduction method, try to reduce the irrelevant part in the log.
Remember to delete parts with personal information (such as UUID and IP).
Provide the log of Xray-core, not the log output by the panel or other things.
Expand Down
18 changes: 9 additions & 9 deletions .github/ISSUE_TEMPLATE/bug_report_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ body:
options:
- label: 我保证阅读了文档,了解所有我编写的配置文件项的含义,而不是大量堆砌看似有用的选项或默认值。
required: true
- label: 我搜索了issues,没有发现已提出的类似问题。
- label: 我提供了完整的配置文件和日志,而不是出于自己的判断只给出截取的部分。
required: true
- label: 我搜索了 issues, 没有发现已提出的类似问题。
required: true
- label: 问题在 Release 最新的版本上可以成功复现
required: true
- type: input
attributes:
label: 版本
description: 使用的Xray-core版本
validations:
required: true
- type: textarea
attributes:
label: 描述
description: 请提供错误的详细描述。以及你认为有价值的信息。
description: |-
请提供错误的详细描述。以及你认为有价值的信息。
如果问题在更新后出现,请提供**具体**出现问题的版本号。
validations:
required: true
- type: textarea
Expand All @@ -40,7 +40,7 @@ body:
不要直接在这里黏贴一大段导出的 config 文件。去掉无用的出入站、规则、选项,这可以帮助确定问题,如果你真的想得到帮助。

### 对于日志
请先将日志等级设置为 debug.
请先将日志等级设置为 debug, dnsLog 设置为true.
重启 Xray-core ,再按复现方式操作,尽量减少日志中的无关部分。
记得删除有关个人信息(如UUID与IP)的部分。
提供 Xray-core 的日志,而不是面板或者别的东西输出的日志。
Expand Down
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
contact_links:
- name: Community Support and Questions
url: https://github.com/XTLS/Xray-core/discussions
about: Please ask and answer questions there. The issue tracker is for issues with core.
28 changes: 17 additions & 11 deletions .github/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,27 @@
FROM --platform=$BUILDPLATFORM golang:alpine AS build
WORKDIR /src
COPY . .
ARG TARGETOS TARGETARCH
ARG TARGETOS
ARG TARGETARCH
RUN GOOS=$TARGETOS GOARCH=$TARGETARCH CGO_ENABLED=0 go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main
ADD https://github.com/v2fly/geoip/releases/latest/download/geoip.dat /v2fly/geoip.dat
ADD https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat /v2fly/geosite.dat
ADD https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat /loyalsoldier/geoip.dat
ADD https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat /loyalsoldier/geosite.dat

FROM --platform=${TARGETPLATFORM} alpine:latest
WORKDIR /root
# chainguard/static contains only tzdata and ca-certificates, can be built with multiarch static binaries.
FROM --platform=linux/amd64 chainguard/static:latest

Check warning on line 14 in .github/docker/Dockerfile

View workflow job for this annotation

GitHub Actions / build-image

FROM --platform flag should not use a constant value

FromPlatformFlagConstDisallowed: FROM --platform flag should not use constant value "linux/amd64" More info: https://docs.docker.com/go/dockerfile/rule/from-platform-flag-const-disallowed/
WORKDIR /var/log/xray
COPY .github/docker/files/config.json /etc/xray/config.json
COPY --from=build /src/xray /usr/bin/xray
RUN set -ex \
&& apk add --no-cache tzdata ca-certificates \
&& mkdir -p /var/log/xray /usr/share/xray \
&& chmod +x /usr/bin/xray \
&& wget -O /usr/share/xray/geosite.dat https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat \
&& wget -O /usr/share/xray/geoip.dat https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
COPY --from=build --chmod=755 /src/xray /usr/bin/xray

USER root
WORKDIR /root
VOLUME /etc/xray
ENV TZ=Asia/Shanghai
ARG TZ=Asia/Shanghai
ENV TZ=$TZ
ENTRYPOINT [ "/usr/bin/xray" ]
CMD [ "-config", "/etc/xray/config.json" ]

ARG flavor=v2fly
COPY --from=build --chmod=644 /$flavor /usr/share/xray
29 changes: 22 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ on:
- "**/*.go"
- "go.mod"
- "go.sum"
- ".github/workflows/*.yml"
- ".github/workflows/release.yml"
pull_request:
types: [opened, synchronize, reopened]
paths:
- "**/*.go"
- "go.mod"
- "go.sum"
- ".github/workflows/*.yml"
- ".github/workflows/release.yml"
jobs:
prepare:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -78,12 +78,15 @@ jobs:
# Include amd64 on all platforms.
goos: [windows, freebsd, openbsd, linux, darwin]
goarch: [amd64, 386]
gotoolchain: [""]
patch-assetname: [""]

exclude:
# Exclude i386 on darwin
- goarch: 386
goos: darwin
include:
# BEIGIN MacOS ARM64
# BEGIN MacOS ARM64
- goos: darwin
goarch: arm64
# END MacOS ARM64
Expand Down Expand Up @@ -152,6 +155,16 @@ jobs:
goarch: arm
goarm: 7
# END OPENBSD ARM
# BEGIN Windows 7
- goos: windows
goarch: amd64
gotoolchain: 1.21.4
patch-assetname: win7-64
- goos: windows
goarch: 386
gotoolchain: 1.21.4
patch-assetname: win7-32
# END Windows 7
fail-fast: false

runs-on: ubuntu-latest
Expand All @@ -164,16 +177,17 @@ jobs:
- name: Checkout codebase
uses: actions/checkout@v4

- name: Show workflow information
- name: Show workflow information
run: |
export _NAME=$(jq ".[\"$GOOS-$GOARCH$GOARM$GOMIPS\"].friendlyName" -r < .github/build/friendly-filenames.json)
_NAME=${{ matrix.patch-assetname }}
[ -n "$_NAME" ] || _NAME=$(jq ".[\"$GOOS-$GOARCH$GOARM$GOMIPS\"].friendlyName" -r < .github/build/friendly-filenames.json)
echo "GOOS: $GOOS, GOARCH: $GOARCH, GOARM: $GOARM, GOMIPS: $GOMIPS, RELEASE_NAME: $_NAME"
echo "ASSET_NAME=$_NAME" >> $GITHUB_ENV

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
go-version: ${{ matrix.gotoolchain || '1.23' }}
check-latest: true

- name: Get project dependencies
Expand All @@ -183,7 +197,7 @@ jobs:
run: |
mkdir -p build_assets
make
find . -maxdepth 1 -type f -regex '.*\(wxray\|xray\|xray_softfloat\)\(\|.exe\)' -exec mv {} ./build_assets/ \;
find . -maxdepth 1 -type f -regex './\(wxray\|xray\|xray_softfloat\)\(\|.exe\)' -exec mv {} ./build_assets/ \;

- name: Restore Cache
uses: actions/cache/restore@v4
Expand All @@ -198,6 +212,7 @@ jobs:
cp ${GITHUB_WORKSPACE}/LICENSE ./build_assets/LICENSE

- name: Create ZIP archive
if: github.event_name == 'release'
shell: bash
run: |
pushd build_assets || exit 1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
go-version: '1.23'
check-latest: true
- name: Restore Cache
uses: actions/cache/restore@v4
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,6 @@ errorgen
*.dat
.vscode
/build_assets

# Output from dlv test
**/debug.*
11 changes: 4 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ NAME = xray
VERSION=$(shell git describe --always --dirty)

# NOTE: This MAKEFILE can be used to build Xray-core locally and in Automatic workflows. It is \
provided for convinience in automatic building and functions as a part of it.
provided for convenience in automatic building and functions as a part of it.
# NOTE: If you need to modify this file, please be aware that:\
- This file is not the main Makefile; it only accepts environment variables and builds the \
binary.\
- Automatic building expects the correct binaries to be built by this Makefile. If you \
intend to propose a change to this Makefile, carefully review the file below and ensure \
that the change will not accidently break the automatic building:\
that the change will not accidentally break the automatic building:\
.github/workflows/release.yml \
Otherwise it is recommended to contact the project maintainers.

Expand All @@ -23,18 +23,15 @@ ADDITION = go build -o w$(NAME).exe -trimpath -ldflags "-H windowsgui $(LDFLAGS)
else
OUTPUT = $(NAME)
endif
ifeq ($(shell echo "$(GOARCH)" | grep -Pq "(mips|mipsle)" && echo true),true) #
ifeq ($(shell echo "$(GOARCH)" | grep -Eq "(mips|mipsle)" && echo true),true) #
ADDITION = GOMIPS=softfloat go build -o $(NAME)_softfloat -trimpath -ldflags "$(LDFLAGS)" -v $(MAIN)
endif
.PHONY: clean
.PHONY: clean build

build:
go build -o $(OUTPUT) $(PARAMS) $(MAIN)
$(ADDITION)

install:
go build -o $(PREFIX)/bin/$(OUTPUT) $(PARAMS) $(MAIN)

clean:
go clean -v -i $(PWD)
rm -f xray xray.exe wxray.exe xray_softfloat
26 changes: 11 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

[README](https://github.com/amnezia-vpn/amnezia-xray-core#readme) is open, so feel free to submit your project [here](https://github.com/amnezia-vpn/amnezia-xray-core/pulls).

## Donation & NFTs

[Announcement of NFTs by Project X](https://github.com/XTLS/Xray-core/discussions/3633)

## License

[Mozilla Public License Version 2.0](https://github.com/amnezia-vpn/amnezia-xray-core/blob/main/LICENSE)
Expand All @@ -18,6 +22,8 @@

[Project X Channel](https://t.me/projectXtls)

[Project VLESS](https://t.me/projectVless) (non-Chinese)

## Installation

- Linux Script
Expand All @@ -26,12 +32,11 @@
- Docker
- [ghcr.io/xtls/xray-core](https://ghcr.io/xtls/xray-core) (**Official**)
- [teddysun/xray](https://hub.docker.com/r/teddysun/xray)
- Web Panel
- [X-UI-English](https://github.com/NidukaAkalanka/x-ui-english), [3X-UI](https://github.com/MHSanaei/3x-ui), [X-UI](https://github.com/alireza0/x-ui), [X-UI](https://github.com/diditra/x-ui)
- [Xray-UI](https://github.com/qist/xray-ui), [X-UI](https://github.com/sing-web/x-ui)
- [Hiddify](https://github.com/hiddify/hiddify-config)
- [wulabing/xray_docker](https://github.com/wulabing/xray_docker)
- Web Panel - **WARNING: Please DO NOT USE plain HTTP panels like 3X-UI**, as they are believed to be bribed by Iran GFW for supporting plain HTTP by default and refused to change (https://github.com/XTLS/Xray-core/pull/3884#issuecomment-2439595331), which has already put many users' data security in danger in the past few years. **If you are already using 3X-UI, please switch to the following panels, which are verified to support HTTPS and SSH port forwarding only:**
- [Marzban](https://github.com/Gozargah/Marzban)
- [Libertea](https://github.com/VZiChoushaDui/Libertea)
- [Xray-UI](https://github.com/qist/xray-ui)
- [Hiddify](https://github.com/hiddify/Hiddify-Manager)
- One Click
- [Xray-REALITY](https://github.com/zxcvos/Xray-script), [xray-reality](https://github.com/sajjaddg/xray-reality), [reality-ezpz](https://github.com/aleskxyz/reality-ezpz)
- [Xray_bash_onekey](https://github.com/hello-yunshu/Xray_bash_onekey), [XTool](https://github.com/LordPenguin666/XTool)
Expand Down Expand Up @@ -67,14 +72,12 @@
- [luci-app-xray](https://github.com/yichya/luci-app-xray) ([openwrt-xray](https://github.com/yichya/openwrt-xray))
- Windows
- [v2rayN](https://github.com/2dust/v2rayN)
- [NekoRay](https://github.com/Matsuridayo/nekoray)
- [Furious](https://github.com/LorenEteval/Furious)
- [HiddifyN](https://github.com/hiddify/HiddifyN)
- [Invisible Man - Xray](https://github.com/InvisibleManVPN/InvisibleMan-XRayClient)
- Android
- [v2rayNG](https://github.com/2dust/v2rayNG)
- [HiddifyNG](https://github.com/hiddify/HiddifyNG)
- [X-flutter](https://github.com/XTLS/X-flutter)
- [SaeedDev94/Xray](https://github.com/SaeedDev94/Xray)
- iOS & macOS arm64
- [FoXray](https://apps.apple.com/app/foxray/id6448898396)
- [Streisand](https://apps.apple.com/app/streisand/id6450534064)
Expand All @@ -85,7 +88,6 @@
- [FoXray](https://apps.apple.com/app/foxray/id6448898396)
- Linux
- [v2rayA](https://github.com/v2rayA/v2rayA)
- [NekoRay](https://github.com/Matsuridayo/nekoray)
- [Furious](https://github.com/LorenEteval/Furious)

## Others that support VLESS, XTLS, REALITY, XUDP, PLUX...
Expand All @@ -98,21 +100,15 @@
- [XTLS/libXray](https://github.com/XTLS/libXray)
- [xtlsapi](https://github.com/hiddify/xtlsapi)
- [AndroidLibXrayLite](https://github.com/2dust/AndroidLibXrayLite)
- [XrayKit](https://github.com/arror/XrayKit)
- [Xray-core-python](https://github.com/LorenEteval/Xray-core-python)
- [xray-api](https://github.com/XVGuardian/xray-api)
- [XrayR](https://github.com/XrayR-project/XrayR)
- [XrayR-release](https://github.com/XrayR-project/XrayR-release)
- [XrayR-V2Board](https://github.com/missuo/XrayR-V2Board)
- [Clash.Meta](https://github.com/MetaCubeX/Clash.Meta)
- [Clash Verge](https://github.com/zzzgydi/clash-verge)
- [clashN](https://github.com/2dust/clashN)
- [Clash Meta for Android](https://github.com/MetaCubeX/ClashMetaForAndroid)
- [meta_for_ios](https://t.me/meta_for_ios)
- [sing-box](https://github.com/SagerNet/sing-box)
- [installReality](https://github.com/BoxXt/installReality)
- [sbox-reality](https://github.com/Misaka-blog/sbox-reality)
- [sing-box-for-ios](https://github.com/SagerNet/sing-box-for-ios)

## Contributing

Expand Down
13 changes: 6 additions & 7 deletions app/commander/commander.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package commander

//go:generate go run github.com/amnezia-vpn/amnezia-xray-core/common/errors/errorgen

import (
"context"
"net"
"sync"

"github.com/amnezia-vpn/amnezia-xray-core/common"
"github.com/amnezia-vpn/amnezia-xray-core/common/errors"
"github.com/amnezia-vpn/amnezia-xray-core/common/signal/done"
core "github.com/amnezia-vpn/amnezia-xray-core/core"
"github.com/amnezia-vpn/amnezia-xray-core/features/outbound"
Expand Down Expand Up @@ -46,7 +45,7 @@ func NewCommander(ctx context.Context, config *Config) (*Commander, error) {
}
service, ok := rawService.(Service)
if !ok {
return nil, newError("not a Service.")
return nil, errors.New("not a Service.")
}
c.services = append(c.services, service)
}
Expand All @@ -70,16 +69,16 @@ func (c *Commander) Start() error {

var listen = func(listener net.Listener) {
if err := c.server.Serve(listener); err != nil {
newError("failed to start grpc server").Base(err).AtError().WriteToLog()
errors.LogErrorInner(context.Background(), err, "failed to start grpc server")
}
}

if len(c.listen) > 0 {
if l, err := net.Listen("tcp", c.listen); err != nil {
newError("API server failed to listen on ", c.listen).Base(err).AtError().WriteToLog()
errors.LogErrorInner(context.Background(), err, "API server failed to listen on ", c.listen)
return err
} else {
newError("API server listening on ", l.Addr()).AtInfo().WriteToLog()
errors.LogInfo(context.Background(), "API server listening on ", l.Addr())
go listen(l)
}
return nil
Expand All @@ -93,7 +92,7 @@ func (c *Commander) Start() error {
go listen(listener)

if err := c.ohm.RemoveHandler(context.Background(), c.tag); err != nil {
newError("failed to remove existing handler").WriteToLog()
errors.LogInfoInner(context.Background(), err, "failed to remove existing handler")
}

return c.ohm.AddHandler(context.Background(), &Outbound{
Expand Down
Loading
Loading