mirror of
https://github.com/shadowsocks/shadowsocks-rust.git
synced 2026-11-06 08:14:07 +00:00
chore: fix typos
This commit is contained in:
@@ -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
|
||||
|
||||
+3
-3
@@ -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(),
|
||||
)?;
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -77,7 +77,7 @@ impl Debug for ServerScore {
|
||||
}
|
||||
}
|
||||
|
||||
/// Identifer for a server
|
||||
/// Identifier for a server
|
||||
#[derive(Debug)]
|
||||
pub struct ServerIdent {
|
||||
tcp_score: ServerScore,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
@@ -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)`
|
||||
|
||||
Vendored
+7
-7
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user