Skip to content

izissise/raconn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raconn

raconn takes hostnames and ips has arguments and will spawn threads to concurrenctly connects to all them, keeping the first successful connection and then pipe bytes through stdin/stdout.

It is written in C using cosmopolitan libc, some of the reason listed here:

  • Run on all major oses with one binary
  • Static binary
  • Easy 'C' development thanks to sane api defaults
  • Debug enviroment included

Debug

raconn --ftrace and ssh -vvv if using with ssh.

Example usage

  1. You have a server with two ifaces one used for failover if you specify both ip to raconn, even in a failover situation your ssh command will succeed by connecting through the second iface and ip.
# ssh ip4failover
Host ip4failover
  ProxyCommand raconn %p 233.252.3.1 233.252.4.1
  Port 22
  User admin
  1. You have a machine that is accessible on your local network and from the outside you only known the machine MAC address and its domain name which resolve to a WAN ip. Locally your are connected through both wifi and ethernet.
# ssh machine
Host machine.company
  ProxyCommand raconn %p machine.company.net 00:00:07:cf:10:0a
  Port 22
  User admin
  1. You're trying to figuring out something and raconn is getting in the way.
# ssh -oProxyCommand=none machine
Host machine
  ProxyCommand raconn %p 2a00:1450:4007:81a::200e fe80::9e4f:642a:15c2:aad7
  Hostname 192.168.1.2 # this still works but is ignored when using ProxyCommand
  Port 22
  User admin

Todo

  • mDns support

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published