/
Projects:
Besides working on
I2P
, 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.
I2P Webextensions, Freestanding Applications
-
I2P in Private Browsing Mode for Firefox
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.
-
I2P Configuration Helper for Chromium
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.
-
Railroad Anonymous Blogging Platform
Railroad is a simple tool
for anonymous blogging built on
github.com/kabukky/journey
and retaining most of it’s features, while adding a few to make it suitable for
use as a destkop-based I2P application.
-
eepHttpd static web server/bittorrent tracker
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.
-
BRB IRC Client/Server/WebIRC Groupchat
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
Dispatch
,
Eris
, and
sam-forwarder
-
Experimental I2P Jpackage Installers
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.
-
Reseed Tools
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.
-
Blizzard Snowflake Donor
Blizzard runs a Snowflake proxy, donating
connectivity to Tor Browser users who use the WebRTC-based Snowflake pluggable
transport.
-
Terrarium IRC Server
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.
-
Thunderbird Configuration Helper Plugin
This automatically configures Thunderbird to recognize
i2pmail.org
hostnames
so that Postman’s mail server is easier to configure.
-
DungeonQuest(Browserquest Clone
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.
-
MTG-I2P MTProto Outproxy
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
9seconds/mtg
.
Tutorials, Research
-
I2P Javadoc
Mirror of the I2P Java documentation. Clone it into
~/.i2p/eepsite/docroot/javadoc-i2p/ to set up your own mirror automatically.
git clone https://github.com/eyedeekay/javadoc-i2p ~/.i2p/eepsite/docroot/javadoc-i2p/
-
Nextcloud over I2P Example
Instructions for
setting up your own hosted services over I2P using NextCloud.
-
DokuWiku over I2P Example
Instructions for
setting up your own wiki over I2P using DokuWiki.
-
SSH over I2P Example
Instructions for
setting up your own remote access over I2P using SSH.
-
Battle for Wesnoth I2P Multiplayer
Instructions for playing
Battle for Wesnoth using my server.
-
Nethack I2P Multiplayer
Instructions for playing Nethack using
my server.
-
I2P Browser Fingerprint Gallery
This is an ongoing evaluation of the various ways there are to configure
browsers for I2P and a developing rating system for them.
I2P Git Hosting
I host git services on I2P at
git.idk.i2p
, with a non-anonymous
mirror available at
i2pgit.org
. 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
I2P Site
and
on the
Web
.
I2P Radio Station
I’m also running an I2P radio station with mostly just stuff I know I can
retransmit from archive.org and podcasts I like.
This shell script will automatically start VLC and connect it to my station.
#! /usr/bin/env sh
set -euo
http_proxy=http://127.0.0.1:4444 vlc http://radio.idk.i2p/mpd.m3u
I2P MMORPG
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
host your own
MMORPG over I2P!
What’s Weird about this I2P Site?
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.
-
InfoGraphic Gallery for testing X-I2P-TorrentLocation
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.
-
Videos about I2P Gallery for testing X-I2P-TorrentLocation
This page
is even heavier, it embeds videos that have to do with I2P and other crypto/privacy/overlay
networking related topics.
-
Plugin Archive
This page is my mirror of the plugin archive at
stats.i2p
. I created one here because the
utility
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.
Go(golang) I2P Tools
-
samcatd
a.k.a. sam-forwarder
many of the other applications use sam-forwarder as a way of automatically
configuring i2ptunnels, including:
-
httptunnel
is a standalone http
proxy for I2P that uses SAM and implements an interface like sam-forwarder.
-
eephttpd
is a simple static http
server with markdown parsing support.
-
gitsam
is a super-simple git
repository setup built on eephttpd and [gitkit]().
-
reposam
is a binary deb repository
built on [repogen]().
-
samtracker
is a simple torrent
tracker built upon [retracker]().
-
cowyosam
is a pastebin-wiki hybrid
built on [cowyo]()
-
colluding_sites_attack
is a tool for fingerprinting browsers as they visit eepSites to determine if
useful information can be extracted.
-
outproxy
is a standalone outproxy
built on SAM. Definitely don’t use it if you don’t know what you’re in for.
-
libanonvpn
is a VPN library and
terminal application that uses SAM Datagrams. Sort of like onioncat, but
cooler.
-
checki2cp
is an I2P router presence
detection tool. Use it to find out if an I2P router is installed.
-
goSam
is a SAM library for Go that
implements an HTTP Transport.
-
i2pdig
is dig, but for I2P. It’s been
a while, I’ll update it soon.
-
iget
iget is an eepget clone, with some
extra features and room to grow.
-
keyto
is a text key conversion tool.
-
sam3
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.