diff --git a/docker-run-dev.sh b/docker-run-dev.sh index 3560872a92fd3c206dc7745cc921354a3ca8d0a5..8d8ba708ab6f8802f6ce29fadaa3032786ad40ad 100755 --- a/docker-run-dev.sh +++ b/docker-run-dev.sh @@ -1,5 +1,5 @@ #! /usr/bin/env sh -#virtualenv --distribute env -#. env/bin/activate -./setup_venv.sh -./runserver.py +virtualenv --distribute env +. env/bin/activate +#./setup_venv.sh +DEV=on ./runserver.py diff --git a/i2p2www/blog/2021/08/26/20-Years-of-I2P.rst b/i2p2www/blog/2021/08/26/20-Years-of-I2P.rst index 64dec254ecee3504d8c18a188ce5712b97251add..e0f5bb7987b8add2a887992ae133d785baad15ee 100644 --- a/i2p2www/blog/2021/08/26/20-Years-of-I2P.rst +++ b/i2p2www/blog/2021/08/26/20-Years-of-I2P.rst @@ -93,9 +93,10 @@ and enhance I2P, and showcase the best of our community. Check back here for more in the coming days! {%- endtrans %} +* {% trans -%}`The History of I2P + </en/blog/post/2021/08/28/History-of-I2P>`_{%- endtrans %} * {% trans -%}Dependency-Free I2P of the Future - Jpackage Bundles and I2P-Zero (from Monero){%- endtrans %} * {% trans -%}Level-Up your I2P use with Encrypted LeaseSets{%- endtrans %} -* {% trans -%}The History of I2P{%- endtrans %} * {% trans -%}Dividing the Triangle: How I2P Eases Naming and Increases Flexibility for End-Users{%- endtrans %} * {% trans -%}I2P's Usability Journey{%- endtrans %} * {% trans -%}Building Bridges - Making Connections with Other Privacy Projects{%- endtrans %} diff --git a/i2p2www/blog/2021/08/28/History-of-I2P.rst b/i2p2www/blog/2021/08/28/History-of-I2P.rst new file mode 100644 index 0000000000000000000000000000000000000000..de260908b7269c226aec6cd75e96979acc4a7894 --- /dev/null +++ b/i2p2www/blog/2021/08/28/History-of-I2P.rst @@ -0,0 +1,510 @@ +=========================================================== +{% trans -%}20 Years of Privacy: A brief History of I2P{%- endtrans %} +=========================================================== + +.. meta:: + :author: sadie + :date: 2021-08-28 + :category: general + :excerpt: {% trans %}A history of I2P As We Know It{% endtrans %} + +{% trans -%} +Invisibility is the best defense: building an internet within an internet +{%- endtrans %} +------------------------------------------------------------------------- + + {% trans -%}I believe most people want this technology so they can express + themselves freely. It’s a comfortable feeling when you know you can + do that. At the same time we can conquer some of the problems seen + within the Internet by changing the way security and privacy is + viewed, as well as the extent to what it is valued.{%- endtrans %} + + +{% trans -%}In October 2001, 0x90 ( Lance James) had a dream. It started as a +“desire for instant communication with other Freenet users to talk about +Freenet issues, and exchange Freenet keys while still maintaining +anonymity, privacy and security.” It was called IIP — the Invisible IRC +Project.{%- endtrans %} + +.. compound:: + .. image:: /_static/images/history/invisibleirc_banner.png + :width: 100% + .. image:: /_static/images/history/invisibleirc.png + :width: 100% + +{% trans -%}The Invisible IRC Project was based on an ideal and framework behind The +InvisibleNet:{%- endtrans %} + +{% trans -%}In an interview from 2002, 0x90 described the project:{%- endtrans %} + + {% trans -%}“InvisibleNet is a research & development driven organization whose main + focus is the innovation of intelligent network technology. Our goal is + to provide the highest standards in security and privacy on the widely + used, yet notoriously insecure Internet."{%- endtrans %} + + {% trans -%}"The InvisibleNet team is comprised of a talented group of developers and + architects entirely dedicated to providing its users with both + convenience and the very best in secure communication."{%- endtrans %} + + {% trans -%}"Our technological ideals are reflected in the implementation of a + framework that is solid in design, and transparent in its application."{%- endtrans %} + + {% trans -%}"Here at InvisibleNet we strive towards the greatest level of quality + possible by keeping all areas of our research & development open and + available to the public for peer review, feedback, suggestions and new + ideas.”{%- endtrans %} + + {% trans -%}"The Invisible Internet Project: Defined as the “New Internet”. + Peer 2 Peer Internet. Using your peers to protect you. It is a + similar concept to the Invisible IRC Project, with its design as our + test model. We plan to re-design the Internet by taking it a step + further and having security and privacy be first priority."{%- endtrans %} + + {% trans -%}"The Invisible Internet Project or Protocol will be utilizing the + tests and research/development concepts of the Invisible IRC Project + to give us the scalability that we need and leverage this to take it + to the next level."{%- endtrans %} + + {% trans -%}"This, in essence will be an impenetrable neural-network, that is + self-driven, self-defensed, and completely seamless to already + applied protocols, specifically client to server (or agents as I call + them). It will be THE next transport layer, a layer on top of the + notoriously insecure Internet, to deliver full anonymity, privacy, + and security at the highest level possible. Decentralized and peer to + peer Internet, by the way, means no more worrying about your ISP + controlling your traffic. This will allow you to do seamless + activities and change the way we look at security and even the + Internet, utilizing public key cryptography, IP steganography, and + message authentication. The Internet that should have been, will be + soon."{%- endtrans %} + +.. compound:: + .. image:: /_static/images/history/invisiblenet.png + :width: 100% + +| {% trans -%}All citations and quotes are from the interviews found here:{%- endtrans %} +| http://invisibleip.sourceforge.net/iip/mediaDCInterview1.php +| http://invisibleip.sourceforge.net/iip/mediaDCInterview2.php +| http://invisibleip.sourceforge.net/index.php + +{% trans -%}By 2003, several other similar projects had started, the largest being +Freenet, GNUNet, and Tor. All of these projects had broad goals to +encrypt and anonymize a variety of traffic. For IIP, it became clear +that IRC alone was not a big-enough target. What was needed was an +anonymizing layer for all protocols. IIP by now was also being called +“InvisibleNet”.{%- endtrans %} + +{% trans -%}In early 2003, a new anonymous developer, “jrandom” joined the project. +His explicit goal was to broaden the charter of IIP.{%- endtrans %} + +{% trans -%}jrandom wished to rewrite the IIP code base in Java, a language he was +familiar with, and the same language Freenet was using. He also wished +to redesign the IIP protocols based on recent papers and the early +design decisions that Tor and Freenet were making. Some of these +concepts and naming conventions, such as “onion routing”, were modified +to become “garlic routing”. For several of the design decisions, jrandom +made different choices than Tor did, including selecting different +cryptographic primitives in a number of places. Many (but not all) of +these choices turned out quite well. For some others, such as using +unidirectional tunnels rather than Tor’s bidirectional tunnels, the +benefits and trade-offs are still not well-studied.{%- endtrans %} + +{% trans -%}jrandom also set out a clear vision for the architecture of the code. It +would be a client/server model, with the server (i.e. the router) +isolated from any “client” protocols. Clients such as web browsers, web +servers, IRC clients and servers, and others, would communicate through +the router using I2CP, the I2P Client Protocol.{%- endtrans %} + +{% trans -%}jrandom also had strong opinions on the direction of the project and its +philosophy. He was strongly committed to open source and free software. +He explicitly set a goal of protection from organizations with +“unlimited financial and political resources.”{%- endtrans %} + +{% trans -%}By late summer 2003, jrandom had taken control of the project, and +renamed it the Invisible Internet Project or “I2P”. He published a +document outlining the philosophy of the project, and placed its +technical goals and design in the context of mixnets and anonymizing +layers. He also published the specification of two protocols (I2CP and +I2NP) and their underlying data structures, that formed the basis of the +network I2P uses today. Lance (“nop”) was last seen in a project meeting +on November 11, 2003.{%- endtrans %} + +.. image:: /_static/images/history/bw1.png + +https://www.bloomberg.com/news/articles/2003-09-14/the-underground-internet + +.. image:: /_static/images/history/bw2.png + +{% trans -%}By fall 2003, I2P, Freenet, and Tor were rapidly developing. Business +Week published an article on “The Underground Internet” which referenced +InvisibleNet and discussed “darknets” extensively. jrandom released I2P +version 0.2 on November 1, 2003, and continued rapid releases for the +next 3 years. He maintained regular weekly meetings and status notes +during this time. Several popular services and “respites” emerged during +this time. Auto updates via clearnet HTTP became available in 2004.{%- endtrans %} + +{% trans -%}Through 2004 and 2005, router development continued, and several +“clients” or applications were added to the I2P package. “Mihi” wrote +the first streaming protocol implementation and the i2ptunnel interface +for configuring and starting client tunnels. “Susi” wrote the web mail +and address book applications SusiMail and SusiDNS. Many people worked +on the router console web interface. A bridge to make it easier for +non-I2P clients to communicate over I2P, called “SAM” (Simple Anonymous +Messaging) was added.{%- endtrans %} + +| {% trans -%}In February 2005, zzz installed I2P for the first time.{%- endtrans %} +| {% trans -%}Anonymity projects were in the news. After surveying the field, he + installed Freenet, and found it ambiguous, and difficult to explore. + Not only that, it was very resource heavy and it was difficult to get + anything to load. Tor and I2P were the other options, and he tried + I2P.{% endtrans %} + +{% trans -%}zzz had no preconceived plans to contribute to the project, and had +never written a line of Java. He had maybe used IRC once. At this time, +I2P was at version 0.5, with maybe a thousand users and three hard-coded +floodfills. Forum.i2p and postman’s tracker were up and running at the +time, and weekly meetings and status notes, and releases every couple of +week were happening.{%- endtrans %} + +{% trans -%}By summer 2005, zzz had set up two websites. The first was zzz.i2p, +which over the years became a central resource for I2P development, and +still is. The second was stats.i2p, the first site to gather statistics +on I2P network performance and present graphs on both the network and +individual routers. While the individual router statistics eventually +had to be shut down due to the tremendous growth of the network, the +overall performance graphs remain. We are not sure that he ever planned +to become the release manger for almost 2 decades, but we are happy he +did. The project has not only stayed active, it has thrived and scaled +to the demands of its growth.{%- endtrans %} + +.. compound:: + .. image:: /_static/images/history/statsi2p.png + :width: 100% + +{% trans -%}On July 27, 2005, jrandom released I2P version 0.6, including an +innovative new UDP transport protocol he designed called “SSU”, for +Secure Semi-reliable UDP. It contained features for IP discovery and +firewall traversal.{%- endtrans %} + +{% trans -%}In September 2005, jrandom bundled “Syndie”, his new high-latency +anonymous messaging system. In October 2005, jrandom ported Snark, a +Java BitTorrent client, to become an I2P application and bundled it with +the I2P package. This completed the collection of client applications +that are still bundled with I2P today.{%- endtrans %} + +{% trans -%}In late 2005 and early 2006, jrandom redesigned the way that I2P built +tunnels. This was a major effort that was done to increase the security +of the tunnel building, which is crucial to maintain anonymity and +resist attacks. He worked closely with the Freenet developers, including +“Toad”, on this design. The new build protocol required new I2NP +messages and a hard cut-over or “flag day”. These changes were released +in version 0.6.1.10 on February 16, 2006. This is significant as it is +the last flag day I2P has had. While, in practice, an 0.6.1.10 router +would not work well, if at all, in today’s network, we are, technically +speaking, backwards-compatible with this ten-year-old version today.{%- endtrans %} + +{% trans -%}By early 2006, the I2P software was at least feature-complete, but it +was still not widely-known. jrandom’s view was that it shouldn’t be +marketed publicly until it was near-perfect, and labeled as version 1.0. +The network had perhaps a thousand users at the time. Project members +were discouraged from talking about it online, and the website +(`i2p.net <http://i2p.net>`__) was unpolished and incomplete.{%- endtrans %} + +{% trans -%}On July 27, 2006, jrandom released I2P version 0.6.1.23, including an +innovative new TCP transport protocol he designed called “NTCP”, for +new-IO-based TCP. It used Java’s new IO library for efficient handling +of large numbers of TCP connections.{%- endtrans %} + +{% trans -%}In late 2006, jrandom turned his focus to Syndie. He came to see it as +his top priority, and the “killer application” for I2P. Highly secure +and almost unusable, it delayed messages for up to two days before +delivery to resist traffic analysis. Later in 2006, he stopped work on +the bundled Syndie application and started a new, incompatible, +standalone messaging application. This application was, confusingly, +also called “Syndie”. The new Syndie was a large and complex +development, and it was essentially a one-man project.{%- endtrans %} + +{% trans -%}From late 2006 into 2007, core I2P development and releases slowed +dramatically. From almost 30 releases in 2005 and 13 in the first half +of 2006, there were only 5 in the second half of 2006 and only 4 in all +of 2007. During this time, zzz and a developer named Complication had +source code commit privileges and were making changes, but their +understanding of the code base was limited. zzz worked, for example, on +improving i2psnark, fixing bugs, and redesigning the strategy for +anticipatory tunnel building. But there was a lot more that needed to be +done. Complication and zzz did what they could, and they wrote the code +for almost all the changes in the four 2007 releases +(0.6.1.27–0.6.1.30). By this time, jrandom was providing very little +guidance, code review, or direction for the project.{%- endtrans %} + +{% trans -%}It wasn’t apparent at the time, but the project was in trouble.{%- endtrans %} + +{% trans -%}jrandom had almost stopped working on the core I2P router and +applications. Even the new Syndie, which he had declared as far more +important than I2P itself, languished. After regular releases through +March 2007, his next Syndie release, 1.100a, was August 25, 2007. All +I2P releases were required to be signed by jrandom’s key, and he built +and signed his last release, 0.6.1.30, on October 7, 2007.{%- endtrans %} + +{% trans -%}In November 2007, disaster struck. Complication and zzz received a +cryptic message from jrandom, that he would have to take time off from +both Syndie and I2P development for a year or more. He expected that he +would still be available to sign releases, but was willing to pass the +release signing key to somebody else. Complication and zzz immediately +replied with a request for the release key and other credentials, such +as access to the website, mailing list, CVS administration, and others. +Unfortunately, they never heard from jrandom again.{%- endtrans %} + +{% trans -%}Late 2007 and early 2008, they awaited jrandom’s response, and wondered +what to do next. However, all of the project infrastructure remained +active, so it didn’t seem to be an immediate crisis. They knew, however, +that without the release key or website access, they would have to sign +with new keys, host the files on a new website, and require everybody to +manually update since their keys wouldn’t be recognized.{%- endtrans %} + +{% trans -%}The second stage of the disaster happened on January 13, 2008. The +hosting company for almost all `i2p.net <http://i2p.net>`__ servers +suffered a power outage, and they did not fully return to service. Only +jrandom had the credentials required to restore service. In addition, +the centralized CVS source control appeared to be down, so five years of +source control history appeared to be lost. Luckily, the CVS server was +up, only the name server for it was down. The full contents of the CVS +archive was quickly downloaded.{%- endtrans %} + +| {% trans -%}Complication, welterde, and zzz quickly made a number of decisions to + get the project back up and running. Welterde started a new website at + `i2p2.de <http://i2p2.de>`__. I2P needed to move to a decentralized + source code control system. They tested bazaar and that did not work + well over i2P. Git was just getting started. jrandom had used monotone + for Syndie and liked its security properties, and it worked well over + I2P, so it was selected.{%- endtrans %} +| {% trans -%}Several people set up new services. The next release, 0.6.1.31, was + signed by Complication and required a manual upgrade. It was released + on February 10, 2008.{%- endtrans %} + +{% trans -%}The project realized that even though it claimed to be totally +decentralized, it actually depended on a number of centralized +resources, above all, on jrandom. Work was done throughout 2008 to +decentralize the project, and distribute roles to a number of people. +Additionally, it was realized that development had essentially stalled +in 2007, because jrandom had stopped working on it, but had not +delegated to other developers. Nobody had an overall understanding of +the code base.{%- endtrans %} + +{% trans -%}Complication continued to sign the releases through mid-2009, but his +contributions declined as he focused on activism and other projects. +Starting with release 0.7.6 on July 31, 2009, zzz would sign the next 49 +releases.{%- endtrans %} + +{% trans -%}In December 2008, zzz attended his first CCC, 25C3 in Berlin, and met +other I2P project team members for the first time, including hottuna and +welterde. The experience was overwhelming, and also humbling, as he +struggled to explain I2P to others or answer even basic questions about +its design and use of cryptography.{%- endtrans %} + +{% trans -%}By mid-2009, zzz had come to understand the code base much better. Far +from being complete or perfect, it was filled with problems and +scalability issues. In 2009 the project experienced more network growth +due to its anonymizing properties as well as its circumvention +abilities. Participants appeared who were beginning to adopt the network +for reasons like censorship and clearnet issues like blocking of popular +services. For development gains, in-net auto updates became available +for the software.{%- endtrans %} + +.. image:: /_static/images/history/propaganda.jpeg + +{% trans -%}July 2010 zzz briefly presented I2P at the end of Adrian Hong’s +presentation at HOPE XXXX. Adrian talked about how tech has helped +expose human rights violations, and the need for defensive tools for +activists. He urged that we all be ambassadors for all tech, stay on top +of new tech, and keep the barrier low and educate people about how to +use the tool we create.{%- endtrans %} + +{% trans -%}He also talked about how we need many options for people to use, and +asked how do we make it easier to support human rights, freedom of +expression?{%- endtrans %} + +{% trans -%}At the end of the talk, zzz was invited on stage to introduce I2P and +give an overview of what the project was about. The same weekend, it was +pointed out that the I2P documentation was not in great shape.{%- endtrans %} + +{% trans -%}In Fall 2010, zzz declared a moratorium on I2P development until the +website documentation was complete and accurate. It took 3 months to get +it done.{%- endtrans %} + +{% trans -%}Beginning in 2010, until COVID restrictions were put in place, zzz, ech, +hottuna, and other I2P contributors have attended CCC ( Chaos +Communications Congress) every year. Over the years, meeh, Zab, Sadie, +LazyGravy, KYTV, IDK and others have made the trip to Germany to share +tables with other projects and celebrate the end of a year of releases. +The project looks forward to one day being able to meet up again and +have an in-person yearly roadmap meeting.{%- endtrans %} + +{% trans -%}Anoncoin, a digital cryptocurrency that focuses on privacy and anonymity +for its users was created in 2013. It was the first coin that provided +built-in support for I2P, as well as Tor that makes it impossible to +determine the IP address of the user. The developers, including meeh, +also ran organizations like Privacy Solutions, and provided infrastructure +support to the I2P network by running services like outproxies and +reseed servers.{%- endtrans %} + +{% trans -%}I2PBote development started to take off again in 2014 when str4d began +contributing to the project. Bote is a server-less email client — it +stores email in a `distributed hash +table <http://en.wikipedia.org/wiki/Distributed_hash_table>`__. Email is +“automatically encrypted and digitally signed, which ensures no one but +the intended recipient can read the email, and third parties cannot +forge them.” ( https://i2pbote.xyz/). The project has existed since +2009.{%- endtrans %} + +.. compound:: + .. image:: /_static/images/history/bote.png + :width: 100% + +> I2PBote screenshot Credit: AceBarry + +{% trans -%}At Real World Crypto that year, zzz, psi and str4d began to talk about +and review the plan to update I2P’s cryptography. The same year, the +project was awarded a $5k donation from Duck Duck Go. Lavabit, +SecureDrop, RiseUp and Mailpile also received donations for supporting +better trust and privacy online.{%- endtrans %} + +{% trans -%}By late 2014 most new signing crypto was complete, including ECDSA and +EdDSA. New destination crypto was available; but new router info crypto +needed to wait a year for the network to upgrade sufficiently.{%- endtrans %} + +{% trans -%}During the early part of 2015, zzz posted to Twitter that it would be +great to have a mini conference for I2P. In Spring, it was decided that +I2PCon would take place that August over the course of a weekend.{%- endtrans %} + +{% trans -%}Hottuna and Sadie organized most of the details, getting graphic assets +created, posters printed and a banner made for the podium. Nick at +Hacklab, where the event would take place, helped with making sure the +space was ready for the event. Sadie reached out to the local infosec +community and helped secure guest speakers as well. The event happened +on one of the hottest weekends of the Summer, with attendees arriving +from America and Europe. The I2P community did an amazing job of +supporting the event by postering, giving talks, and spreading the word +in forums and on social media. The talks can be viewed on KYTV’s YouTube +Channel https://www.youtube.com/channel/UCZfD2Dk6POE-VU8DOqW7VVw{%- endtrans %} + +.. compound:: + .. image:: /_static/images/history/i2pcon1.png + :width: 100% + +{% trans -%}In January 2016 at Real World Crypto Stanford — str4d gave a talk on the +crypto migration progress and future plans for the project. zzz and +others would continue weekly meetings to plan the migration over the +next few years.{%- endtrans %} + +{% trans -%}NTCP2 was implemented in 2018, in release 0.9.36. It was disabled by +default so that it could be tested. It was enabled in 0.9.37. NTCP1 was +disabled in 0.9.40.{%- endtrans %} + + {% trans -%}The new I2P transport protocol provides effective resistance against + DPI censorship. It also results in reduced CPU load because of the + faster, modern cryptography used. It makes I2P more likely to run on + low-end devices, such as smartphones and home routers. Both major I2P + implementations have full support for NTCP2 and it make NTCP2 + available for use starting with version 0.9.36 (Java) and 2.20 (i2pd, + C++).{%- endtrans %} + +{% trans -%}The complete implementation details can be read here +https://geti2p.net/en/blog/post/2018/08/20/NTCP2{%- endtrans %} + +{% trans -%}0.9.39 included extensive changes for new network database types +(proposal 123). The i2pcontrol plugin was bundled as a web-app to support +development of RPC applications.{%- endtrans %} + +{% trans -%}In 2019, the team decided to attend more conferences. That year IDK and +zzz attended DefCon, and IDK gave a workshop on I2P application +development. At Monero Village, zzz gave a talk called I2P for +Cryptocurrency Developers.{%- endtrans %} + +{% trans -%}Late that year, Sadie and IDK attended Our Networks in Toronto, where +IDK gave a lightning talk about I2P.{%- endtrans %} + +{% trans -%}Sadie attended RightsCon in Tunis and the Internet Freedom Festival in +Valencia to meet with NGO’s and Human Right Defenders. Thanks to the the +connections we made, the project received grants for usability and +accessibility support from Open Tech Fund, and most recently Internews. +This will ensure more user friendly onboarding, UX, and information +architecture improvements to support the growing interest in the +network. It will also support specific tooling to help in-need users +with specific risk surfaces through user research.{%- endtrans %} + +.. image:: /_static/images/history/phong.png + +{% trans -%}That Summer, Hoàng Nguyên Phong had his research into I2P censorship +accepted too FOCI at USENIX in Santa Clara. Sadie had supported the +research and they attended together. I2P Metrics was created during this +time https://i2p-metrics.np-tokumei.net/, and well as research into more +resistant reseed servers for the I2P network +https://homepage.np-tokumei.net/post/notes-i2p-reseed-over-cloudflare/. +You can read the research report here +https://homepage.np-tokumei.net/post/notes-otf-wrapup-blogpost/.{%- endtrans %} + +{% trans -%}At CCC that year, the decision was made to migrate from Monotone too +GitLab. The project was one of the last to use Monotone, and it was time +to prepare to move on. IDK would spend 2020 ensuring the process was as +smooth as it could be. The pandemic would result in the team not being +able to see each other that year to celebrate the ( mostly) smooth move +to Gitlab. On December 10. 2020, the project switched off the old mtn +i2p.i2p branch, and moved the development of the core Java I2P libraries +from Monotone to Git officially.{%- endtrans %} + + {% trans -%}Congratulations and thanks to everyone who helped in the git + migration, especially zzz, eche|on, nextloop, and our site mirror + operators! While some of us will miss Monotone, it has become a + barrier for new and existing participants in I2P development and + we’re excited to join the world of developers using Git to manage + their distributed projects.{%- endtrans %} + +https://geti2p.net/en/blog/post/2020/12/10/Hello-git-goodbye-mtn + +{% trans -%}0.9.47 enabled the new end-to-end encryption protocol (proposal 144) by +default for some services. A Sybil analysis and blocking tool was also +now enabled by default. 0.9.48 enabled the new end-to-end encryption +protocol (proposal 144) for most services. Preliminary support was added +for new tunnel build message encryption (proposal 152). There were +significant performance improvements throughout the router.{%- endtrans %} + +{% trans -%}0.9.49 was the release that brought faster crypto. The I2P network +became faster and more secure. Improvements and fixes for the SSU (UDP) +transport resulted in faster speeds. The release also started the +migration to new, faster ECIES-X25519 encryption for routers. The +project had been working on the specifications and protocols for new +encryption for several years, and was getting close to the end of it. +The migration would take several releases to complete.{%- endtrans %} + +{% trans -%}To minimize disruption, only new installs and a very small percentage of +existing installs (randomly selected at restart) would be using the new +encryption.{%- endtrans %} + +{% trans -%}The project had “rekeyed” the network twice before, when changing the +default signature type, but this was the first time it had changed the +default encryption type. 0.9.50 enabled DNS over HTTPS for reseeding to +protect users from passive DNS snooping. There were numerous fixes and +improvements for IPv6 addresses, including new UPnP support.{%- endtrans %} + +.. _31b4: + +{% trans -%}1.5.0 — The early anniversary release because it is so good!{%- endtrans %} +------------------------------------------------------------ + + {% trans -%}Yes, that’s right, after 9 years of 0.9.x releases, we are going + straight from 0.9.50 to 1.5.0. This does not signify a major API + change, or a claim that development is now complete. It is simply a + recognition of almost 20 years of work to provide anonymity and + security for our users.{%- endtrans %} + + {% trans -%}This release finishes implementation of smaller tunnel build messages + to reduce bandwidth. We continue the transition of the network’s + routers to X25519 encryption. Of course there are also numerous bug + fixes and performance improvements.{%- endtrans %} + + {% trans -%}As usual, we recommend that you update to this release. The best way + to maintain security and help the network is to run the latest + release.{%- endtrans %} + +{% trans -%}Congratulations team. Let’s do another 20.{%- endtrans %} diff --git a/i2p2www/downloads.py b/i2p2www/downloads.py index 419d5ac9ceb5a9644e8b2509d75c15a26999b36a..5d46df9309fffb18ae87ace443369f6c873f7d42 100644 --- a/i2p2www/downloads.py +++ b/i2p2www/downloads.py @@ -7,25 +7,25 @@ from random import randint from i2p2www import CURRENT_I2P_VERSION, MIRRORS_FILE -DEFAULT_MIRROR = { - "net": "clearnet", - "protocol": "https", - "domain": "files.i2p-projekt.de", - "path": "/%(version)s/%(file)s", - "org": "i2p-projekt", - "country": "de", -} - -#{ -# "net": "clearnet", -# "protocol": "https", -# "domain": "download.i2p2.de", -# "path": "/releases/%(version)s/%(file)s", -# "org": "i2p2.de", -# "org_url": "https://download.i2p2.de", +#DEFAULT_MIRROR = { +# "net": "clearnet", +# "protocol": "https", +# "domain": "files.i2p-projekt.de", +# "path": "/%(version)s/%(file)s", +# "org": "i2p-projekt", # "country": "de", #} +DEFAULT_MIRROR = { + "net": "clearnet", + "protocol": "https", + "domain": "download.i2p2.de", + "path": "/releases/%(version)s/%(file)s", + "org": "sigterm.no", + "org_url": "https://download.i2p2.de", + "country": "no", +} + #{ # 'net': 'clearnet', # 'protocol': 'https', diff --git a/i2p2www/pages/downloads/macros b/i2p2www/pages/downloads/macros index 5c7ddb34425618eb01098a045cd09e9f3e6d56d4..61a4b9e2a37b6a76dcb9a16f5db214f8133e8b1c 100644 --- a/i2p2www/pages/downloads/macros +++ b/i2p2www/pages/downloads/macros @@ -2,13 +2,13 @@ {% set i2pinstall_jar_hash = '8c843c90870223b4808065761d059a02b168b74daddd1773c36f0a0245e201f9' %} {% set i2psource_hash = '26e5f4d95b1a0766870f97b30e57c9a8e98690279c3bf09198e30effabecc450' %} {% set i2pupdate_hash = 'ea1b4b8095f4d6f5568ce879242e1d5b077de1beb4366f4a75a75cffd559ee7f' %} -{% set i2p_android_hash = '2795d966a498aa3c4a8e43176e3c0fb3f3ae1012689361f991e48edfa542dd4f' %} +{% set i2p_android_hash = '6ed5622ea592f4e5d24723a8525147d4bd30b94ada7b2e6613c683df583e826a' %} {% set i2p_macnative_hash = '70447e8a352654afd940cfc6c05f094732de7ab05db7c42c173e49f37259d601' %} {% set i2p_windows_subver = '' %} {% set i2p_macosx_launcher_version = '0.1.8' %} -{% set i2p_android_version = '0.9.50' %} +{% set i2p_android_version = '1.5.0' %} {% set i2p_android_version_kytv = '0.9.22' %} {% set i2p_android_version_fdroid = '0.9.47-1' %} diff --git a/i2p2www/static/styles/duck/default.css b/i2p2www/static/styles/duck/default.css index b015a8d80caadb4db1493e0922cab1690558e3d8..82a1322cd028a305f77f4a73b52b04651ce39a85 100644 --- a/i2p2www/static/styles/duck/default.css +++ b/i2p2www/static/styles/duck/default.css @@ -586,6 +586,15 @@ div#content .inner ul.DREAD { padding-right: 1.3rem; } +.compound img { + max-width: 80% !important; + box-shadow: none !important; +} + +blockquote { + margin-left: 5%; +} + #post li img { display: inline-block; margin-right: 50%; diff --git a/site-updater-docker.sh b/site-updater-docker.sh index 20bb0b489278b2adea2be546059a5030703931e5..649c3dc386bd3d55ce7798d0e0be41de89ebd743 100755 --- a/site-updater-docker.sh +++ b/site-updater-docker.sh @@ -49,4 +49,4 @@ cd "$DIR" git pull origin master docker build $i2p_www_docker_build_args -t i2p-mirror/i2p.www$suffix . docker rm -f mirror.i2p.www$suffix -docker run $i2p_www_docker_run_args --name mirror.i2p.www$suffix -p 0.0.0.0:$port:80 i2p-mirror/i2p.www$suffix +docker run $i2p_www_docker_run_args --name mirror.i2p.www$suffix -p 0.0.0.0:$port:80 i2p-mirror/i2p.www$suffix $@