Skip to content
This repository has been archived by the owner on Aug 27, 2023. It is now read-only.
/ quictun Public archive

quictun is a tool that allows the use of QUIC's useful features by wrapping a TCP session with QUIC. It can be used in conjunction with ssh to move networks without disconnecting.

License

Notifications You must be signed in to change notification settings

hrntknr/quictun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quictun

quictun is a tool that wraps a TCP session with QUIC to enable the use of QUIC's useful features.
QUIC has a function called "Connection Migration" that allows communication to continue even if the IP address changes.
quictun was created to use QUIC's Connection Migration in ssh to ensure that communication is not lost when switching between WiFi and Ethernet.

Quickstart

Server setting

  • This is an example of a systemd service.
$ cat /lib/systemd/system/quictun.service
[Unit]
Description=quictun
Documentation=https://github.com/hrntknr/quictun

[Service]
Restart=on-failure
ExecStart=/usr/local/bin/quictun --no-client-auth

[Install]
After=network.target

$ sudo systemctl daemon-reload
$ sudo systemctl enable --now quictun

Client setting

  • Add the following to $HOME/.ssh/config
Host *
  ProxyCommand quictun nc --no-client-auth {server_address}:2222 %h:%p

client mode

By using client mode, it works similar to the L option of ssh.

quictun client {server_address}:2222 8080:localhost:8080

Client Auth

If you disable --no-client-auth and start the server, ca/client certificate will be generated in the config directory.
Place the generated client certificate in the config directory of the PC you wish to use.
The config directory is as follows

OS path
macOS $HOME/Library/Application Support/net.hrntknr.quictun/
linux $HOME/.config/quictun/

Security notice

Do not expose servers using --no-client-auth to the outside world.
Your private network will be compromised or used as a stepping server.

About

quictun is a tool that allows the use of QUIC's useful features by wrapping a TCP session with QUIC. It can be used in conjunction with ssh to move networks without disconnecting.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages