Compare commits

..

28 Commits

Author SHA1 Message Date
世界
0566ed9e22 documentation: Bump version 2023-12-26 10:52:47 +08:00
世界
9250c41aa2 documentation: Update package managers 2023-12-26 10:52:47 +08:00
世界
c2b71dac82 Remove unnecessary context wrappers 2023-12-26 10:52:47 +08:00
世界
bca531b6d2 Improve read wait interface &
Refactor Authenticator interface to struct &
Update smux &
Update gVisor to 20231204.0 &
Update wireguard-go &
Add GSO support for TUN/WireGuard &
Fix router pre-start &
Fix bind forwarder to interface for systems stack
2023-12-26 10:52:47 +08:00
世界
2958e3b779 Make generated files have SUDO_USER's permissions if possible. 2023-12-26 10:52:47 +08:00
世界
c85dddb704 Refactor inbound/outbound options struct 2023-12-26 10:52:47 +08:00
世界
773408f159 Improve configuration merge 2023-12-26 10:52:47 +08:00
世界
1c6a4111f1 Update uTLS to 1.5.4 2023-12-26 10:52:47 +08:00
世界
d480353c49 Update tfo-go 2023-12-26 10:52:47 +08:00
世界
10b7136b4d Update gomobile and add tag 2023-12-26 10:52:47 +08:00
世界
5d38d4f46b Update cloudflare-tls to go1.21.5 2023-12-26 10:52:47 +08:00
世界
b74cbf4c60 Make type check strict 2023-12-26 10:52:47 +08:00
世界
dca899ca37 Remove comparable limit for Listable 2023-12-26 10:52:46 +08:00
世界
453f943614 Avoid opening log output before start &
Replace tracing logs with task monitor
2023-12-26 10:52:46 +08:00
世界
23d5218377 Update documentation 2023-12-26 10:52:46 +08:00
世界
566803da88 Add idle_timeout for URLTest outbound 2023-12-26 10:52:46 +08:00
世界
0b5743b8e0 Skip internal fake-ip queries 2023-12-26 10:52:46 +08:00
世界
c8bd736f9c Migrate contentjson and badjson to library &
Add omitempty in format
2023-12-26 10:52:46 +08:00
世界
bd8533d540 Update documentation 2023-12-26 10:52:46 +08:00
世界
0fda6cd658 Independent source_ip_is_private and ip_is_private rules 2023-12-26 10:52:46 +08:00
世界
c952512f01 Add rule-set 2023-12-26 10:52:46 +08:00
世界
c77aae899c Update buffer usage 2023-12-26 10:52:46 +08:00
世界
76c3092944 Allow nested logical rules 2023-12-26 10:52:46 +08:00
世界
36b8fcd029 Migrate to independent cache file 2023-12-26 10:52:46 +08:00
世界
f5bb5cf343 Fix missing marshal for udp_timeout 2023-12-26 10:52:46 +08:00
世界
3eed614dea Fix ACME ALPN conflict 2023-12-26 09:02:58 +08:00
世界
76a295a660 Fix missing nil check for URLTest 2023-12-26 09:02:58 +08:00
世界
082e3fb8df Fix V2Ray transport path validation behavior 2023-12-26 09:02:58 +08:00
3 changed files with 12 additions and 7 deletions

View File

@@ -2,7 +2,7 @@
icon: material/alert-decagram
---
#### 1.8.0-rc.5
#### 1.8.0-rc.6
* Fixes and improvements

View File

@@ -122,14 +122,18 @@ type ListenOptions struct {
type UDPTimeoutCompat Duration
func (u *UDPTimeoutCompat) UnmarshalJSON(data []byte) error {
func (c UDPTimeoutCompat) MarshalJSON() ([]byte, error) {
return json.Marshal((time.Duration)(c).String())
}
func (c *UDPTimeoutCompat) UnmarshalJSON(data []byte) error {
var valueNumber int64
err := json.Unmarshal(data, &valueNumber)
if err == nil {
*u = UDPTimeoutCompat(time.Second * time.Duration(valueNumber))
*c = UDPTimeoutCompat(time.Second * time.Duration(valueNumber))
return nil
}
return json.Unmarshal(data, (*Duration)(u))
return json.Unmarshal(data, (*Duration)(c))
}
type ListenOptionsWrapper interface {

View File

@@ -29,7 +29,7 @@ type Client struct {
serverAddr M.Socksaddr
transport http.RoundTripper
http2 bool
url *url.URL
requestURL url.URL
host []string
method string
headers http.Header
@@ -81,6 +81,7 @@ func NewClient(ctx context.Context, dialer N.Dialer, serverAddr M.Socksaddr, opt
ctx: ctx,
dialer: dialer,
serverAddr: serverAddr,
requestURL: requestURL,
host: options.Host,
method: options.Method,
headers: options.Headers.Build(),
@@ -105,7 +106,7 @@ func (c *Client) dialHTTP(ctx context.Context) (net.Conn, error) {
request := &http.Request{
Method: c.method,
URL: c.url,
URL: &c.requestURL,
Header: c.headers.Clone(),
}
switch hostLen := len(c.host); hostLen {
@@ -125,7 +126,7 @@ func (c *Client) dialHTTP2(ctx context.Context) (net.Conn, error) {
request := &http.Request{
Method: c.method,
Body: pipeInReader,
URL: c.url,
URL: &c.requestURL,
Header: c.headers.Clone(),
}
request = request.WithContext(ctx)