2022-08-03 22:00:33 -04:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>
|
|
|
|
onramp
|
|
|
|
</title>
|
|
|
|
<meta name="author" content="eyedeekay" />
|
|
|
|
<meta name="description" content="onramp.git" />
|
|
|
|
<meta name="keywords" content="main" />
|
|
|
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
2022-08-28 13:39:00 -04:00
|
|
|
<link rel="stylesheet" type="text/css" href="showhider.css" />
|
2022-08-03 22:00:33 -04:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="navbar">
|
|
|
|
<a href="#shownav">
|
|
|
|
Show navigation
|
|
|
|
</a>
|
|
|
|
<div id="shownav">
|
|
|
|
<div id="hidenav">
|
|
|
|
<ul>
|
2022-08-29 01:00:51 -04:00
|
|
|
<li>
|
|
|
|
<a href="..">
|
|
|
|
Up one level ^
|
|
|
|
</a>
|
|
|
|
</li>
|
2022-08-03 22:00:33 -04:00
|
|
|
<li>
|
|
|
|
<a href="index.html">
|
|
|
|
index
|
|
|
|
</a>
|
|
|
|
</li>
|
2022-08-04 18:51:36 -04:00
|
|
|
<li>
|
|
|
|
<a href="DESC.html">
|
|
|
|
DESC
|
|
|
|
</a>
|
|
|
|
</li>
|
2022-08-03 22:00:33 -04:00
|
|
|
<li>
|
|
|
|
<a href="DOCS.html">
|
|
|
|
DOCS
|
|
|
|
</a>
|
|
|
|
</li>
|
2022-08-03 23:47:24 -04:00
|
|
|
<li>
|
|
|
|
<a href="EXAMPLE.html">
|
|
|
|
EXAMPLE
|
|
|
|
</a>
|
|
|
|
</li>
|
2022-08-03 22:00:33 -04:00
|
|
|
</ul>
|
|
|
|
<br>
|
|
|
|
<a href="#hidenav">
|
|
|
|
Hide Navigation
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<h1>
|
2022-08-28 13:39:00 -04:00
|
|
|
<a href="#onramp" rel="nofollow">
|
|
|
|
<span></span>
|
2022-08-03 22:00:33 -04:00
|
|
|
</a>
|
2022-08-28 13:39:00 -04:00
|
|
|
onramp
|
2022-08-03 22:00:33 -04:00
|
|
|
</h1>
|
|
|
|
<p>
|
2022-08-28 13:39:00 -04:00
|
|
|
High-level, easy-to-use listeners and clients for I2P and onion URL's from Go.
|
2022-08-03 23:47:24 -04:00
|
|
|
Provides only the most widely-used functions in a basic way. It expects nothing
|
2022-08-03 23:50:42 -04:00
|
|
|
from the users, an otherwise empty instance of the structs will listen and dial
|
2022-08-03 23:47:24 -04:00
|
|
|
I2P Streaming and Tor TCP sessions successfully.
|
2022-08-03 22:00:33 -04:00
|
|
|
</p>
|
2022-08-04 00:02:05 -04:00
|
|
|
<p>
|
2022-08-28 13:39:00 -04:00
|
|
|
In all cases, it assumes that keys are "persistent" in that they are managed
|
2022-08-04 00:02:05 -04:00
|
|
|
maintained between usages of the same application in the same configuration.
|
|
|
|
This means that hidden services will maintain their identities, and that clients
|
2022-08-28 13:39:00 -04:00
|
|
|
will always have the same return addresses. If you don't want this behavior,
|
|
|
|
make sure to delete the "keystore" when your app closes or when your application
|
2022-08-04 00:02:05 -04:00
|
|
|
needs to cycle keys by calling the
|
|
|
|
<code>
|
|
|
|
Garlic.DeleteKeys()
|
|
|
|
</code>
|
2022-08-04 18:18:02 -04:00
|
|
|
or
|
|
|
|
<code>
|
|
|
|
Onion.DeleteKeys()
|
|
|
|
</code>
|
2022-08-04 17:35:49 -04:00
|
|
|
function. For more information, check out the
|
|
|
|
<a href="http://pkg.go.dev/github.com/eyedeekay/onramp" rel="nofollow">
|
|
|
|
godoc
|
|
|
|
</a>
|
|
|
|
.
|
2022-08-04 00:02:05 -04:00
|
|
|
</p>
|
2022-08-04 18:13:05 -04:00
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<strong>
|
|
|
|
<a href="https://github.com/eyedeekay/onramp" rel="nofollow">
|
|
|
|
Source Code
|
|
|
|
</a>
|
|
|
|
</strong>
|
|
|
|
</li>
|
|
|
|
</ul>
|
2022-08-28 13:39:00 -04:00
|
|
|
<p>
|
|
|
|
STATUS: This project is maintained. I will respond to issues, pull requests, and feature requests within a few days.
|
|
|
|
</p>
|
2022-08-03 23:50:42 -04:00
|
|
|
<h2>
|
2022-08-28 13:39:00 -04:00
|
|
|
<a href="#usage" rel="nofollow">
|
|
|
|
<span></span>
|
|
|
|
</a>
|
2022-08-04 00:02:05 -04:00
|
|
|
Usage
|
2022-08-03 23:50:42 -04:00
|
|
|
</h2>
|
2022-08-04 00:02:05 -04:00
|
|
|
<p>
|
|
|
|
Basic usage is designed to be very simple, import the package and instantiate
|
2022-08-28 13:39:00 -04:00
|
|
|
a struct and you're ready to go.
|
2022-08-04 00:02:05 -04:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
For more extensive examples, see:
|
2022-08-04 17:22:49 -04:00
|
|
|
<a href="EXAMPLE.md" rel="nofollow">
|
2022-08-04 00:02:05 -04:00
|
|
|
EXAMPLE
|
|
|
|
</a>
|
|
|
|
</p>
|
|
|
|
<h3>
|
2022-08-28 13:39:00 -04:00
|
|
|
<a href="#i2p-garlic-usage" rel="nofollow">
|
|
|
|
<span></span>
|
|
|
|
</a>
|
2022-08-04 00:02:05 -04:00
|
|
|
I2P(Garlic) Usage:
|
|
|
|
</h3>
|
|
|
|
<p>
|
|
|
|
When using it to manage an I2P session, set up an
|
|
|
|
<code>
|
|
|
|
onramp.Garlic
|
|
|
|
</code>
|
|
|
|
struct.
|
|
|
|
</p>
|
2022-08-28 13:39:00 -04:00
|
|
|
<div>
|
|
|
|
<pre>
|
|
|
|
<span>package</span> <span>main</span>
|
2022-08-03 23:47:24 -04:00
|
|
|
|
2022-08-28 13:39:00 -04:00
|
|
|
<span>import</span> <span>(</span>
|
|
|
|
<span>"log"</span>
|
2022-08-03 23:47:24 -04:00
|
|
|
|
2022-08-28 13:39:00 -04:00
|
|
|
<span>"github.com/eyedeekay/onramp"</span>
|
|
|
|
<span>)</span>
|
2022-08-03 23:47:24 -04:00
|
|
|
|
2022-08-28 13:39:00 -04:00
|
|
|
<span>func</span> <span>main</span><span>(</span><span>)</span> <span>{</span>
|
|
|
|
<span>garlic</span> <span>:=</span> <span>&</span><span>onramp</span><span>.</span><span>Garlic</span><span>{</span><span>}</span>
|
|
|
|
<span>defer</span> <span>garlic</span><span>.</span><span>Close</span><span>(</span><span>)</span>
|
|
|
|
<span>listener</span><span>,</span> <span>err</span> <span>:=</span> <span>garlic</span><span>.</span><span>Listen</span><span>(</span><span>)</span>
|
|
|
|
<span>if</span> <span>err</span> <span>!=</span> <span>nil</span> <span>{</span>
|
|
|
|
<span>log</span><span>.</span><span>Fatal</span><span>(</span><span>err</span><span>)</span>
|
|
|
|
<span>}</span>
|
|
|
|
<span>defer</span> <span>listener</span><span>.</span><span>Close</span><span>(</span><span>)</span>
|
|
|
|
<span>}</span>
|
|
|
|
</pre>
|
|
|
|
</div>
|
2022-08-04 00:02:05 -04:00
|
|
|
<h3>
|
2022-08-28 13:39:00 -04:00
|
|
|
<a href="#tor-onion-usage" rel="nofollow">
|
|
|
|
<span></span>
|
|
|
|
</a>
|
2022-08-03 23:50:42 -04:00
|
|
|
Tor(Onion) Usage:
|
2022-08-04 00:02:05 -04:00
|
|
|
</h3>
|
|
|
|
<p>
|
|
|
|
When using it to manage a Tor session, set up an
|
|
|
|
<code>
|
|
|
|
onramp.Onion
|
|
|
|
</code>
|
|
|
|
struct.
|
|
|
|
</p>
|
2022-08-28 13:39:00 -04:00
|
|
|
<div>
|
|
|
|
<pre>
|
|
|
|
<span>package</span> <span>main</span>
|
2022-08-03 23:47:24 -04:00
|
|
|
|
2022-08-28 13:39:00 -04:00
|
|
|
<span>import</span> <span>(</span>
|
|
|
|
<span>"log"</span>
|
2022-08-03 23:47:24 -04:00
|
|
|
|
2022-08-28 13:39:00 -04:00
|
|
|
<span>"github.com/eyedeekay/onramp"</span>
|
|
|
|
<span>)</span>
|
2022-08-03 23:47:24 -04:00
|
|
|
|
2022-08-28 13:39:00 -04:00
|
|
|
<span>func</span> <span>main</span><span>(</span><span>)</span> <span>{</span>
|
|
|
|
<span>onion</span> <span>:=</span> <span>&</span><span>onramp</span><span>.</span><span>Onion</span><span>{</span><span>}</span>
|
|
|
|
<span>defer</span> <span>garlic</span><span>.</span><span>Close</span><span>(</span><span>)</span>
|
|
|
|
<span>listener</span><span>,</span> <span>err</span> <span>:=</span> <span>onion</span><span>.</span><span>Listen</span><span>(</span><span>)</span>
|
|
|
|
<span>if</span> <span>err</span> <span>!=</span> <span>nil</span> <span>{</span>
|
|
|
|
<span>log</span><span>.</span><span>Fatal</span><span>(</span><span>err</span><span>)</span>
|
|
|
|
<span>}</span>
|
|
|
|
<span>defer</span> <span>listener</span><span>.</span><span>Close</span><span>(</span><span>)</span>
|
|
|
|
<span>}</span>
|
|
|
|
</pre>
|
|
|
|
</div>
|
2022-08-29 01:00:51 -04:00
|
|
|
<div id="sourcecode">
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="https://github.com/eyedeekay/onramp.git">
|
|
|
|
Source Code: (https://github.com/eyedeekay/onramp.git)
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
2022-08-03 22:00:33 -04:00
|
|
|
<div>
|
|
|
|
<a href="#show">
|
|
|
|
Show license
|
|
|
|
</a>
|
|
|
|
<div id="show">
|
|
|
|
<div id="hide">
|
|
|
|
<pre><code>MIT License
|
|
|
|
|
|
|
|
Copyright (c) 2022 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.
|
|
|
|
</code></pre>
|
|
|
|
<a href="#hide">
|
|
|
|
Hide license
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<a href="https://geti2p.net/">
|
2022-08-04 18:06:13 -04:00
|
|
|
<img src="i2plogo.png"></img>
|
2022-08-03 22:00:33 -04:00
|
|
|
I2P
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|