diff --git a/index.php b/index.php deleted file mode 100644 index c7459092..00000000 --- a/index.php +++ /dev/null @@ -1,32 +0,0 @@ -lkjasdflkajsl;kasjl;aksjlkajsl;kajslkasjlkasdfljError: Page not found\n"; - print "Go back"; -} - -?> diff --git a/menu.ini b/menu.ini deleted file mode 100644 index 0259589a..00000000 --- a/menu.ini +++ /dev/null @@ -1,181 +0,0 @@ -[home] -title = "Welcome to I2P" -depth = 1 - - -[download] -depth = 1 - -[history] -title = "Latest changes" -depth = 2 -link = "http://dev.i2p.net/cgi-bin/cvsweb.cgi/i2p/history.txt?rev=HEAD" - -[news] -depth = 1 -nolink = 1 - -[announcements] -depth = 2 - -[mailinglist] -depth = 2 -link = "http://dev.i2p.net/pipermail/i2p/" - -[meetings] -depth = 2 - -[roadmap] -title = "Roadmap" -depth = 2 - -[todo] -title = "Task list" -depth = 2 - -[intro] -title = "About I2P" -depth = 1 - -[faq] -title = "FAQ" -depth = 2 - -[forums] -depth = 2 -link = "http://forum.i2p.net/" - -[bounties] -depth = 2 - -[getinvolved] -title = "Get involved" -depth = 2 - -[donate] -title = "Donate!" -depth = 2 - -[team] -title = "I2P Team" -depth = 2 - -[halloffame] -title = "Hall of Fame" -depth = 2 - - -[documentation] -depth = 1 -nolink = 1 - -[how] -title = "How does it work?" -depth = 2 - -[techintro] -title = "Tech intro" -depth = 2 -link = "http://dev.i2p.net/cgi-bin/cvsweb.cgi/i2p/router/doc/techintro.html?rev=HEAD" - -[how_intro] -title = "Intro" - -[how_threatmodel] -title = "Threat model" - -[how_tunnelrouting] -title = "Tunnel routing" - -[how_garlicrouting] -title = "Garlic routing" - -[how_networkdatabase] -title = "Network database" - -[how_peerselection] -title = "Peer selection" - -[how_cryptography] -title = "Cryptography" - -[how_elgamalaes] -title = "ElGamal/AES+SessionTag" - -[how_networkcomparisons] -title = "Network comparisons" - -[howto] -title = "Howto docs" -depth = 2 - -[applications] -depth = 2 - -[myi2p] -title = "MyI2P" - -[i2ptunnel] -title = "I2PTunnel" - -[i2ptunnel_services] -title = "Setting up services" - -[i2ptunnel_tuning] -title = "Tuning" - -[i2ptunnel_lan] -title = "LAN setup" - -[minwww] -title = "MinWWW" - -;[performance] -;depth = 2 - -;[jbigi] -;title = "jbigi" -;depth = 3 - -;[jvm] -;title = "JVM" -;depth = 3 - -;[config_tweaks] -;depth = 3 - - -[development] -depth = 1 -nolink = 1 - -;[implementation] -;depth = 2 -;link = "http://dev.i2p.net/javadoc/" - -;[bugzilla] -;depth = 2 -;link = "http://dev.i2p.net/bugzilla/index.cgi" - -[api] -title = "API" -depth = 2 - -[sam] -title = "SAM" - -[ministreaming] -title = "ministreaming" - -[i2cp] -title = "I2CP" - -[licenses] -depth = 2 - -[cvs] -title = "CVS" -depth = 2 - -[links] -depth = 1 diff --git a/menu.php b/menu.php deleted file mode 100644 index f05b7d31..00000000 --- a/menu.php +++ /dev/null @@ -1,48 +0,0 @@ -$page_config) { - if (isset($page_config['depth'])) { - $title = getpagetitle($page); - $link = ''; - $uri = ''; - if (isset($page_config['link'])) { - $uri = $page_config['link']; - } else { - $uri = $page; - } - if (isset($page_config['nolink'])) { - $link = $title; - } else { - $link = "$title"; - } - - switch ($page_config['depth']) { - case 1: - print "
$link
\n"; - break; - case 2: - print "• $link
\n"; - break; - case 3: - print "  - $link
\n"; - break; - default: - } - - } - } -} -?> diff --git a/mirror.i2p2/app.py b/mirror.i2p2/app.py new file mode 100644 index 00000000..7c7a9e7a --- /dev/null +++ b/mirror.i2p2/app.py @@ -0,0 +1,33 @@ +from werkzeug import BaseRequest, BaseResponse, run_simple +from werkzeug.exceptions import HTTPException +from werkzeug.routing import RequestRedirect +from random import randint + +class Request(BaseRequest): + """Useful subclass of the default request that knows how to build urls.""" + + def __init__(self, environ): + BaseRequest.__init__(self, environ) + + +class Response(BaseResponse): + """Subclass of base response that has a default mimetype of text/html.""" + default_mimetype = 'text/html' + +def read_mirrors(): + file = open('mirrors', 'r') + dat = file.read() + file.close() + return dat.split('\n') + + +def app(environ, start_response): + """The WSGI application that connects all together.""" + req = Request(environ) + mirrors = read_mirrors() + mirror = mirrors[randint(0, len(mirrors) - 1)] + resp = RequestRedirect(mirror % req.path) + return resp(environ, start_response) + +if __name__ == '__main__': + run_simple('localhost', 5008, app) diff --git a/mirror.i2p2/mirrors b/mirror.i2p2/mirrors new file mode 100644 index 00000000..9229e880 --- /dev/null +++ b/mirror.i2p2/mirrors @@ -0,0 +1 @@ +http://i2p.googlecode.com/files%s \ No newline at end of file diff --git a/mtn.i2p2/keys.txt b/mtn.i2p2/keys.txt new file mode 100644 index 00000000..cfd0a5e6 --- /dev/null +++ b/mtn.i2p2/keys.txt @@ -0,0 +1,61 @@ +Complication +============ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +Hello, + +I confirm that my Monotone public keys are: + +1) Commit key + +[pubkey complication@mail.i2p] +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx1F6nwBUCIiCPVsogy/h/+2d8X3uMcEdn +RIN+gxO+0pK+yrGZiFwi7TG/K3PjDfJWuxsPRKLeb9Q4NmfxrAePelGig9llalrDnRkIcRFu +cnNUOJo9C0MjvzYR9D6bIS3+udPdl6ou94JX+ueo2jLXI1lGgtdWDWTetJx9I++EvwIDAQAB +[end] + +2) Transport key + +[pubkey complication-transport@mail.i2p] +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDP55FmBUIZjamtDinVDrLmS9uU40KoNfLd +iB+t/iEgEWHDPQxlwugh/aBQwsXKGGJMJSNURKwwjfrcr5y3oz9jpRjtLVqoZMBVLgp28WGA +9KbzXi4/dYhdyNmr4gHc17mDSlhCfk/L5QxifSYwSaeeFPsoAAyBBB221Z3197bmVQIDAQAB +[end] + +With best regards, +Complication. + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFHniai+h38a3n8zjMRAtvJAJ9G8QJYjUQGYOdnerqAJphY/65TmQCbB+Ei +bEqkKHWUuJpsyo3urNDaQeI= +=fOnK +-----END PGP SIGNATURE----- + + + + +zzz +=== +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +[pubkey zzz-transport@mail.i2p] +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDa2uZI1BobxS4TapMqmf4Ws3nyL3GYgkfb +MEawyWl0E1pfHJ4dLZkdxQdcLyCsN9OCY4jRNzmoYnDa2HtBLINq15BJmGJ0cfIDLXIB2GBO +ViAPRkEKQTVoc7IpcjtPPjtSBVganD/AW78m9cgUYag86Lbm2ynUaXWpw9i4gpLdLQIDAQAB +[end] +[pubkey zzz@mail.i2p] +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtgaWY0Wc1c8pFGIxASZx78pHpHZKQV8z6 +IRQkgy65gQMjpLquaQpy3Xk8rkpnfA+6h3TS6bjplsEhlaQoxvpGxacRYOt+y1HC/n20O3RI +E1A/e3sGKHGDEQW+3ItF4WSNfeQ18DzLeun32vFknq2k9im6Ts4tiYfKs8CZ5KW0/QIDAQAB +[end] +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFHnN51QVV2uqduC+0RAv8NAJ9B/7pWKLvqVI6HnAifs9oedsdWSACfYS1E +sFwJiw4A+Sr9wQrtoO4X4ow= +=SVDV +-----END PGP SIGNATURE----- diff --git a/pages/.htaccess b/pages/.htaccess deleted file mode 100644 index e5cff122..00000000 --- a/pages/.htaccess +++ /dev/null @@ -1 +0,0 @@ -Options Indexes FollowSymLinks diff --git a/pages/footer.html b/pages/footer.html deleted file mode 100644 index aa5a7c3e..00000000 --- a/pages/footer.html +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/pages/header.html b/pages/header.html deleted file mode 100644 index 23fd2f0c..00000000 --- a/pages/header.html +++ /dev/null @@ -1,28 +0,0 @@ -\n"; -?> - - - -<?=$pagetitle?> - - - - - - -
Skip navigation
- - -

- - - -
diff --git a/pages/installation.html b/pages/installation.html deleted file mode 100644 index a7fbc0f3..00000000 --- a/pages/installation.html +++ /dev/null @@ -1 +0,0 @@ -Please see the download page for installation details. \ No newline at end of file diff --git a/routercheck.php b/routercheck.php deleted file mode 100644 index 2473d116..00000000 --- a/routercheck.php +++ /dev/null @@ -1,53 +0,0 @@ -0) && ($port<65536)) { - $msg = routercheck($hostname, $port); - } else { - $msg = "ERROR invalid port range"; - } -} - -?> - -I2P Router check - -

I2P Router check

-

-
-

Host/Port:
- - -

- - -
- - - diff --git a/www.i2p2/app.py b/www.i2p2/app.py new file mode 100644 index 00000000..06af8945 --- /dev/null +++ b/www.i2p2/app.py @@ -0,0 +1,53 @@ +from werkzeug import BaseRequest, BaseResponse, escape, run_simple, SharedDataMiddleware +from werkzeug.exceptions import HTTPException +from werkzeug.routing import RequestRedirect +from jinja import Environment, FileSystemLoader +from jinja.exceptions import TemplateNotFound +import os +from random import randint + +class Request(BaseRequest): + """Useful subclass of the default request that knows how to build urls.""" + + def __init__(self, environ): + BaseRequest.__init__(self, environ) + + +class Response(BaseResponse): + """Subclass of base response that has a default mimetype of text/html.""" + default_mimetype = 'text/html' + + +# setup jinja +env = Environment(loader=FileSystemLoader('pages', use_memcache=True)) + +def read_mirrors(): + file = open('mirrors', 'r') + dat = file.read() + file.close() + return dat.split('\n') + + +def app(environ, start_response): + """The WSGI application that connects all together.""" + req = Request(environ) + path = req.path[1:].lower() + if path == '': + path = 'index' + try: + try: + path.index('.') + tmpl = env.get_template(path) + except ValueError: + tmpl = env.get_template(path + '.html') + except TemplateNotFound: + tmpl = env.get_template('not_found.html') + resp = Response(tmpl.render()) + return resp(environ, start_response) + +app = SharedDataMiddleware(app, { + '/_static': os.path.join(os.path.dirname(__file__), 'static'), + '/.bzr': os.path.join(os.path.dirname(__file__), '../.bzr') +}) +if __name__ == '__main__': + run_simple('localhost', 5009, app) diff --git a/www.i2p2/generate.py b/www.i2p2/generate.py new file mode 100644 index 00000000..9893c883 --- /dev/null +++ b/www.i2p2/generate.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +import os +from jinja import Environment, FileSystemLoader +#from codecs import open + +env = Environment(loader=FileSystemLoader('pages'), trim_blocks=True, friendly_traceback=False) + + +def get_files(folder): + for fn in os.listdir(folder): + if fn.startswith('_'): + continue + fn = os.path.join(folder, fn) + if os.path.isdir(fn): + for item in get_files(fn): + yield item + else: + yield fn + +for filename in get_files('pages'): + filename = filename.split('/', 2)[1] + t = env.get_template(filename) + f = open(os.path.join('out', filename), 'w') + f.write(t.render().encode('utf-8')) + f.close() + print filename \ No newline at end of file diff --git a/www.i2p2/generate.sh b/www.i2p2/generate.sh new file mode 100755 index 00000000..c75a9085 --- /dev/null +++ b/www.i2p2/generate.sh @@ -0,0 +1,5 @@ +#!/bin/sh +rm -rf out +mkdir out +cp -R static out/_static +python generate.py \ No newline at end of file diff --git a/www.i2p2/pages/_config b/www.i2p2/pages/_config new file mode 100644 index 00000000..17ad7c90 --- /dev/null +++ b/www.i2p2/pages/_config @@ -0,0 +1 @@ +{# Jinja Config file #} \ No newline at end of file diff --git a/www.i2p2/pages/_layout.html b/www.i2p2/pages/_layout.html new file mode 100644 index 00000000..07745188 --- /dev/null +++ b/www.i2p2/pages/_layout.html @@ -0,0 +1,23 @@ + + + + + {% filter capture('title') %}{% block title %}{% endblock %}{% endfilter %} - I2P + + + + +
Skip navigation
+ +

{{ title }}

+ +
+ {% block content %}{% endblock %} +
+ + diff --git a/www.i2p2/pages/_menu.html b/www.i2p2/pages/_menu.html new file mode 100644 index 00000000..4f1a575d --- /dev/null +++ b/www.i2p2/pages/_menu.html @@ -0,0 +1,30 @@ +
Welcome to I2P
+
Download
+• Latest changes
+
News
+• Announcements
+• Mailinglist
+ +• Meetings
+• Roadmap
+• Task list
+
About I2P
+• FAQ
+• Forums
+• Bounties
+• Get involved
+• Donate!
+ +• I2P Team
+• Hall of Fame
+
Documentation
+• How does it work?
+• Tech intro
+• Howto docs
+• Applications
+
Development
+• API
+ +• Licenses +
Links
+Impressum
\ No newline at end of file diff --git a/pages/announcements.html b/www.i2p2/pages/announcements.html similarity index 98% rename from pages/announcements.html rename to www.i2p2/pages/announcements.html index 8fd369e6..23792071 100644 --- a/pages/announcements.html +++ b/www.i2p2/pages/announcements.html @@ -1,3 +1,6 @@ +{% extends "_layout.html" %} +{% block title %}Announcements{% endblock %} +{% block content %}

Past announcements

2007

+{% endblock %} \ No newline at end of file diff --git a/pages/api.html b/www.i2p2/pages/api.html similarity index 78% rename from pages/api.html rename to www.i2p2/pages/api.html index dbab2ec3..1f3768d0 100644 --- a/pages/api.html +++ b/www.i2p2/pages/api.html @@ -1,3 +1,6 @@ +{% extends "_layout.html" %} +{% block title %}Home{% endblock %} +{% block content %}

Application developers should review the application development guide for ideas about the four basic protocols for writing an application to run over I2P:

@@ -7,3 +10,4 @@ application to run over I2P:

  • I2CP
  • Datagrams
  • +{% endblock %} \ No newline at end of file diff --git a/pages/applications.html b/www.i2p2/pages/applications.html similarity index 99% rename from pages/applications.html rename to www.i2p2/pages/applications.html index a7e0d186..feeae50b 100644 --- a/pages/applications.html +++ b/www.i2p2/pages/applications.html @@ -1,3 +1,6 @@ +{% extends "_layout.html" %} +{% block title %}Applications{% endblock %} +{% block content %}

    Application development guide

    Why write I2P specific code?

    @@ -171,3 +174,4 @@ then fetching those messages by calling in something other than Java there is a significant amount of code to be written (encryption routines, object marshalling, asynchronous message handling, etc). While someone could write an I2CP library in C or something else, it would most likely be more useful to use the C SAM library instead.

    +{% endblock %} \ No newline at end of file diff --git a/pages/bounties.html b/www.i2p2/pages/bounties.html similarity index 96% rename from pages/bounties.html rename to www.i2p2/pages/bounties.html index adb01cd4..636eba84 100644 --- a/pages/bounties.html +++ b/www.i2p2/pages/bounties.html @@ -1,3 +1,6 @@ +{% extends "_layout.html" %} +{% block title %}Bounties{% endblock %} +{% block content %}

    While we always gratefully accept any contributions of code, documentation, and the like, there are other ways to help I2P move forward. As with any open source project, our goals would be achieved more @@ -77,3 +80,4 @@ etc), and the like.

    * Dev lists anyone who may already be working on the bounty - collaboration is preferred, so if you're interested in working on it, please contact one of the people listed!

    +{% endblock %} \ No newline at end of file diff --git a/pages/bounty_unittests.html b/www.i2p2/pages/bounty_unittests.html similarity index 91% rename from pages/bounty_unittests.html rename to www.i2p2/pages/bounty_unittests.html index dd054a06..b9ccdc9c 100644 --- a/pages/bounty_unittests.html +++ b/www.i2p2/pages/bounty_unittests.html @@ -1,4 +1,6 @@ -

    To improve I2P's maintainability, we want to have a solid set of +{% extends "_layout.html" %} +{% block title %}Bounty unittests{% endblock %} +{% block content %}

    To improve I2P's maintainability, we want to have a solid set of automated unit tests for the critical code. While we do have some unit tests at the moment, they are ad-hoc. This bounty is for someone to move the tests over to jUnit, automate their execution, @@ -45,3 +47,4 @@ measured code coverage of 90% of the streaming lib

    Note: bounty amounts may be increased by further donations. Do you think these are important? Add in your donation, marking the amount for the unit test bounty!

    +{% endblock %} \ No newline at end of file diff --git a/pages/cvs.html b/www.i2p2/pages/cvs.html similarity index 84% rename from pages/cvs.html rename to www.i2p2/pages/cvs.html index f0ae1b99..84bb161e 100644 --- a/pages/cvs.html +++ b/www.i2p2/pages/cvs.html @@ -1,4 +1,6 @@ -

    The I2P sourcecode is kept in a CVS repository. For those who aren't very +{% extends "_layout.html" %} +{% block title %}CVS{% endblock %} +{% block content %}

    The I2P sourcecode is kept in a CVS repository. For those who aren't very familiar with cvs, there is a fantastic book on the subject (developers only need to deal with the first chapter - "An Overview of @@ -25,3 +27,4 @@ Password: anoncvs

    Humourous quote from WinCVS: "Did you know... Never experiment with new CVS commands on your working repository. Create a sample module instead."

    +{% endblock %} \ No newline at end of file diff --git a/pages/datagrams.html b/www.i2p2/pages/datagrams.html similarity index 73% rename from pages/datagrams.html rename to www.i2p2/pages/datagrams.html index d1519eee..e117aa4f 100644 --- a/pages/datagrams.html +++ b/www.i2p2/pages/datagrams.html @@ -1,4 +1,6 @@ -

    Datagrams build upon the base I2CP to provide authenticated +{% extends "_layout.html" %} +{% block title %}Datagrams{% endblock %} +{% block content %}

    Datagrams build upon the base I2CP to provide authenticated and repliable messages in a standard format. This lets applications reliably read the "from" address out of a datagram and know that the address really sent the message. This is necessary for some applications since the base I2P message is @@ -8,4 +10,4 @@ message and sender is authenticated by signing the payload.

    Applications written in Java that want to use datagrams can access the net.i2p.client.datagram package (a part of the core SDK in i2p.jar), while applications in other languages -can use SAM's datagram support.

    \ No newline at end of file +can use SAM's datagram support.

    {% endblock %} \ No newline at end of file diff --git a/pages/donate.html b/www.i2p2/pages/donate.html similarity index 97% rename from pages/donate.html rename to www.i2p2/pages/donate.html index 4815f1a5..ce76dd3e 100644 --- a/pages/donate.html +++ b/www.i2p2/pages/donate.html @@ -1,4 +1,6 @@ -

    Thank you for your interest in contributing to I2P! The details of how you +{% extends "_layout.html" %} +{% block title %}Donate{% endblock %} +{% block content %}

    Thank you for your interest in contributing to I2P! The details of how you can make your contribution are provided below:

    PayPal

    @@ -152,3 +154,4 @@ Account number: 1274080



    +{% endblock %} \ No newline at end of file diff --git a/pages/download.html b/www.i2p2/pages/download.html similarity index 80% rename from pages/download.html rename to www.i2p2/pages/download.html index 909629b7..e713738a 100644 --- a/pages/download.html +++ b/www.i2p2/pages/download.html @@ -1,20 +1,22 @@ -

    Clean installs

    +{% extends "_layout.html" %} +{% block title %}Download{% endblock %} +{% block content %}

    Clean installs

    +{% endblock %} \ No newline at end of file diff --git a/favicon.ico b/www.i2p2/static/favicon.ico similarity index 100% rename from favicon.ico rename to www.i2p2/static/favicon.ico diff --git a/images/endToEndEncryption.png b/www.i2p2/static/images/endToEndEncryption.png similarity index 100% rename from images/endToEndEncryption.png rename to www.i2p2/static/images/endToEndEncryption.png diff --git a/images/i2plogo.png b/www.i2p2/static/images/i2plogo.png similarity index 100% rename from images/i2plogo.png rename to www.i2p2/static/images/i2plogo.png diff --git a/images/net.png b/www.i2p2/static/images/net.png similarity index 100% rename from images/net.png rename to www.i2p2/static/images/net.png diff --git a/images/plan.png b/www.i2p2/static/images/plan.png similarity index 100% rename from images/plan.png rename to www.i2p2/static/images/plan.png diff --git a/styles/default.css b/www.i2p2/static/styles/default.css similarity index 100% rename from styles/default.css rename to www.i2p2/static/styles/default.css