diff --git a/README.md b/README.md index 11cb2f9b..b42da91a 100644 --- a/README.md +++ b/README.md @@ -1026,17 +1026,17 @@ These Ciphers require `"password"` to be a Base64 string of key that have **exac - For local servers (`sslocal`, `ssredir`, ...) - Modes: - - `[bypass_all]` - ACL runs in `WhiteList` mode. Bypasses all addresses except those matched any rules. - - `[proxy_all]` - ACL runs in `BlackList` mode. Proxies all addresses except those matched any rules. (default) + - `[bypass_all]` - ACL runs in `WhiteList` mode. Bypasses all addresses except those matching any rules. + - `[proxy_all]` - ACL runs in `BlackList` mode. Proxies all addresses except those matching any rules. (default) - Rules: - `[bypass_list]` - Rules for connecting directly - `[proxy_list]` - Rules for connecting through proxies - For remote servers (`ssserver`) - Modes: - - `[reject_all]` - ACL runs in `WhiteList` mode. Rejects all clients except those matched any rules. - - `[accept_all]` - ACL runs in `BlackList` mode. Accepts all clients except those matched any rules. (default) - - `[outbound_block_all]` - Outbound ACL runs in `WhiteList` mode. Blockes all outbound addresses except those matched any rules. - - `[outbound_allow_all]` - Outbound ACL runs in `BlackList` mode. Allows all outbound addresses except those matched any rules. (default) + - `[reject_all]` - ACL runs in `WhiteList` mode. Rejects all clients except those matching any rules. + - `[accept_all]` - ACL runs in `BlackList` mode. Accepts all clients except those matching any rules. (default) + - `[outbound_block_all]` - Outbound ACL runs in `WhiteList` mode. Blocks all outbound addresses except those matching any rules. + - `[outbound_allow_all]` - Outbound ACL runs in `BlackList` mode. Allows all outbound addresses except those matching any rules. (default) - Rules: - `[white_list]` - Rules for accepted clients - `[black_list]` - Rules for rejected clients diff --git a/bin/sswinservice.rs b/bin/sswinservice.rs index 2cf8d6b2..04cf73e5 100644 --- a/bin/sswinservice.rs +++ b/bin/sswinservice.rs @@ -21,7 +21,7 @@ use windows_service::{ const SERVICE_NAME: &str = "ssservice"; const SERVICE_EXIT_CODE_ARGUMENT_ERROR: u32 = 100; -const SERVICE_EXIT_CODE_EXITED_UNEXPECTLY: u32 = 101; +const SERVICE_EXIT_CODE_EXITED_UNEXPECTEDLY: u32 = 101; const SERVICE_EXIT_CODE_CREATE_FAILED: u32 = 102; #[inline] @@ -84,7 +84,7 @@ where break true; } exit_code = main_fut => { - info!("service exited unexpectly with code: {:?}", exit_code); + info!("service exited unexpectedly with code: {:?}", exit_code); break false; } } @@ -98,7 +98,7 @@ where if exited_by_ctrl { ServiceExitCode::Win32(0) } else { - ServiceExitCode::ServiceSpecific(SERVICE_EXIT_CODE_EXITED_UNEXPECTLY) + ServiceExitCode::ServiceSpecific(SERVICE_EXIT_CODE_EXITED_UNEXPECTEDLY) }, Duration::default(), )?; diff --git a/crates/shadowsocks-service/src/acl/mod.rs b/crates/shadowsocks-service/src/acl/mod.rs index 494bbbd6..2847fbcf 100644 --- a/crates/shadowsocks-service/src/acl/mod.rs +++ b/crates/shadowsocks-service/src/acl/mod.rs @@ -619,8 +619,8 @@ impl AccessControl { // If no domain name rules matched, // we need to resolve the hostname to IP addresses - // If mode is BlackList, host is allowed by default. If any of its' resolved IPs in outboud_block, then it is blocked. - // If mode is WhiteList, host is blocked by default. If any of its' resolved IPs in outbound_allow, then it is allowed. + // If mode is BlackList, host is allowed by default. If any of its resolved IPs is in outbound_block, then it is blocked. + // If mode is WhiteList, host is blocked by default. If any of its resolved IPs is in outbound_allow, then it is allowed. let (check_rule, block_if_matched) = match self.outbound_mode { Mode::BlackList => (&self.outbound_block, true), Mode::WhiteList => (&self.outbound_allow, false), diff --git a/crates/shadowsocks-service/src/local/dns/server.rs b/crates/shadowsocks-service/src/local/dns/server.rs index 8429bf03..72e6a2f5 100644 --- a/crates/shadowsocks-service/src/local/dns/server.rs +++ b/crates/shadowsocks-service/src/local/dns/server.rs @@ -883,7 +883,7 @@ impl DnsClient { .map_err(From::from) } Mode::TcpAndUdp => { - // Query TCP & UDP simutaneously + // Query TCP & UDP simultaneously let message2 = message.clone(); let tcp_fut = async { @@ -952,7 +952,7 @@ impl DnsClient { self.client_cache .lookup_local(ns, message.clone(), self.context.connect_opts_ref(), true); let tcp_query = async move { - // Send TCP query after 500ms, because UDP will always return faster than TCP, there is no need to send queries simutaneously + // Send TCP query after 500ms, because UDP will always return faster than TCP, there is no need to send queries simultaneously time::sleep(Duration::from_millis(500)).await; self.client_cache diff --git a/crates/shadowsocks-service/src/local/loadbalancing/server_data.rs b/crates/shadowsocks-service/src/local/loadbalancing/server_data.rs index 0a9a2dbe..1777a1b8 100644 --- a/crates/shadowsocks-service/src/local/loadbalancing/server_data.rs +++ b/crates/shadowsocks-service/src/local/loadbalancing/server_data.rs @@ -77,7 +77,7 @@ impl Debug for ServerScore { } } -/// Identifer for a server +/// Identifier for a server #[derive(Debug)] pub struct ServerIdent { tcp_score: ServerScore, diff --git a/crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs b/crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs index 5e79b665..006da6ca 100644 --- a/crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs +++ b/crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs @@ -90,7 +90,7 @@ impl ServerStat { // Normalize stdev // let nstdev = self.data.latency_stdev / self.max_latency_stdev; - // Mormalize mad + // Normalize mad let nmad = self.data.latency_mad as f64 / self.max_server_rtt as f64; const SCORE_RTT_WEIGHT: f64 = 1.0; diff --git a/crates/shadowsocks-service/src/local/online_config/mod.rs b/crates/shadowsocks-service/src/local/online_config/mod.rs index 9a4dd01f..2be821a8 100644 --- a/crates/shadowsocks-service/src/local/online_config/mod.rs +++ b/crates/shadowsocks-service/src/local/online_config/mod.rs @@ -128,7 +128,7 @@ impl OnlineConfigService { } }; - trace!("sever-loader task fetch response: {:?}", rsp); + trace!("server-loader task fetch response: {:?}", rsp); let fetch_time = Instant::now(); diff --git a/crates/shadowsocks-service/src/local/redir/udprelay/mod.rs b/crates/shadowsocks-service/src/local/redir/udprelay/mod.rs index 02da0556..21a0d7fb 100644 --- a/crates/shadowsocks-service/src/local/redir/udprelay/mod.rs +++ b/crates/shadowsocks-service/src/local/redir/udprelay/mod.rs @@ -260,7 +260,7 @@ impl RedirUdpServer { } peer_addr_opt = keepalive_rx.recv() => { - let peer_addr = peer_addr_opt.expect("keep-alive channel closed unexpectly"); + let peer_addr = peer_addr_opt.expect("keep-alive channel closed unexpectedly"); manager.keep_alive(&peer_addr).await; } diff --git a/crates/shadowsocks-service/src/local/socks/server/socks5/udprelay.rs b/crates/shadowsocks-service/src/local/socks/server/socks5/udprelay.rs index d0c95d81..ad605c14 100644 --- a/crates/shadowsocks-service/src/local/socks/server/socks5/udprelay.rs +++ b/crates/shadowsocks-service/src/local/socks/server/socks5/udprelay.rs @@ -167,7 +167,7 @@ impl Socks5UdpServer { } peer_addr_opt = keepalive_rx.recv() => { - let peer_addr = peer_addr_opt.expect("keep-alive channel closed unexpectly"); + let peer_addr = peer_addr_opt.expect("keep-alive channel closed unexpectedly"); manager.keep_alive(&peer_addr).await; } diff --git a/crates/shadowsocks-service/src/local/tunnel/tcprelay.rs b/crates/shadowsocks-service/src/local/tunnel/tcprelay.rs index c387125f..55c410fc 100644 --- a/crates/shadowsocks-service/src/local/tunnel/tcprelay.rs +++ b/crates/shadowsocks-service/src/local/tunnel/tcprelay.rs @@ -133,7 +133,7 @@ async fn handle_tcp_client( let server = balancer.best_tcp_server(); let svr_cfg = server.server_config(); trace!( - "establishing tcp tunnel {} <-> {} through sever {} (outbound: {})", + "establishing tcp tunnel {} <-> {} through server {} (outbound: {})", peer_addr, forward_addr, svr_cfg.tcp_external_addr(), diff --git a/crates/shadowsocks-service/src/local/tunnel/udprelay.rs b/crates/shadowsocks-service/src/local/tunnel/udprelay.rs index bbc6a31a..bb9166ce 100644 --- a/crates/shadowsocks-service/src/local/tunnel/udprelay.rs +++ b/crates/shadowsocks-service/src/local/tunnel/udprelay.rs @@ -134,7 +134,7 @@ impl TunnelUdpServer { } peer_addr_opt = keepalive_rx.recv() => { - let peer_addr = peer_addr_opt.expect("keep-alive channel closed unexpectly"); + let peer_addr = peer_addr_opt.expect("keep-alive channel closed unexpectedly"); manager.keep_alive(&peer_addr).await; } diff --git a/crates/shadowsocks-service/src/local/utils.rs b/crates/shadowsocks-service/src/local/utils.rs index 10f5ad81..72cfa2b1 100644 --- a/crates/shadowsocks-service/src/local/utils.rs +++ b/crates/shadowsocks-service/src/local/utils.rs @@ -27,7 +27,7 @@ where { if shadow.is_proxied() { debug!( - "established tcp tunnel {} <-> {} through sever {} (outbound: {})", + "established tcp tunnel {} <-> {} through server {} (outbound: {})", peer_addr, target_addr, svr_cfg.tcp_external_addr(), diff --git a/crates/shadowsocks/src/config.rs b/crates/shadowsocks/src/config.rs index bedda615..23605a18 100644 --- a/crates/shadowsocks/src/config.rs +++ b/crates/shadowsocks/src/config.rs @@ -516,7 +516,7 @@ where #[cfg(feature = "stream-cipher")] CipherKind::SS_TABLE => { // TABLE cipher doesn't need key derivation. - // Reference implemenation: shadowsocks-libev, shadowsocks (Python) + // Reference implementation: shadowsocks-libev, shadowsocks (Python) let enc_key = password.clone().into_bytes().into_boxed_slice(); return Ok((password, enc_key, Vec::new())); } diff --git a/crates/shadowsocks/src/net/option.rs b/crates/shadowsocks/src/net/option.rs index 3e9d903b..35f24502 100644 --- a/crates/shadowsocks/src/net/option.rs +++ b/crates/shadowsocks/src/net/option.rs @@ -122,7 +122,7 @@ pub mod android { use sealed::sealed; use std::{fmt, io, os::unix::io::RawFd}; - /// Android VPN socket protect implemetation + /// Android VPN socket protect implementation #[sealed] pub trait SocketProtect { /// Protects the socket file descriptor by calling `VpnService.protect(fd)` diff --git a/debian/changelog b/debian/changelog index 46ecc131..e2ba21be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -440,11 +440,11 @@ shadowsocks-rust (1.15.0) unstable; urgency=medium - shadowsocks/shadowsocks-org#204 Remove `security-iv-printable-prefix` experimental feature - Upgrade [clap](https://crates.io/crates/clap) to v4.0. - - UDP association channel size shrinked to 1024, which could save a lot of memory for each associations + - UDP association channel size shrunk to 1024, which could save a lot of memory for each associations ## Enhancements - - #855 Properly handle IPv4-mapped-IPv6 addresses in UDP assocations + - #855 Properly handle IPv4-mapped-IPv6 addresses in UDP associations - `ssserver` always convert IPv4-mapped-IPv6 addresses to IPv4 in UDP respond target addresses - `sslocal` - `tun`, `socks5` always convert IPv4-mapped-IPv6 addresses to IPv4 @@ -476,11 +476,11 @@ shadowsocks-rust (1.14.0) unstable; urgency=medium ## Features - - Optimization: UDP associations managment removes unnecessary locks + - Optimization: UDP associations management removes unnecessary locks ## Breaking Changes - - `shadowsocks_service::local::net::udp::UdpAssociationManager::new` returns clean-up interval and keep-alive receiver. It is not recommended to use this directly in your Project, because the API may change occationally. + - `shadowsocks_service::local::net::udp::UdpAssociationManager::new` returns clean-up interval and keep-alive receiver. It is not recommended to use this directly in your Project, because the API may change occasionally. shadowsocks-rust (1.13.5) unstable; urgency=medium @@ -538,7 +538,7 @@ shadowsocks-rust (1.13.0) unstable; urgency=medium - When server start, the "check best" strategy starts after it receives enough data for estimating all servers' scores - #744 Refactored `local-tun`, using `smoltcp` as a user-space network stack - ## Miscelleneous + ## Miscellaneous - Upgrade [`clap`](https://crates.io/crates/clap) (the command-line argument handling library) to v3.0 - #739 Support K8S deployment @@ -569,7 +569,7 @@ shadowsocks-rust (1.12.4) unstable; urgency=medium - #694 UDP binds to dual-stack address (`::`) will detect `0.0.0.0` already in use automatically - Transparent Proxy (redir) local client will always set `IPV6_V6ONLY` for listeners that are listening on `::` - ## Miscelleneous + ## Miscellaneous - Deprecating `SS_LOG_VERBOSE_LEVEL` and `SS_LOG_WITHOUT_TIME` (introduced in [v1.12.3](https://github.com/shadowsocks/shadowsocks-rust/releases/tag/v1.12.3)) in flavor of configuring in the configuration file @@ -855,7 +855,7 @@ shadowsocks-rust (1.9.0) unstable; urgency=medium * Support setting SO_SNDBUF and SO_RCVBUF for TCP sockets * Support [SIP008](https://github.com/shadowsocks/shadowsocks-org/issues/89 "Online config") extend server fields server, server_port, remarks * Local DNS Relay - * Support sending TCP and UDP queries simutaneously + * Support sending TCP and UDP queries simultaneously * Support connection reusability * Remove mostly TCP timeout setting for tunnels, connections will only be killed if clients or servers close * Auto-reload DNS resolver configuration from /etc/resolv.conf on *NIX platforms.