2018-07-23 22:18:15 -04:00
|
|
|
-----BEGIN PGP SIGNED MESSAGE-----
|
|
|
|
Hash: SHA256
|
|
|
|
|
2018-07-26 17:50:46 -04:00
|
|
|
# sam-forwarder
|
2018-08-16 13:46:22 -04:00
|
|
|
Forward a local port to i2p over the SAM API, or proxy a destination to a port
|
|
|
|
on the local host. This is a work-in-progress, but the basic functionality is,
|
2018-08-16 17:25:01 -04:00
|
|
|
there and it's already pretty useful. Everything TCP works, but UDP forwarding
|
|
|
|
is still not well tested, and UDP clients aren't enabled yet. I'm out of excuses
|
|
|
|
not to finish it now, too.
|
2018-07-23 22:18:15 -04:00
|
|
|
|
|
|
|
## building
|
|
|
|
Just:
|
|
|
|
|
|
|
|
make deps build
|
|
|
|
|
|
|
|
and it will be in the folder ./bin/
|
|
|
|
|
2018-07-28 10:17:32 -04:00
|
|
|
[](https://travis-ci.org/eyedeekay/sam-forwarder)
|
|
|
|
|
2018-09-13 20:01:57 -04:00
|
|
|
## [usage/configuration](USAGE.md)
|
2018-07-28 03:51:05 -04:00
|
|
|
|
2018-09-12 23:58:25 -04:00
|
|
|
## binaries
|
|
|
|
|
|
|
|
Two binaries are produced by this repo. The first, ephsite, is only capable
|
|
|
|
of running one tunnel at a time. The second, samcatd, is more advanced. It can
|
|
|
|
start multiple tunnels with their own settings, or be used to start tunnels on
|
2018-09-13 20:01:57 -04:00
|
|
|
the fly like ephsite by passing the -s option. Eventually I'm probably just
|
|
|
|
going to use this to configure all of my tunnels.
|
2018-07-30 21:06:05 -04:00
|
|
|
|
|
|
|
Current limitations:
|
|
|
|
====================
|
|
|
|
|
2018-09-13 20:01:57 -04:00
|
|
|
I need to document it better.
|
2018-09-13 22:13:44 -04:00
|
|
|
[Besides fixing up the comments, this should help for now.](USAGE.md). I also
|
|
|
|
need to control output verbosity better.
|
2018-09-12 16:52:50 -04:00
|
|
|
|
|
|
|
TCP is working very well. HTTP mode also exists, which just adds the X-I2P-DEST
|
|
|
|
headers in. It does this both ways, for applying the dest headers inbound to
|
|
|
|
identify clients to the server and outbound to identify servers to clients.
|
|
|
|
DestHash's don't get added correctly due to a bug in sam3 I think? I'm working
|
|
|
|
on making sure that's what it is. Datagrams are still a work-in-progress.
|
|
|
|
They're enabled, but I don't know for sure how well they'll work yet.
|
2018-07-30 22:01:05 -04:00
|
|
|
|
2018-08-16 12:11:09 -04:00
|
|
|
I'm in the process of adding client proxying to a specific i2p destination by
|
2018-08-17 11:08:26 -04:00
|
|
|
base32 or (pre-added)jump address. TCP works well. UDP exists, but is not
|
|
|
|
thoroughly tested.
|
2018-08-16 12:11:09 -04:00
|
|
|
|
2018-07-30 22:01:05 -04:00
|
|
|
I've only enabled the use of a subset of the i2cp and tunnel configuration
|
|
|
|
options, the ones I use the most and for no other real reason assume other
|
|
|
|
people use the most. They're pretty easy to add, it's just boring. *If you*
|
|
|
|
*want an i2cp or tunnel option that isn't available, bring it to my attention*
|
|
|
|
*please.* I'm pretty responsive when people actually contact me, it'll probably
|
2018-09-13 20:15:42 -04:00
|
|
|
be added within 24 hours. I intend to have configuration options for all
|
|
|
|
relevant i2cp and tunnel options, which I'm keeping track of
|
2018-09-13 22:13:44 -04:00
|
|
|
[here](config/CHECKLIST.md). In particular, *Encrypted leasesets are only*
|
|
|
|
*half-implemented. The option seems to do nothing at the moment. Soon it will*
|
|
|
|
*be configurable.*
|
2018-08-01 22:25:13 -04:00
|
|
|
|
2018-07-30 22:01:05 -04:00
|
|
|
I should probably have some options that are available in other general network
|
2018-09-13 20:01:57 -04:00
|
|
|
utilities. I've started to do this with samcatd.
|
2018-07-30 22:01:05 -04:00
|
|
|
|
2018-08-08 16:13:09 -04:00
|
|
|
I want it to be able to save ini files based on the settings used for a running
|
|
|
|
forwarder. Should be easy, I just need to decide how I want to do it. Also to
|
|
|
|
focus a bit more.
|
|
|
|
|
2018-09-12 16:52:50 -04:00
|
|
|
Example tools built using this are being broken off into their own repos. Use
|
|
|
|
the other repos where appropriate, so I can leave the examples un-messed with.
|
2018-08-08 23:29:26 -04:00
|
|
|
|
2018-08-16 12:11:09 -04:00
|
|
|
It would be really awesome if I could make this run on Android. So I'll make
|
2018-09-12 16:52:50 -04:00
|
|
|
that happen eventually. I started a daemon for managing multiple tunnels and I
|
2018-09-13 20:01:57 -04:00
|
|
|
figure I give it a web interface to configure stuff with. I'll probably put that
|
|
|
|
in a different repo though. This is looking a little cluttered.
|
2018-08-22 22:59:04 -04:00
|
|
|
|
2018-09-12 16:52:50 -04:00
|
|
|
TLS configuration is experimental.
|
2018-09-13 20:01:57 -04:00
|
|
|
|
|
|
|
I'm eventually going to make the manager implement net.Conn. This won't be
|
2018-09-13 20:15:42 -04:00
|
|
|
exposed in the default application probably though, but rather as a library.
|
2018-07-23 22:18:15 -04:00
|
|
|
-----BEGIN PGP SIGNATURE-----
|
|
|
|
|
2018-09-13 23:31:18 -04:00
|
|
|
iQEzBAEBCAAdFiEEcNIGBzi++AUjrK/311wDs5teFOEFAlubK4YACgkQ11wDs5te
|
|
|
|
FOHiEwf7BAF8gNVxdfwTc+ZzLsvBvlaRXxnTapf8/k36iAmSlyB5SAbBGqhT8ulF
|
|
|
|
H+4r/hJ8KDBXzATeaBdNaG88nVEC1T8Y0r+wVP6o2Fbj/JVkHPIP085kwAHZFzXl
|
|
|
|
MIAwPj3yIbDgGkwC/KpBe5knZlBVsSzgfkn6Jv6pNtlOTa5Ob0TbUHSp738qcRmy
|
|
|
|
l3l9pZPRwxEwAkfIUYAXfO5DjxGmxdFp9un86eC+WhNWmt+H6HSfwqU9L69SCOT0
|
|
|
|
8yZ4dJaxdPpY/Z4mJBAuLLCrQH7yMKkzQfl+HOm8zMZ/ElAOiXkJfE6WGzH7f3X7
|
|
|
|
VKzIy1k0A9SU9TUHjyp1vr2T34DiSQ==
|
|
|
|
=xY3H
|
2018-07-23 22:18:15 -04:00
|
|
|
-----END PGP SIGNATURE-----
|