update index.html

This commit is contained in:
idk
2022-10-22 17:31:02 -04:00
parent 984db96673
commit b5dcca5b23
5 changed files with 761 additions and 563 deletions

0
.nojekyll Normal file
View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -1,234 +1,605 @@
<!DOCTYPE html>
<html>
<head>
<title>idk's home page</title>
<link rel="stylesheet" type="text/css" href ="style.css" />
<meta http-equiv="i2p-location" content="http://b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq.b32.i2p"/>
<meta name="description" content="idk's I2P software and information"/>
</head>
<body>
<h1>idk's home page</h1>
<p>I like to make peer-to-peer things, and think we should structure the future in
a way which builds in privacy by default in a maximally peer-to-peer way.</p>
<h2>Projects:</h2>
<p>Besides working on <a href="https://geti2p.net/">I2P</a>, I have a bunch of side-projects
centered around the use of I2P, especially in Go and Javascript. Some of these
are also I2P labs projects.</p>
<h3>I2P Webextensions, Freestanding Applications</h3>
<ul>
<li><a href="I2P-in-Private-Browsing-Mode-Firefox/">I2P in Private Browsing Mode for Firefox</a>
inspired by Brave, this browser extension enforces a few privacy rules for
Firefox, then implements a set of "Container Tabs" which can be used to browse
I2P in a way which is automatic and safe.</li>
<li><a href="I2P-Configuration-For-Chromium/">I2P Configuration Helper for Chromium</a>
A fork of the Firefox plugin before it used container tabs, after the user sets
up an I2P browsing profile this plugin can automatically set up the profile to
use I2P with the maximum privacy available from Chromium.</li>
<li><a href="railroad/">Railroad Anonymous Blogging Platform</a> Railroad is a simple tool
for anonymous blogging built on <a href="https://github.com/kabukky/journey">github.com/kabukky/journey</a>
and retaining most of it's features, while adding a few to make it suitable for
use as a destkop-based I2P application.</li>
<li><a href="eephttpd/">eepHttpd static web server/bittorrent tracker</a> eephttpd is a web
server which turns I2P sites into torrents, then volunteers to act as a tracker
for them. It's also capable of updating site content from a git remote.</li>
<li><a href="brb/">BRB IRC Client/Server/WebIRC Groupchat</a> BRB is a combination of an IRC
client, an IRC server, and a WebIRC service, all of which are automatically
configured to connect and listen on I2P connections only. It can be used as
a safe, easy to configure IRC client, or use it with the BRB IRC server for
a selfhosted group chat. Powered by <a href="https://github.com/khlieng/dispatch">Dispatch</a>,
<a href="https://github.com/prologic/eris">Eris</a>, and <a href="https://github.com/eyedeekay/sam-forwarder.">sam-forwarder</a></li>
<li><a href="i2p/">Experimental I2P Jpackage Installers</a> Jpackage is a tool for bundling
Java software with all the runtime dependencies and a Java environment which are
required to make them work. We may be able to use this to create easier-to-use
I2P installers.</li>
<li><a href="reseed-tools/">Reseed Tools</a> Reseed Tools is a freestanding, secure,
easy to configure I2P reseed server which is capable of transmitting a reseed by
the clearnet or Tor .onion services.</li>
<li><a href="blizzard/">Blizzard Snowflake Donor</a> Blizzard runs a Snowflake proxy, donating
connectivity to Tor Browser users who use the WebRTC-based Snowflake pluggable
transport.</li>
<li><a href="terrarium/">Terrarium IRC Server</a> Terrarium is a lightweight, simple IRC
server which understands SAM and I2P Addresses. It can link with other terrarium
servers over I2P tunnels and create an I2P IRC network of your own.</li>
<li><a href="Thunderbird-I2P-Auto-Configuration">Thunderbird Configuration Helper Plugin</a>
This automatically configures Thunderbird to recognize <code>i2pmail.org</code> hostnames
so that Postman's mail server is easier to configure.</li>
<li><a href="dungeonQuest/">DungeonQuest(Browserquest Clone</a> DungeonQuest is a clone of
Mozilla Browserquest which automatically runs over I2P using SAM. It's a casual
game you can easily host and play over I2P.</li>
<li><a href="mtg-i2p/">MTG-I2P MTProto Outproxy</a> mtg-i2p is a self-configuring MTProto
outproxy for I2P. It can act as a secure proxy server to the Telegram network.
It is based on <a href="https://github.com/9seconds/mtg">9seconds/mtg</a>.</li>
</ul>
<h3>Tutorials, Research</h3>
<ul>
<li><a href="javadoc-i2p">I2P Javadoc</a> Mirror of the I2P Java documentation. Clone it into
~/.i2p/eepsite/docroot/javadoc-i2p/ to set up your own mirror automatically.
<code>git clone https://github.com/eyedeekay/javadoc-i2p ~/.i2p/eepsite/docroot/javadoc-i2p/</code></li>
<li><a href="Nextcloud-over-I2P-on-Docker/">Nextcloud over I2P Example</a> Instructions for
setting up your own hosted services over I2P using NextCloud.</li>
<li><a href="Dokuwiki-over-I2P/">DokuWiku over I2P Example</a> Instructions for
setting up your own wiki over I2P using DokuWiki.</li>
<li><a href="i2p-i2pd-sshsetup/">SSH over I2P Example</a> Instructions for
setting up your own remote access over I2P using SSH.</li>
<li><a href="battle-for-wesnoth-i2p/">Battle for Wesnoth I2P Multiplayer</a> Instructions for playing
Battle for Wesnoth using my server.</li>
<li><a href="nethack-i2p/">Nethack I2P Multiplayer</a> Instructions for playing Nethack using
my server.</li>
<li><a href="I2P-Browser-Attackability-Evaluation/">I2P Browser Fingerprint Gallery</a>
This is an ongoing evaluation of the various ways there are to configure
browsers for I2P and a developing rating system for them.</li>
</ul>
<h3>I2P Git Hosting</h3>
<p>I host git services on I2P at <a href="http://git.idk.i2p/">git.idk.i2p</a>, with a non-anonymous
mirror available at <a href="https://i2pgit.org">i2pgit.org</a>. I provide this service freely to
the I2P community and it is open to the public, but do have a Terms of Service which
is predicated on my own threat model. If the TOS is not acceptable to you, I highly
encourage you to run your own gitlab instance using the instructions I wrote, available
on the I2P project <a href="http://i2p-projekt.i2p/en/docs/applications/gitlab">I2P Site</a> and
on the <a href="https://geti2p.net/en/docs/applications/gitlab">Web</a>.</p>
<h3>I2P Radio Station</h3>
<p>I'm also running an I2P radio station with mostly just stuff I know I can
retransmit from archive.org and podcasts I like.</p>
<ul>
<li><a href="http://radio.idk.i2p/?i2paddresshelper=Cvr39DAydBr7gfjuDbT05aVly9VLtPKRCCA6nApP9lmySvRDHIx42BLkAz6RdEgK1xGAyj1iTsFjOb8aq0mUdMzWeZXAihzrI14EAA0EKxYchS8mxZ8by0nNoGv1dzFUKIsndKWHnXsnOLaReUNi4tC4ADP49CY-cYJYhzcRK1URu-IiabypT8CvTy6t9n3jw0uKqRmDISxSLdhRTU7d8n~t-mzgOnLKJxDe88EVrYpO17r4Xm1IWfa2ETG7ex5GBrhA6QZZPY2op9GkbzslXOmdlseuKSIZBUdhKY4XcrU-xvPc35T~kjVEWwLmHrt030eezd-sm~PTHimxh-8NnZavcaBtz8kJPWml6iaRk83Ay-GUstI8sRprtjIXi5BoJ~qw9X6SnNjrOstC7~DqXa8MkRTTtmHQm7tFGBLe3ZJV~jU4RxHloYj-1fsTytBBND3oA50~i0cct86l4Y3AjvcGiT8wQj4ETMOqnvKuhML8mpaiRJMLfzyk0WTXTbogBQAEAAcAAA==">IDK's Radio Station</a></li>
</ul>
<p>This shell script will automatically start VLC and connect it to my station.</p>
<pre><code> #! /usr/bin/env sh
set -euo
http_proxy=http://127.0.0.1:4444 vlc http://radio.idk.i2p/mpd.m3u
<head>
<title>
idk's home page
</title>
<meta name="author" content="eyedeekay" />
<meta name="description" content="eyedeekay.github.io" />
<meta name="keywords" content="master" />
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" type="text/css" href="showhider.css" />
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="navbar">
<a href="#shownav">
Show navigation
</a>
<div id="shownav">
<div id="hidenav">
<ul>
<li>
<a href="..">
Up one level ^
</a>
</li>
<li>
<a href="index.html">
index
</a>
</li>
<li>
<a href="infographics.html">
infographics
</a>
</li>
<li>
<a href="plugins.html">
plugins
</a>
</li>
<li>
<a href="video.html">
video.html
</a>
</li>
<li>
<a href="videos.html">
videos
</a>
</li>
<li>
<a href="ySidebar.html">
ySidebar
</a>
</li>
<li>
<a href="yTop.html">
yTop
</a>
</li>
<li>
<a href="zBlog.html">
zBlog
</a>
</li>
<li>
<a href="zWallet.html">
zWallet
</a>
</li>
</ul>
<br>
<a href="#hidenav">
Hide Navigation
</a>
</div>
</div>
</div>
<a id="returnhome" href="/">
/
</a>
<h1>
idk&rsquo;s home page
</h1>
<p>
I like to make peer-to-peer things, and think we should structure the future in
a way which builds in privacy by default in a maximally peer-to-peer way.
</p>
<h2>
Projects:
</h2>
<p>
Besides working on
<a href="https://geti2p.net/">
I2P
</a>
, I have a bunch of side-projects
centered around the use of I2P, especially in Go and Javascript. Some of these
are also I2P labs projects.
</p>
<h3>
I2P Webextensions, Freestanding Applications
</h3>
<ul>
<li>
<a href="I2P-in-Private-Browsing-Mode-Firefox/">
I2P in Private Browsing Mode for Firefox
</a>
inspired by Brave, this browser extension enforces a few privacy rules for
Firefox, then implements a set of &ldquo;Container Tabs&rdquo; which can be used to browse
I2P in a way which is automatic and safe.
</li>
<li>
<a href="I2P-Configuration-For-Chromium/">
I2P Configuration Helper for Chromium
</a>
A fork of the Firefox plugin before it used container tabs, after the user sets
up an I2P browsing profile this plugin can automatically set up the profile to
use I2P with the maximum privacy available from Chromium.
</li>
<li>
<a href="railroad/">
Railroad Anonymous Blogging Platform
</a>
Railroad is a simple tool
for anonymous blogging built on
<a href="https://github.com/kabukky/journey">
github.com/kabukky/journey
</a>
and retaining most of it&rsquo;s features, while adding a few to make it suitable for
use as a destkop-based I2P application.
</li>
<li>
<a href="eephttpd/">
eepHttpd static web server/bittorrent tracker
</a>
eephttpd is a web
server which turns I2P sites into torrents, then volunteers to act as a tracker
for them. It&rsquo;s also capable of updating site content from a git remote.
</li>
<li>
<a href="brb/">
BRB IRC Client/Server/WebIRC Groupchat
</a>
BRB is a combination of an IRC
client, an IRC server, and a WebIRC service, all of which are automatically
configured to connect and listen on I2P connections only. It can be used as
a safe, easy to configure IRC client, or use it with the BRB IRC server for
a selfhosted group chat. Powered by
<a href="https://github.com/khlieng/dispatch">
Dispatch
</a>
,
<a href="https://github.com/prologic/eris">
Eris
</a>
, and
<a href="https://github.com/eyedeekay/sam-forwarder.">
sam-forwarder
</a>
</li>
<li>
<a href="i2p/">
Experimental I2P Jpackage Installers
</a>
Jpackage is a tool for bundling
Java software with all the runtime dependencies and a Java environment which are
required to make them work. We may be able to use this to create easier-to-use
I2P installers.
</li>
<li>
<a href="reseed-tools/">
Reseed Tools
</a>
Reseed Tools is a freestanding, secure,
easy to configure I2P reseed server which is capable of transmitting a reseed by
the clearnet or Tor .onion services.
</li>
<li>
<a href="blizzard/">
Blizzard Snowflake Donor
</a>
Blizzard runs a Snowflake proxy, donating
connectivity to Tor Browser users who use the WebRTC-based Snowflake pluggable
transport.
</li>
<li>
<a href="terrarium/">
Terrarium IRC Server
</a>
Terrarium is a lightweight, simple IRC
server which understands SAM and I2P Addresses. It can link with other terrarium
servers over I2P tunnels and create an I2P IRC network of your own.
</li>
<li>
<a href="Thunderbird-I2P-Auto-Configuration">
Thunderbird Configuration Helper Plugin
</a>
This automatically configures Thunderbird to recognize
<code>
i2pmail.org
</code>
hostnames
so that Postman&rsquo;s mail server is easier to configure.
</li>
<li>
<a href="dungeonQuest/">
DungeonQuest(Browserquest Clone
</a>
DungeonQuest is a clone of
Mozilla Browserquest which automatically runs over I2P using SAM. It&rsquo;s a casual
game you can easily host and play over I2P.
</li>
<li>
<a href="mtg-i2p/">
MTG-I2P MTProto Outproxy
</a>
mtg-i2p is a self-configuring MTProto
outproxy for I2P. It can act as a secure proxy server to the Telegram network.
It is based on
<a href="https://github.com/9seconds/mtg">
9seconds/mtg
</a>
.
</li>
</ul>
<h3>
Tutorials, Research
</h3>
<ul>
<li>
<a href="javadoc-i2p">
I2P Javadoc
</a>
Mirror of the I2P Java documentation. Clone it into
~/.i2p/eepsite/docroot/javadoc-i2p/ to set up your own mirror automatically.
<code>
git clone https://github.com/eyedeekay/javadoc-i2p ~/.i2p/eepsite/docroot/javadoc-i2p/
</code>
</li>
<li>
<a href="Nextcloud-over-I2P-on-Docker/">
Nextcloud over I2P Example
</a>
Instructions for
setting up your own hosted services over I2P using NextCloud.
</li>
<li>
<a href="Dokuwiki-over-I2P/">
DokuWiku over I2P Example
</a>
Instructions for
setting up your own wiki over I2P using DokuWiki.
</li>
<li>
<a href="i2p-i2pd-sshsetup/">
SSH over I2P Example
</a>
Instructions for
setting up your own remote access over I2P using SSH.
</li>
<li>
<a href="battle-for-wesnoth-i2p/">
Battle for Wesnoth I2P Multiplayer
</a>
Instructions for playing
Battle for Wesnoth using my server.
</li>
<li>
<a href="nethack-i2p/">
Nethack I2P Multiplayer
</a>
Instructions for playing Nethack using
my server.
</li>
<li>
<a href="I2P-Browser-Attackability-Evaluation/">
I2P Browser Fingerprint Gallery
</a>
This is an ongoing evaluation of the various ways there are to configure
browsers for I2P and a developing rating system for them.
</li>
</ul>
<h3>
I2P Git Hosting
</h3>
<p>
I host git services on I2P at
<a href="http://git.idk.i2p/">
git.idk.i2p
</a>
, with a non-anonymous
mirror available at
<a href="https://i2pgit.org">
i2pgit.org
</a>
. I provide this service freely to
the I2P community and it is open to the public, but do have a Terms of Service which
is predicated on my own threat model. If the TOS is not acceptable to you, I highly
encourage you to run your own gitlab instance using the instructions I wrote, available
on the I2P project
<a href="http://i2p-projekt.i2p/en/docs/applications/gitlab">
I2P Site
</a>
and
on the
<a href="https://geti2p.net/en/docs/applications/gitlab">
Web
</a>
.
</p>
<h3>
I2P Radio Station
</h3>
<p>
I&rsquo;m also running an I2P radio station with mostly just stuff I know I can
retransmit from archive.org and podcasts I like.
</p>
<ul>
<li>
<a href="http://radio.idk.i2p/?i2paddresshelper=Cvr39DAydBr7gfjuDbT05aVly9VLtPKRCCA6nApP9lmySvRDHIx42BLkAz6RdEgK1xGAyj1iTsFjOb8aq0mUdMzWeZXAihzrI14EAA0EKxYchS8mxZ8by0nNoGv1dzFUKIsndKWHnXsnOLaReUNi4tC4ADP49CY-cYJYhzcRK1URu-IiabypT8CvTy6t9n3jw0uKqRmDISxSLdhRTU7d8n~t-mzgOnLKJxDe88EVrYpO17r4Xm1IWfa2ETG7ex5GBrhA6QZZPY2op9GkbzslXOmdlseuKSIZBUdhKY4XcrU-xvPc35T~kjVEWwLmHrt030eezd-sm~PTHimxh-8NnZavcaBtz8kJPWml6iaRk83Ay-GUstI8sRprtjIXi5BoJ~qw9X6SnNjrOstC7~DqXa8MkRTTtmHQm7tFGBLe3ZJV~jU4RxHloYj-1fsTytBBND3oA50~i0cct86l4Y3AjvcGiT8wQj4ETMOqnvKuhML8mpaiRJMLfzyk0WTXTbogBQAEAAcAAA==">
IDK&rsquo;s Radio Station
</a>
</li>
</ul>
<p>
This shell script will automatically start VLC and connect it to my station.
</p>
<pre><code> #! /usr/bin/env sh
set -euo
http_proxy=http://127.0.0.1:4444 vlc http://radio.idk.i2p/mpd.m3u
</code></pre>
<h3>I2P MMORPG</h3>
<p>I also run a BrowserQuest instance over I2P, which is a fantasy-themed
browser-based MMORPG originally developed by Mozilla. It's available as a
plugin in the "DungeonQuest" section above, so it's easy to <strong>host your own</strong>
<strong>MMORPG over I2P!</strong> </p>
<ul>
<li><a href="https://h53tzppm77qya2cugxsyl7pbct7kfeo344kbpscqod6iq4xiwtiq.b32.i2p:8000/game/client/index.html"><strong>Dungeon Quest</strong></a></li>
</ul>
<h3>What's Weird about this I2P Site?</h3>
<p>This I2P site uses an experimental feature of I2P in Private browsing called
X-I2P-TorrentLocation. If you are using the latest version of the extension, you
may notice that there is a pageAction available in the URL bar(It's the little I2P
logo). If you click that pageAction and follow the magnet link, you will begin to
download a torrent named idk.i2p. As the torrent completes, the extension will begin
to replace on-page resources hosted on my server with exactly the same files, except
shared and downloaded via I2PSnark. The result is a sort of distributed, voluntary
pseudo-CDN which makes it possible to do things like embed videos directly in your
I2P Site and actually have them play completely. All of this is accomplished, of
course, by cheating. If you download the torrent, the file is on your computer, so
of course it's available in a reliable way. Besides that, even if your content
goes down, any of your visitors will be able to reproduce your site on a new hostname,
which may provide a level of resistance to being taken down. How it affects traffic
flows remains to be seen, but it means that some I2P users will be fetching less
content via their HTTP Proxies, and will be doing it less repeatedly.</p>
<ul>
<li><a href="infographics.html">InfoGraphic Gallery for testing X-I2P-TorrentLocation</a> This
page is to test X-I2P-TorrentLocation. It embeds a bunch of large images/infographics
I collected off of reddit and is intentionally heavy so it may be slow to load. It will
use torrent-based resources if I2P In Private Browsing mode is installed and the idk.i2p
torrent is downloaded.</li>
<li><a href="video.html">Videos about I2P Gallery for testing X-I2P-TorrentLocation</a> This page
is even heavier, it embeds videos that have to do with I2P and other crypto/privacy/overlay
networking related topics.</li>
<li><a href="plugins.html">Plugin Archive</a> This page is my mirror of the plugin archive at
<a href="http://stats.i2p/i2p/plugins">stats.i2p</a>. I created one here because the <em>utility</em> of
X-I2P-TorrentLocation is that it allows you to mingle the versatile presentation abilities
of hypertext with redundant, peer-to-peer resources, and by using it for plugins, we can
make it much harder to take them down by taking down their archives. The same would apply
for any software, actually, this is just where I started.</li>
</ul>
<h3>Go(golang) I2P Tools</h3>
<ul>
<li><a href="https://github.com/eyedeekay/sam-forwarder">samcatd</a> a.k.a. sam-forwarder
many of the other applications use sam-forwarder as a way of automatically
configuring i2ptunnels, including:
<ul>
<li><a href="https://github.com/eyedeekay/httptunnel">httptunnel</a> is a standalone http
proxy for I2P that uses SAM and implements an interface like sam-forwarder.</li>
<li><a href="https://github.com/eyedeekay/eephttpd">eephttpd</a> is a simple static http
server with markdown parsing support.</li>
<li><a href="https://github.com/eyedeekay/gitsam">gitsam</a> is a super-simple git
repository setup built on eephttpd and <a href="">gitkit</a>.</li>
<li><a href="https://github.com/eyedeekay/reposam">reposam</a> is a binary deb repository
built on <a href="">repogen</a>.</li>
<li><a href="https://github.com/eyedeekay/samtracker">samtracker</a> is a simple torrent
tracker built upon <a href="">retracker</a>.</li>
<li><a href="https://github.com/eyedeekay/cowyosam">cowyosam</a> is a pastebin-wiki hybrid
built on <a href="">cowyo</a></li>
<li><a href="https://github.com/eyedeekay/colluding_sites_attack">colluding<em>sites</em>attack</a>
is a tool for fingerprinting browsers as they visit eepSites to determine if
useful information can be extracted.</li>
<li><a href="https://github.com/eyedeekay/outproxy">outproxy</a> is a standalone outproxy
built on SAM. Definitely don't use it if you don't know what you're in for.</li>
<li><a href="https://github.com/RTradeLtd/libanonvpn">libanonvpn</a> is a VPN library and
terminal application that uses SAM Datagrams. Sort of like onioncat, but
cooler.</li>
</ul></li>
<li><a href="https://github.com/eyedeekay/checki2cp">checki2cp</a> is an I2P router presence
detection tool. Use it to find out if an I2P router is installed.</li>
<li><a href="https://github.com/eyedeekay/goSam">goSam</a> is a SAM library for Go that
implements an HTTP Transport.</li>
<li><a href="https://github.com/eyedeekay/i2pdig">i2pdig</a> is dig, but for I2P. It's been
a while, I'll update it soon.</li>
<li><a href="https://github.com/eyedeekay/iget">iget</a> iget is an eepget clone, with some
extra features and room to grow.</li>
<li><a href="https://github.com/eyedeekay/keyto">keyto</a> is a text key conversion tool.</li>
<li><a href="https://github.com/eyedeekay/sam3">sam3</a> is another SAM library for Go, but
it implements a net.Conn and net.Packetconn making it a near drop-in
replacement for regular connections.</li>
</ul>
<h2>Blog:</h2>
<h4>Sun Nov 26 03:21:12 EST 2017</h4>
<p>Hi. This is the blog where I'm going to document all the wierd stuff I do on my
home network. I'm most passionate about the areas where I am relatively free of
constraints, and for me, that is in hobby computing in my own home. But since
it's not a place with an IT staff and other organizational resources, I
sometimes do wierd, ill-advised things to get my computers just the way I like
them.</p>
<p>Also I'm pretty bad at blogging.</p>
<h4>Mon Jan 22 12:41:21 EST 2018</h4>
<p>Getting nervous, about to flash an up-to-date coreboot port to my netbook via
a ch341a flasher. I'm about 99% sure I'm not going to hurt anything, but who
knows?</p>
<h4>Tue Mar 31, 15:04:40 EST 2020</h4>
<p>See, I told you I was pretty bad at blogging. Over 2 years. Lots of code though.</p>
<h4>Sun Oct 11, 04:08:56 EDT 2020</h4>
<p>Note to self: from now on, build the site with:</p>
<p><code>make all &amp;&amp; make seed &amp;&amp; git commit -am "</code>date<code>" &amp;&amp; git push --all</code></p>
<script src="script.js" type="text/javascript"></script>
</body>
<h3>
I2P MMORPG
</h3>
<p>
I also run a BrowserQuest instance over I2P, which is a fantasy-themed
browser-based MMORPG originally developed by Mozilla. It&rsquo;s available as a
plugin in the &ldquo;DungeonQuest&rdquo; section above, so it&rsquo;s easy to
<strong>
host your own
</strong>
<strong>
MMORPG over I2P!
</strong>
</p>
<ul>
<li>
<a href="https://h53tzppm77qya2cugxsyl7pbct7kfeo344kbpscqod6iq4xiwtiq.b32.i2p:8000/game/client/index.html">
<strong>
Dungeon Quest
</strong>
</a>
</li>
</ul>
<h3>
What&rsquo;s Weird about this I2P Site?
</h3>
<p>
This I2P site uses an experimental feature of I2P in Private browsing called
X-I2P-TorrentLocation. If you are using the latest version of the extension, you
may notice that there is a pageAction available in the URL bar(It&rsquo;s the little I2P
logo). If you click that pageAction and follow the magnet link, you will begin to
download a torrent named idk.i2p. As the torrent completes, the extension will begin
to replace on-page resources hosted on my server with exactly the same files, except
shared and downloaded via I2PSnark. The result is a sort of distributed, voluntary
pseudo-CDN which makes it possible to do things like embed videos directly in your
I2P Site and actually have them play completely. All of this is accomplished, of
course, by cheating. If you download the torrent, the file is on your computer, so
of course it&rsquo;s available in a reliable way. Besides that, even if your content
goes down, any of your visitors will be able to reproduce your site on a new hostname,
which may provide a level of resistance to being taken down. How it affects traffic
flows remains to be seen, but it means that some I2P users will be fetching less
content via their HTTP Proxies, and will be doing it less repeatedly.
</p>
<ul>
<li>
<a href="infographics.html">
InfoGraphic Gallery for testing X-I2P-TorrentLocation
</a>
This
page is to test X-I2P-TorrentLocation. It embeds a bunch of large images/infographics
I collected off of reddit and is intentionally heavy so it may be slow to load. It will
use torrent-based resources if I2P In Private Browsing mode is installed and the idk.i2p
torrent is downloaded.
</li>
<li>
<a href="video.html">
Videos about I2P Gallery for testing X-I2P-TorrentLocation
</a>
This page
is even heavier, it embeds videos that have to do with I2P and other crypto/privacy/overlay
networking related topics.
</li>
<li>
<a href="plugins.html">
Plugin Archive
</a>
This page is my mirror of the plugin archive at
<a href="http://stats.i2p/i2p/plugins">
stats.i2p
</a>
. I created one here because the
<em>
utility
</em>
of
X-I2P-TorrentLocation is that it allows you to mingle the versatile presentation abilities
of hypertext with redundant, peer-to-peer resources, and by using it for plugins, we can
make it much harder to take them down by taking down their archives. The same would apply
for any software, actually, this is just where I started.
</li>
</ul>
<h3>
Go(golang) I2P Tools
</h3>
<ul>
<li>
<a href="https://github.com/eyedeekay/sam-forwarder">
samcatd
</a>
a.k.a. sam-forwarder
many of the other applications use sam-forwarder as a way of automatically
configuring i2ptunnels, including:
<ul>
<li>
<a href="https://github.com/eyedeekay/httptunnel">
httptunnel
</a>
is a standalone http
proxy for I2P that uses SAM and implements an interface like sam-forwarder.
</li>
<li>
<a href="https://github.com/eyedeekay/eephttpd">
eephttpd
</a>
is a simple static http
server with markdown parsing support.
</li>
<li>
<a href="https://github.com/eyedeekay/gitsam">
gitsam
</a>
is a super-simple git
repository setup built on eephttpd and [gitkit]().
</li>
<li>
<a href="https://github.com/eyedeekay/reposam">
reposam
</a>
is a binary deb repository
built on [repogen]().
</li>
<li>
<a href="https://github.com/eyedeekay/samtracker">
samtracker
</a>
is a simple torrent
tracker built upon [retracker]().
</li>
<li>
<a href="https://github.com/eyedeekay/cowyosam">
cowyosam
</a>
is a pastebin-wiki hybrid
built on [cowyo]()
</li>
<li>
<a href="https://github.com/eyedeekay/colluding_sites_attack">
colluding_sites_attack
</a>
is a tool for fingerprinting browsers as they visit eepSites to determine if
useful information can be extracted.
</li>
<li>
<a href="https://github.com/eyedeekay/outproxy">
outproxy
</a>
is a standalone outproxy
built on SAM. Definitely don&rsquo;t use it if you don&rsquo;t know what you&rsquo;re in for.
</li>
<li>
<a href="https://github.com/RTradeLtd/libanonvpn">
libanonvpn
</a>
is a VPN library and
terminal application that uses SAM Datagrams. Sort of like onioncat, but
cooler.
</li>
</ul>
</li>
<li>
<a href="https://github.com/eyedeekay/checki2cp">
checki2cp
</a>
is an I2P router presence
detection tool. Use it to find out if an I2P router is installed.
</li>
<li>
<a href="https://github.com/eyedeekay/goSam">
goSam
</a>
is a SAM library for Go that
implements an HTTP Transport.
</li>
<li>
<a href="https://github.com/eyedeekay/i2pdig">
i2pdig
</a>
is dig, but for I2P. It&rsquo;s been
a while, I&rsquo;ll update it soon.
</li>
<li>
<a href="https://github.com/eyedeekay/iget">
iget
</a>
iget is an eepget clone, with some
extra features and room to grow.
</li>
<li>
<a href="https://github.com/eyedeekay/keyto">
keyto
</a>
is a text key conversion tool.
</li>
<li>
<a href="https://github.com/eyedeekay/sam3">
sam3
</a>
is another SAM library for Go, but
it implements a net.Conn and net.Packetconn making it a near drop-in
replacement for regular connections.
</li>
</ul>
<h2>
Blog:
</h2>
<h4>
Sun Nov 26 03:21:12 EST 2017
</h4>
<p>
Hi. This is the blog where I&rsquo;m going to document all the wierd stuff I do on my
home network. I&rsquo;m most passionate about the areas where I am relatively free of
constraints, and for me, that is in hobby computing in my own home. But since
it&rsquo;s not a place with an IT staff and other organizational resources, I
sometimes do wierd, ill-advised things to get my computers just the way I like
them.
</p>
<p>
Also I&rsquo;m pretty bad at blogging.
</p>
<h4>
Mon Jan 22 12:41:21 EST 2018
</h4>
<p>
Getting nervous, about to flash an up-to-date coreboot port to my netbook via
a ch341a flasher. I&rsquo;m about 99% sure I&rsquo;m not going to hurt anything, but who
knows?
</p>
<h4>
Tue Mar 31, 15:04:40 EST 2020
</h4>
<p>
See, I told you I was pretty bad at blogging. Over 2 years. Lots of code though.
</p>
<h4>
Sun Oct 11, 04:08:56 EDT 2020
</h4>
<p>
Note to self: from now on, build the site with:
</p>
<p>
<code>
make all &amp;&amp; make seed &amp;&amp; git commit -am &quot;
</code>
date
<code>
&quot; &amp;&amp; git push --all
</code>
</p>
<div id="sourcecode">
<span id="sourcehead">
<strong>
Get the source code:
</strong>
</span>
<ul>
<li>
<a href="https://github.com/eyedeekay/eyedeekay.github.io">
Source Repository: (https://github.com/eyedeekay/eyedeekay.github.io)
</a>
</li>
</ul>
</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/">
<img src="i2plogo.png"></img>
I2P
</a>
</div>
</body>
</html>

15
showhider.css Normal file
View File

@ -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; }

474
style.css
View File

@ -1,353 +1,165 @@
* {
padding: 0;
margin: 0;
}
html {
margin: 0 4%;
padding: 0 20px;
min-height: 100%;
background: #9ab;
background: repeating-linear-gradient(to bottom, #9ab, #89a 2px);
scrollbar-color: #bcd #789;
}
/* edgar default CSS file */
body {
margin: 0;
padding: 20px 40px;
font-family: Open Sans, Noto Sans, Segoe UI, sans-serif;
font-size: 12pt;
color: #495057;
text-decoration: none;
word-wrap: break-word;
border-left: 1px solid #495057;
border-right: 1px solid #495057;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, .1);
background: #f2f2f2;
}
h1, h2, h3, h4 {
display: block;
font-weight: 700;
}
h1 {
text-transform: uppercase;
font-weight: 900;
font-size: 200%;
}
h2 {
font-size: 140%;
}
h3 {
font-size: 120%;
}
h4 {
margin-bottom: 5px;
text-align: right;
text-transform: none;
font-size: 90%;
font-weight: 600;
font-style: italic;
}
p {
margin-bottom: 15px;
width: 100%;
line-height: 1.4;
word-wrap: break-word;
/* text-align: justify;*/
text-decoration: none;
font-family: "Roboto";
font-family: monospace;
text-align: justify;
background-color: #373636;
color: whitesmoke;
font-size: 1.15em;
}
ul {
margin: 10px 20px;
list-style: none;
width: 55%;
display: block;
}
ol {
width: 55%;
display: block;
}
li {
margin-left: 0;
padding: 12px 15px 15px 20px;
width: calc(100% - 40px);
text-align: justify;
border: 1px solid #9ab;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff;
background: #dee2e6;
margin-top: 1%;
}
li li {
padding-bottom: 0;
width: calc(100% - 40px);
text-align: left;
border: none;
border-top: 1px solid #9ab;
box-shadow: none;
}
li li:first-of-type {
margin-top: 15px;
border-top: none;
}
li a:first-of-type {
display: block;
width: 100%;
}
#applicationExplain {
float: unset;
}
li+li {
margin-top: 15px;
}
h3+ul, ul+h3, ul+h2 {
margin-top: 20px;
}
a, button {
color: #3b6bbf;
text-decoration: none;
font-weight: 700;
word-wrap: break-word;
outline: 0;
}
.applicationDesc {
color: #81888f;
text-decoration: none;
font-weight: 700;
word-wrap: break-word;
outline: 0;
}
.applicationDesc:hover, a:hover, button:hover {
text-decoration: none;
font-weight: 700;
word-wrap: break-word;
outline: 0;
}
button {
border: none;
cursor: pointer;
color: #3b6bbf;
text-decoration: none;
font-weight: 700;
word-wrap: break-word;
outline: 0;
}
.background {
background-color: #f8f8ff;
height: 100%;
}
.content {
margin: 1.5rem;
padding: 1rem;
min-height: 3rem;
min-width: 95%;
display: inline-block;
border: 1px solid #d9d9d6;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
background: #f8f8ff;
}
#header, .application-info, .browser-info, .extended-info, .search-info {
margin-top: 1.5rem;
padding: 1rem;
min-height: 3rem;
min-width: 95%;
display: inline-block;
border: 1px solid #d9d9d6;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
background: #f8f8ff;
}
.showhider {
margin-right: auto;
padding: 0!important;
text-transform: uppercase;
background: none !important;
border: none;
width: 90%;
color: #3b6bbf;
text-decoration: none;
font-weight: 700;
word-wrap: break-word;
outline: 0;
text-align: left;
}
#links .showhider {
font-size: 25px;
}
.section-header {
display: flex;
flex-direction: row;
margin-bottom: 80px;
}
#readyness {
padding-top: 1rem;
padding-bottom: 1rem;
margin: 1rem;
width: 42%;
min-width: 42%;
background: #dee2e6;
text-align: center!important;
border: 1px solid #dee2e6;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
display: inline-block;
}
#onboarding {
min-height: 5rem;
padding: .5rem;
margin: .5rem;
margin-top: 4rem;
width: 42%;
min-width: 42%;
font-size: 2rem;
background: #a48fe1;
text-align: center!important;
border: 1px solid #a48fe1;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
}
#i2pbrowser-description {
padding-top: 1rem;
padding-bottom: 1rem;
width: 50%;
min-width: 50%;
display: inline-block;
background: #dee2e6;
border: 1px solid #dee2e6;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
}
#linksExplain {
min-height: 5rem;
padding: .5rem;
margin: .5rem;
width: 30%;
min-width: 30%;
background: #dee2e6;
text-align: center!important;
border: 1px solid #dee2e6;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
}
#applicationExplain, #controlExplain {
min-height: 5rem;
padding: .5rem;
margin: .5rem;
width: 30%;
min-width: 30%;
background: #dee2e6;
text-align: center!important;
border: 1px solid #dee2e6;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
float: left;
}
#proxyReady {
min-height: 3rem;
padding: .5rem;
margin: .2rem;
width: 38%;
min-width: 38%;
display: inline-block;
background: #d9d9d6;
float: right;
text-align: center!important;
border: 1px solid #d9d9d6;
border-radius: 2px;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
}
#proxyUnready {
min-height: 3rem;
padding: .5rem;
margin: .2rem;
width: 38%;
min-width: 38%;
display: inline-block;
float: right;
text-align: center!important;
border: 1px solid #ffc56d;
border-radius: 2px;
background: #ffc56d;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
}
#consoleOn {
min-height: 3rem;
padding: .5rem;
margin: .2rem;
width: 38%;
min-width: 38%;
display: inline-block;
float: left;
text-align: center!important;
border: 1px solid #f7e59a;
border-radius: 2px;
background: #f7e59a;
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc;
}
.onboardingContent {
font-size: .8rem!important;
text-align: left;
display: none;
}
#info-content {
display: none;
}
.consoleOn:hover #proxy-check, .proxyReady:hover #proxy-check {
visibility: visible;
opacity: 1;
p {
max-width: 90%;
margin-top: 1%;
margin-left: 3%;
margin-right: 3%;
}
img {
max-width: 100%;
float: left;
top: 5%;
left: 5%;
max-width: 60%;
display: inline;
padding-right: 2%;
}
img.readyness {
height: 100%;
width: auto;
.inline {
display: inline;
}
@media only screen and (max-width: 399px) {
.application-info {
display: none;
}
.link-button:focus {
outline: none;
}
@media screen and (max-width: 1200px) {
body {
font-size: 10.5pt;
}
.link-button:active {
color: red;
}
video {
width: 100%
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: 15%;
}
#returnhome {
font-size: xxx-large;
display: inline;
}
h1 {
display: inline;
}