diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index d67b1ff..84605ff 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,31 @@ -# go-i2p.github.io -Github page for go-i2p +# Overview of I2P For Go + +A wide variety of tools exist which make it easy to use I2P as a network layer in Go applications. +These tools integrate at various levels and provide different functionality, but virtually anything is possible using I2P and Go. +Eventually, this page will serve as a website for `go-i2p`, but for now it serves to track the state of various ways of using Go to interact with I2P. + +## Stuff that works: + +### `net.Conn` and `net.PacketConn` interface implementations + +These act as drop-in replacements for `net.Conn` and `net.PacketConn` in your code and libraries. +When used correctly, they make it easy to adapt Go applications to I2P. +All `net.Conn` and `net.PacketConn` interface implementations in Go + +- [`onramp`](https://github.com/eyedeekay/onramp) +- [`goSam`](https://github.com/eyedeekay/goSam) +- [`sam3`](https://github.com/eyedeekay/sam3) + +### I2PControl-RPC Libraries + +- [`go-i2pcontrol`](https://github.com/eyedeekay/go-i2pcontrol) +- [`i2p-control`](https://github.com/eyedeekay/i2p-control) + +### Proxies and Application-Layer Adapters + +- [`sam-forwarder` an I2PTunnel-alike which accepts i2pd-style config files](https://github.com/eyedeekay/sam-forwarder) +- [`go-i2p-bt` a Bittorrent library configured using `onramp` which tracks SAMv3 development and has similar features to I2PSnark](https://github.com/eyedeekay/go-i2p-bt) + +## Stuff in Progress: + + - [`go-i2p`](https://github.com/go-i2p/go-i2p) \ No newline at end of file diff --git a/darklight.css b/darklight.css new file mode 100644 index 0000000..7255047 --- /dev/null +++ b/darklight.css @@ -0,0 +1,24 @@ +/* edgar darklight CSS file */ +#checkboxDarkLight:checked + .container { + background-color: #202020; + filter: invert(100%); +} +#checkboxDarkLight{ + appearance: none; + width: 80px; + height: 40px; + background: black; + border-radius: 22px; + cursor: pointer; + outline: none; +} +#checkboxDarkLight::before{ + content: ''; + width: 40px; + height: 35px; + background-color:white; + border-radius: 35px; + cursor: pointer; + transition: .3s linear; +} + diff --git a/i2plogo.png b/i2plogo.png new file mode 100644 index 0000000..fce8d41 Binary files /dev/null and b/i2plogo.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..5b396f5 --- /dev/null +++ b/index.html @@ -0,0 +1,228 @@ + + + + Overview of I2P ... + + + + + + + + + + +
+ + + / + +

+ Overview of I2P For Go +

+

+ A wide variety of tools exist which make it easy to use I2P as a network layer in Go applications. + These tools integrate at various levels and provide different functionality, but virtually anything is possible using I2P and Go. + Eventually, this page will serve as a website for + + go-i2p + + , but for now it serves to track the state of various ways of using Go to interact with I2P. +

+

+ Stuff that works: +

+

+ + net.Conn + + and + + net.PacketConn + + interface implementations +

+

+ These act as drop-in replacements for + + net.Conn + + and + + net.PacketConn + + in your code and libraries. + When used correctly, they make it easy to adapt Go applications to I2P. + All + + net.Conn + + and + + net.PacketConn + + interface implementations in Go +

+ +

+ I2PControl-RPC Libraries +

+ +

+ Proxies and Application-Layer Adapters +

+ +

+ Stuff in Progress: +

+ +
+ + + Get the source code: + + + +
+
+ + Show license + +
+
+
MIT License
+
+Copyright (c) 2024 go-i2p
+
+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 + +
+
+
+
+
+ +
+
+ + + I2P + +
+ + \ No newline at end of file diff --git a/showhider.css b/showhider.css new file mode 100644 index 0000000..cea9ba7 --- /dev/null +++ b/showhider.css @@ -0,0 +1,15 @@ +/* edgar showhider CSS file */ +#show {display:none; } +#hide {display:block; } +#show:target {display: block; } +#hide:target {display: none; } + +#shownav {display:none; } +#hidenav {display:block; } +#shownav:target {display: block; } +#hidenav:target {display: none; } + +#donate {display:none; } +#hidedonate {display:block; } +#donate:target {display: block; } +#hidedonate:target {display: none; } diff --git a/style.css b/style.css new file mode 100644 index 0000000..c1b47b1 --- /dev/null +++ b/style.css @@ -0,0 +1,163 @@ +/* edgar default CSS file */ + +body { + font-family: "Roboto"; + font-family: monospace; + text-align: justify; + background-color: #373636; + color: whitesmoke; + font-size: 1.15em; +} + +ul { + width: 55%; + display: block; +} + +ol { + width: 55%; + display: block; +} + +li { + margin-top: 1%; +} + +p { + max-width: 90%; + margin-top: 1%; + margin-left: 3%; + margin-right: 3%; +} + +img { + float: left; + top: 5%; + left: 5%; + max-width: 60%; + display: inline; + padding-right: 2%; +} + +.inline { + display: inline; +} + +.link-button:focus { + outline: none; +} + +.link-button:active { + color: red; +} + +code { + font-family: monospace; + border-radius: 5%; + padding: 1%; + border-color: darkgray; + font-size: .9em; +} + +a { + color: #C6D9FE; + padding: 1%; +} + +ul li { + color: #C6D9FE; +} + +iframe { + background: aliceblue; + border-radius: 15%; + margin: 2%; +} + +.container { + display: inline-block; + margin: 0; + padding: 0; +} + +.editor-toolbar a { + display: inline-block; + text-align: center; + text-decoration: none !important; + color: whitesmoke !important; +} + +#feed { + width: 60vw; + height: unset !important; + margin: 0; + padding: 0; + float: right; + background-color: #373636; + color: whitesmoke; + border: #C6D9FE solid 1px; +} + +.thread-post, +.thread { + color: whitesmoke !important; + background-color: #373636; + border: 1px solid darkgray; + font-size: inherit; + padding-top: 1%; + padding-bottom: 1%; +} + +.thread-post { + margin-left: 4%; +} + +input { + text-align: center; + color: whitesmoke !important; + background-color: #373636; + border: 1px solid darkgray; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + padding-top: 1%; + padding-bottom: 1%; +} + +.thread-hash { + text-align: right; + color: whitesmoke !important; + background-color: #373636; + border: 1px solid darkgray; + font-size: inherit; + padding-top: 1%; + padding-bottom: 1%; +} + +.post-body { + text-align: left; + color: whitesmoke !important; + font-size: inherit; + padding-top: 1%; + padding-bottom: 1%; +} +#show {display:none; } +#hide {display:block; } +#show:target {display: block; } +#hide:target {display: none; } + +#shownav {display:none; } +#hidenav {display:block; } +#shownav:target {display: block; } +#hidenav:target {display: none; } + +#navbar { + float: right; + width: 15%; +} +#returnhome { + font-size: xxx-large; + display: inline; +} +h1 { + display: inline; +}