This is a tool for automatically connecting to SSH Servers and SSH-based
Services which are hosted on
.i2p
and
.onion
resources. Given an .i2p
or .onion host, it will dial out using their respective sockets. It is
used to make managing many
.i2p
or
.onion
-hosted SSH services easier
by natively handling the
known_hosts
file and automatically handling
proxy setup and client key-management for services which use blocklisting
and allowlisting facilities provided by the hidden services, or even more
sophisticated features like Encrypted LeaseSets. As a fringe benefit,
when addressing services by their cryptographic identifiers(i.e. the
.b32.i2p
or
.onion
domains) there is no chance of impersonation.
Eventually, it will implement a drop-in replacement for a real SSH client
so it can be used as a ProxyCommand or as part of a
.i2p
or
.onion
only
selfhosted workflow.
What’s in this repository:
# a terminal SSH client - interface is *UNSTABLE*, forked from goph
# for modification
./cmd/darkssh
# a slightly-modified version of melbahja/goph, which automatically
# configures itself for I2P and Tor Transports
./goph
# implementations of the required interfaces for x/crypto/ssh
./
The goal is to be exactly compatible with any other SSH client, so things that proxy commands to SSH, like rsync or SSHFS, can use it instead when someone wants to use such a tool over Tor or I2P.
Eventually, an SSH server will also be implemented.
MIT License
Copyright (c) 2020 idk
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Hide license