Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
클라이언트가 하나의 QUIC 연결만 열어 서비스가 인바운드 연결 없이도 동작
The client opens one outbound QUIC connection to the server, so the network holding the services needs no inbound connectivity: no port forwarding, no public address, no firewall rules for incoming tr
개발 도구Rust · AstroGitHub @andriykohut온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Reverse TCP and UDP tunnel over QUIC with Ed25519 authentication
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗hawse publishes TCP and UDP services on a server's ports. The client opens one outbound QUIC connection to the server, so the network holding the services needs no inbound connectivity: no port forwarding, no public address, no firewall rules for incoming traffic.
The server listens on the configured ports and relays what arrives on them over that connection, to an address the client can reach. It needs an address that its clients and their visitors can reach, which is usually a public one but does not have to be.
Both ends authenticate with Ed25519 keys inside TLS 1.3. The client pins the server's public key. The server holds a list of client keys and the ports each client may bind.
Working today, with TCP and UDP forwarding and key-based authorization:
autossh -R, which needs an account on the public box and reconnects only as
well as the wrapper around it. Here the public server never gets shell access,
and reconnection is part of the client.local can name any host the client
reaches, a single client can publish services running on several machines
beside it.allow limits a service to the networks
you list, and the server turns everyone else away. See
Configuration.transport.prefer = "tcp" asks for
that outright.port = "51820/udp" exposes a UDP
service. Read the note on UDP under
Configuration first: a
payload too large for one QUIC datagram is carried differently.Waiting on features that are not implemented yet:
TCP and UDP forwarding work, with fixed or dynamically assigned public ports.
0.5.0 changed the wire format. A 0.5.0 end does not talk to an older one, and a 0.5.0 client says so when it meets one: upgrade the server and its clients together.
Besides the features named above, the expose subcommand is not implemented
either.
The issues list everything that
is planned or deliberately deferred.
Each release has a static binary
for x86_64, aarch64 and armv7 Linux, and one for Apple Silicon macOS. The archive
holds the binary, its licenses, THIRD-PARTY-LICENSES.txt for the crates
compiled into it, and the systemd units from contrib/.
install.sh picks the archive for the machine it runs on from the latest
release, checks it against SHA256SUMS and installs the binary to
/usr/local/bin:
curl -fsSL https://raw.githubusercontent.com/andriykohut/hawse/main/install.sh | sh
The documentation has the other ways to install it, and usage, configuration and logging.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.