From c80e6e7d95a0423dfe2cbec80bae8834a0860479 Mon Sep 17 00:00:00 2001 From: idk Date: Sun, 31 Jul 2022 17:39:38 -0400 Subject: [PATCH] update index.html --- .nojekyll | 0 index.html | 291 +++++++++++++++++++++++++++++++++++++++++++++++++++++ style.css | 157 +++++++++++++++++++++++++++++ 3 files changed, 448 insertions(+) create mode 100644 .nojekyll create mode 100644 index.html create mode 100644 style.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/index.html new file mode 100644 index 0000000..460abeb --- /dev/null +++ b/index.html @@ -0,0 +1,291 @@ + + + + README + + + + + + + + + +

+ + README + +

+

+ !!IMPORTANT!! +

+

+ In the next version, I’ll be moving the + + i2pkeys + + directory to it’s own repository + so I can avoid import cycle headaches. Please migrate to the new + + i2pkeys + + repository + before upgrading your sam3 dependencies. You can probably do this by running: +

+
find . -name '*.go' -exec sed -i 's|github.com/eyedeekay/sam3/i2pkeys|github.com/eyedeekay/i2pkeys|g' {} \;
+
+

+ README +

+

+ go library for the I2P + + SAMv3.0 + + bridge, used to build anonymous/pseudonymous end-to-end encrypted sockets. +

+

+ This library is much better than ccondom (that use BOB), much more stable and much easier to maintain. +

+

+ Support/TODO +

+

+ + What works: + +

+ +

+ + Does not work: + +

+ +

+ Documentation +

+ +

+ Examples +

+
package main
+
+import (
+	"github.com/eyedeekay/sam3"
+	"github.com/eyedeekay/sam3/i2pkeys"
+	"fmt"
+)
+
+const yoursam = "127.0.0.1:7656" // sam bridge
+
+func client(server i2pkeys.I2PAddr) {
+	sam, _ := sam3.NewSAM(yoursam)
+	keys, _ := sam.NewKeys()
+	stream, _ := sam.NewStreamSession("clientTun", keys, sam3.Options_Small)
+	fmt.Println("Client: Connecting to " + server.Base32())
+	conn, _ := stream.DialI2P(server)
+	conn.Write([]byte("Hello world!"))
+	return
+}
+
+func main() {
+	sam, _ := NewSAM(yoursam)
+	keys, _ := sam.NewKeys()
+	stream, _ := sam.NewStreamSession("serverTun", keys, sam3.Options_Medium)
+	listener, _ := stream.Listen()
+	go client(keys.Addr())
+	conn, _ := listener.Accept()
+	buf := make([]byte, 4096)
+	n, _ := conn.Read(buf)
+	fmt.Println("Server received: " + string(buf[:n]))
+}
+
+

+ The above will write to the terminal: +

+
Client: Connecting to zjnvfh4hs3et5vtz35ogwzrws26zvwkcad5uo5esecvg4qpk5b4a.b32.i2p
+Server received: Hello world!
+
+

+ Error handling was omitted in the above code for readability. +

+

+ Testing +

+ +

+ License +

+

+ Public domain. +

+

+ Author +

+ +
+ + Show license + +
+
+
This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+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 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.
+
+For more information, please refer to 
+
+ + Hide license + +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..83a9810 --- /dev/null +++ b/style.css @@ -0,0 +1,157 @@ +/* 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; +} + +.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 { + width: 36vw; + height: 64vh; + 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: 10%; +}