mirror of
https://mirror.suhoan.cn/https://github.com/EasyTier/EasyTier.git
synced 2025-12-12 04:37:23 +08:00
fix data not encrypted when no tun is enabled
This commit is contained in:
2
.github/workflows/gui.yml
vendored
2
.github/workflows/gui.yml
vendored
@@ -115,7 +115,7 @@ jobs:
|
|||||||
sudo apt install aptitude
|
sudo apt install aptitude
|
||||||
sudo aptitude install -y libgstreamer1.0-0:arm64 gstreamer1.0-plugins-base:arm64 gstreamer1.0-plugins-good:arm64 \
|
sudo aptitude install -y libgstreamer1.0-0:arm64 gstreamer1.0-plugins-base:arm64 gstreamer1.0-plugins-good:arm64 \
|
||||||
libgstreamer-gl1.0-0:arm64 libgstreamer-plugins-base1.0-0:arm64 libgstreamer-plugins-good1.0-0:arm64 libwebkit2gtk-4.1-0:arm64 \
|
libgstreamer-gl1.0-0:arm64 libgstreamer-plugins-base1.0-0:arm64 libgstreamer-plugins-good1.0-0:arm64 libwebkit2gtk-4.1-0:arm64 \
|
||||||
libwebkit2gtk-4.1-dev:arm64 libssl-dev:arm64 gcc-aarch64-linux-gnu
|
libwebkit2gtk-4.1-dev:arm64 libssl-dev:arm64 gcc-aarch64-linux-gnu libsoup-3.0-dev:arm64 libjavascriptcoregtk-4.1-dev:arm64
|
||||||
echo "PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/" >> "$GITHUB_ENV"
|
echo "PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/" >> "$GITHUB_ENV"
|
||||||
echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/" >> "$GITHUB_ENV"
|
echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ impl IcmpProxy {
|
|||||||
tracing::warn!("peer manager is gone, icmp proxy send loop exit");
|
tracing::warn!("peer manager is gone, icmp proxy send loop exit");
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
let ret = pm.send_msg(msg, to_peer_id).await;
|
let ret = pm.send_msg_for_proxy(msg, to_peer_id).await;
|
||||||
if ret.is_err() {
|
if ret.is_err() {
|
||||||
tracing::error!("send icmp packet to peer failed: {:?}", ret);
|
tracing::error!("send icmp packet to peer failed: {:?}", ret);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ async fn handle_kcp_output(
|
|||||||
let mut packet = ZCPacket::new_with_payload(&packet.inner().freeze());
|
let mut packet = ZCPacket::new_with_payload(&packet.inner().freeze());
|
||||||
packet.fill_peer_manager_hdr(peer_mgr.my_peer_id(), dst_peer_id, packet_type);
|
packet.fill_peer_manager_hdr(peer_mgr.my_peer_id(), dst_peer_id, packet_type);
|
||||||
|
|
||||||
if let Err(e) = peer_mgr.send_msg(packet, dst_peer_id).await {
|
if let Err(e) = peer_mgr.send_msg_for_proxy(packet, dst_peer_id).await {
|
||||||
tracing::error!("failed to send kcp packet to peer: {:?}", e);
|
tracing::error!("failed to send kcp packet to peer: {:?}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -305,8 +305,7 @@ impl Socks5ServerNet {
|
|||||||
tracing::error!("send to smoltcp stack failed: {:?}", e);
|
tracing::error!("send to smoltcp stack failed: {:?}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tracing::error!("smoltcp stack sink exited");
|
tracing::warn!("smoltcp stack sink exited");
|
||||||
panic!("smoltcp stack sink exited");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
forward_tasks.spawn(async move {
|
forward_tasks.spawn(async move {
|
||||||
@@ -327,8 +326,7 @@ impl Socks5ServerNet {
|
|||||||
tracing::error!("send to peer failed in smoltcp sender: {:?}", e);
|
tracing::error!("send to peer failed in smoltcp sender: {:?}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tracing::error!("smoltcp stack stream exited");
|
tracing::warn!("smoltcp stack stream exited");
|
||||||
panic!("smoltcp stack stream exited");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let interface_config = smoltcp::iface::Config::new(smoltcp::wire::HardwareAddress::Ip);
|
let interface_config = smoltcp::iface::Config::new(smoltcp::wire::HardwareAddress::Ip);
|
||||||
|
|||||||
@@ -443,7 +443,7 @@ impl UdpProxy {
|
|||||||
hdr.set_latency_first(is_latency_first);
|
hdr.set_latency_first(is_latency_first);
|
||||||
let to_peer_id = hdr.to_peer_id.into();
|
let to_peer_id = hdr.to_peer_id.into();
|
||||||
tracing::trace!(?msg, ?to_peer_id, "udp nat packet response send");
|
tracing::trace!(?msg, ?to_peer_id, "udp nat packet response send");
|
||||||
let ret = peer_manager.send_msg(msg, to_peer_id).await;
|
let ret = peer_manager.send_msg_for_proxy(msg, to_peer_id).await;
|
||||||
if ret.is_err() {
|
if ret.is_err() {
|
||||||
tracing::error!("send icmp packet to peer failed: {:?}", ret);
|
tracing::error!("send icmp packet to peer failed: {:?}", ret);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -995,11 +995,21 @@ impl PeerManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn send_msg(&self, msg: ZCPacket, dst_peer_id: PeerId) -> Result<(), Error> {
|
pub async fn send_msg_for_proxy(
|
||||||
|
&self,
|
||||||
|
mut msg: ZCPacket,
|
||||||
|
dst_peer_id: PeerId,
|
||||||
|
) -> Result<(), Error> {
|
||||||
self.self_tx_counters
|
self.self_tx_counters
|
||||||
.self_tx_bytes
|
.compress_tx_bytes_before
|
||||||
.add(msg.buf_len() as u64);
|
.add(msg.buf_len() as u64);
|
||||||
self.self_tx_counters.self_tx_packets.inc();
|
|
||||||
|
Self::try_compress_and_encrypt(self.data_compress_algo, &self.encryptor, &mut msg).await?;
|
||||||
|
|
||||||
|
self.self_tx_counters
|
||||||
|
.compress_tx_bytes_after
|
||||||
|
.add(msg.buf_len() as u64);
|
||||||
|
|
||||||
let msg_len = msg.buf_len() as u64;
|
let msg_len = msg.buf_len() as u64;
|
||||||
let result =
|
let result =
|
||||||
Self::send_msg_internal(&self.peers, &self.foreign_network_client, msg, dst_peer_id)
|
Self::send_msg_internal(&self.peers, &self.foreign_network_client, msg, dst_peer_id)
|
||||||
|
|||||||
Reference in New Issue
Block a user