I2P VERSION ...?
The next major release of I2P is scheduled perhaps for mid-to-late 2013. Despite the name of this page, the milestone is currently not numbered, it could be 1.0, or 0.10, or 0.91, or something else.
The real roadmap is here - http://www.i2p2.i2p/roadmap.html - but it is very vague about 1.0 (and this milestone may not cover that anyway).
If you have any ideas for the next milestone, add them here. If you are interested in getting paid to work on I2P (for example via Google Summer of Code 2013 or nlnet.nl funding.... not that we've ever gotten any funding, but it could happen) be sure to add your ideas here. Also look at the GSoC page here on the wiki.
NETWORK DATABASE
- Encrypted netdb responses
- Open tickets:
- Completed tickets:
TRANSPORT
- Reachability Mapping / handle peers partially reachable / enhanced restricted routes
- LOTS DONE, ONGOING - Better profile and netdb expiration / memory usage
- Circumvention for various types of state firewalls
- Multicast?
- Restricted routes - start work on this - see http://zzz.i2p/topics/114
- Lower default connection limits
- IN DEVELOPMENT - IPV6 support
- Transport timeouts / fallback analysis and improvements
- Bridges like Tor has them?
- New transports
- TLS Transport?
- I2P-over-HTTP (to pass through HTTP proxies)
- I2P-over-DNS (for firewalls that allow DNS lookups)
- I2P-over-ICMP (for firewalls that allow pinging remote servers)
- Open tickets:
- #23
- Implement possibility to define multiple/or range of ports in i2np.udp.port and i2np.ntcp.port
- #346
- Near 100% packet loss with big datagrams
- #392
- ] p.router.transport.ntcp.Writer: Error in the ntcp writer
- #459
- NTCP thrashing at startup
- #481
- UPnP: [Fatal Error] :15:1: Content is not allowed in trailing section.
- #530
- ERROR [P reader 2/4] .transport.ntcp.NTCPConnection: I2NP message too big
- #546
- Error in the ntcp reader
- #551
- High CPU usage by NTCP Pumper thread
- #565
- NTCP exception (buf is null)
- #572
- SCTP protocol support
- #636
- [NTCP Pumper ] ter.transport.ntcp.EventPumper: Error in the event pumper
- #648
- outbound (proxy) node support
- #654
- Improve Symmetric NAT handling
- #657
- SSU review
- #661
- I2P doesn't reopen UPnP ports after UPnP router restart
- #674
- NTCP Event pumper should not have unbounded byte cache
- #689
- NTCP limit inbound queues
- #698
- Message delay calculation
- #699
- Various small tweaks to reduce object churn
- #708
- transport selection, uPNP interaction
- #719
- Add priority to FIFOBandwidthLimiter outbound queue
- #720
- Implement per-destination priority
- #725
- UPnP: java.lang.ArrayIndexOutOfBoundsException
- #728
- UPnP lib NPE
- #739
- Rate Scheduling
- #745
- utp support?
- #762
- NTCP outbound queue stuck
- #772
- Massive number of duplicate acks
- #774
- ACKSender study & optimizations
- #786
- Move stats updating out of codel()
- #814
- sport.udp.EstablishmentManager: Error in the establisher
- #873
- Port changing .. obscurely
- #889
- Avoid using the same countries where possible
- #926
- High tunnel count
- Completed tickets:
- #427
- UPnP fails to open ports on hardware router
- #553
- Problem handling detected, correct external IP address resulting in Status "firewalled"
- #660
- The same PacketHandler thread should handle packets from the same host
- #663
- UDPPacket.verifyNotReleased() logic inverted
- #664
- UDPReceiver.MAX_QUEUE_PERIOD check can fail sporadically
- #665
- Debugging with (new Exception()) should not be used in hot paths
- #669
- Postpone establishment timeout if anything received
- #675
- Various UDPPacket "leaks"
- #676
- NPE in net.i2p.router.transport.udp.EstablishmentManager
- #682
- SSU PMTU
- #697
- Heavy monitor contention in ntcp.{Reader,Writer}$Runner.run
- #707
- easy tweaks to reduce NTCP reader thread cpu usage
- #709
- Spurious NPE at Shutdown
- #727
- Prevent i2p router from getting configured with a private IP address
- #748
- "Crazy" Packet Error
- #770
- p.router.transport.ntcp.Writer: Error in the ntcp writer java.lang.NullPointerException
- #798
- sport.udp.EstablishmentManager: Error in the establisher
- #813
- sport.udp.EstablishmentManager: Error in the establisher
- #824
- Transport NPE (was: error)
- #909
- I2P router listen only IPv6 on IPv4-Ipv6 dual-stack computers
- #914
- i2p router doesn't open its port on ipv4 address
- #922
- UDP per tunnel
- #925
- High message lag in 0.9.5 and 0.9.5-13
- #928
- CancelledKeyExceptions in ntcp.EventPumper
- #930
- upnp addportmapping
- #931
- UPnP.java documentation error(?)
CORE ROUTER / STREAMING
- Proof of security and reliability
- Full audit of I2P crypto
- REVIEW ONGOING - (#856) Possible DSA 1024/160 replacement, see http://zzz.i2p/topics/715
- OpenITP Peer Review Board - http://wiki.openitp.org/peerreviewboard:start
- Full audit of I2P crypto
- Peer profiling formulas - analysis and improvements
- Use Java 1.6 features
- Bigger I2NP Messages?
- 3 hop default for exploratory tunnels?
- ONGOING - working on getting I2P slim and fast
- (#739) Sleep mode (so it donates more bandwidth while at I'm at work)
- Streaming
CONSOLE
- Improve help pages
- ONGOING - More translations
- DONE - AJAX updating for summary bar
- JQuery in console?
- ONGOING - Configurable modular summary bar
- CURRENTLY LINKS TO WEBSITE - Full proxy setup help pages in console for various proxy-switcher and browser combinations
- CURRENTLY LINKS TO http://plugins.i2p - Links on the router console to all known plugin repositories
- IN DEVELOPMENT - Task-centric router interface as an option with all the current technical stuff either hidden & available on the current one or pushed into an "advanced" section
- IN DEVELOPMENT - Make it easier and clearer for newbies to see what one can DO with I2P - i.e., Applications. Need to integrate I2PBote, Tahoe-LAFS, I2PMessenger, Syndie, etc. or make it easy to find out about these applications and how to install them if they cannot be integrated into the I2P distribution. Add I2P website links to suggested Firefox Add-ons also.
- Open tickets:
- #354
- Console HTML validation fixes
- #383
- findbugs console
- #497
- Misspelling in logs "ademlia"
- #547
- Profile path in the interface
- #628
- Allow IE to use regular themes
- #731
- Multi user support
- #738
- Router console redesign
- #752
- backup keyfiles
- #753
- Implement subscription feeds
- #773
- Overlapping text in midnight theme
- #775
- Terminal User Interface
- #894
- Router console inaccessible
- #900
- Router console in IE10
- #902
- Describe "Rejecting Tunnels" better
- #923
- Firewall & reseed status panel does not always show in summary bar
- #927
- Disabling stats in /configstats returns them to default state
- Completed tickets:
- #484
- "Download xxx update" button should disappear after downloading update
- #489
- headers break arabic ligatures
- #652
- Console authentication improvements
- #679
- Something somewhere is using DirectByteBuffers the wrong way
- #701
- 2 small typos in the routerconsole found using Transifex
- #724
- Tunnel Error
- #740
- ip2 router down
- #763
- 0.9.3-2: org.mortbay.jetty.Server : /i2psnark/.ajax/xhr1.html java.lang.NullPointerException
- #767
- Proposal to implement a gui bandwidth scheduler
- #835
- sanitize IP input
- #852
- error closing tunnels
- #857
- Router console - Invalid form submission
- #890
- Graphs page, bw.combined
- #915
- error when opening graphs page in 0.9.5-4
INSTALLER / PACKAGING / PLATFORMS
- Debian
- Ubuntu
- Open tickets: No results
- Completed tickets: No results
- Android
- Get router updated and working
- Lots of UI work
- Open tickets:
- #692
- Moving hosts.txt to sqlite
- Completed tickets: No results
- More platforms and distributions
- Gentoo ebuild?
- RPM?
- Other mobile platforms?
- Official USB key package
- (Minor) Show a hint/warning when installing I2P if java version is out of date, like Freenet does
- Include some seed data in the distribution so a central reseed location isn't required?
- Revisit split directory issues - go non-split for windows?
- Splitting the distribution into router- and core-part and application package
- Much easier setup - bundled browser? Or a http://dooble.sf.net plugin?
- Make a Browser like www.xerobank.com for tor as well for I2P, so that i2p is always running if the browser is used, I suggest to use http://dooble.sf.net for that idea, as here an I2P proxy is already in fir .i2p sites, while normal sites in another tab can be loaded as well.
- Installer
- Wrapper
- Open tickets:
- Completed tickets:
- Open tickets:
APPLICATIONS / PLUGINS / I2PTUNNEL
- 3 hop default for everything?
- Streaming audio improvements and plugin
- I2PSnark
- Improve usability with things like: group torrents by status (stopped, completed, seeding, downloading...), adding torrents with just a click in browser instead of cut 'n' paste to the UI, show number of distributed copies?
- Open tickets:
- #44
- I2PSNARK --> Priority for torrents
- #371
- I2PSnarkServlet / SnarkManager DirMonitor
- #372
- Button for manual recheck
- #385
- findbugs i2psnark
- #571
- snark char mapping on torrent creation
- #622
- All Icons should be flexible to style.
- #637
- snark sort algo ignoring ¨The.¨
- #641
- IOException: File does not exist (self-caused)
- #691
- I2PSnark sends interested message when not interested
- #730
- Default snark download location should not be "hidden"
- #766
- Auto-start by default in i2psnark
- #771
- I2PSnark: Willful rewriting of special characters
- #784
- Total uploader limit not being utilized
- #808
- Start all/Stop all button inconsistencies
- #818
- Adding superseed to i2psnark
- Completed tickets:
- #447
- i2psnark handling of skipped files
- #563
- i2psnark TrackerClient thread hangs occasionally
- #570
- reported "torrent created" after it was deleted
- #575
- retry function for torrent fetchin broken
- #640
- please delete
- #645
- i2psnark upload configuration
- #673
- logging in snark creates garbage even when disabled
- #695
- Add 'checking' status to i2psnark
- #705
- Little error in spanish translation
- #706
- Little error in spanish translation
- #768
- Storage location for Snark needs a UI option to configure
- #777
- i2psnark: java.lang.IndexOutOfBoundsException
- #778
- Add functionality to allow i2psnark to create torrents with support for multiple trackers
- #884
- I2PSnark tunnels
- #907
- i2psnark does not recognize any torrents when invoked with autoStart=true
- #910
- Snark reports inflated numbers of peers
- #911
- i2pSNARK fatal storage error
- I2PTunnel
- Support HTTP/1.1 in the eeproxy for reduced page load times http://www.w3.org/Talks/9704WWW6-WebPerf/slide11.htm
- Better handling of multiple outproxies (stay with one while it is working)
- Open tickets:
- #48
- NNTP server tunnel
- #335
- Leading null bytes received in HTTP Server
- #378
- findbugs i2ptunnel
- #642
- Undead tunnels when not select "Shared Client".
- #651
- tunnel port kept open on stopping tunnel with invalid dest
- #666
- i2ptunnel uses un-buffered socket streams
- #688
- false "add to local addressbook" link in server settings
- #721
- webserver tunnel - website name field
- #722
- Destination not killed on restart
- #779
- increase server max threads or i2ptunnel.blockingHandlerCount
- #785
- HTTP client tunnel: Don't send "X-Accept-Encoding:" or "Accept-Encoding:" headers when connecting via outproxy
- #815
- i2ptunnel locking
- #816
- I2P error - proxy authentication required
- #822
- tunnel problem with to much concurrent connections
- #881
- Default SOCKS client tunnel
- #921
- UDP per tunnel
- #929
- i2ptunnel and routerconsole lag when we load too many things at a time
- #936
- Default new tunnel to 3 hops
- Completed tickets:
- #581
- Hide long string in "Destination"
- #638
- i2jump.i2p 500
- #723
- i2ptunnel darkloris
- #755
- i2ptunnel OOM (was: strange effects with latest versions)
- #757
- http local tunnel auth unable to be none
- #851
- IP to I2P address mappings in SOCKS client tunnels
- #882
- Make 'Save' the default action when creating a new tunnel
- #891
- Special symbols in URL parsing
- #904
- IRC tunnel filters SASL
- Susimail
- ONGOING - improvements
- Open tickets:
- Completed tickets:
- #647
- susimail: The colors are biting.
- Syndie
- Other plugins
- Open tickets:
- #566
- Asked for router restart. Result: console hung (seedless sleeping)
- #567
- Move seedless logging out of wrapper log
- #606
- i2pcontrol Concurrent Modification Exception
- #624
- Move disk-intensive files to a user selectable dir -- Seedless databases.
- #865
- Pebble vulns
- #885
- seedless not propperly removed
- #897
- Check for outdated plugins appears to be broken
- Completed tickets:
- #564
- bote/seedless shutdown issues (was: Addressbook should not try to write to a read-only $I2P)
- #670
- PluginStarter references to Jobs
- #696
- Excessive logging by I2P-Bote
- #791
- The button "New" (Write new mail) is absent in router bote-mail page if the Russian language of GUI is selected
- #836
- java.lang.IllegalStateException at [...].AbstractSessionManager trying to stop a plugin
- #838
- I2PBote Errors
- #842
- It happened when stopping i2pbote v1.101b-7-b8 on this page: http://127.0.0.1:7657/configclients
- #848
- SimpleTimer2: Connection exited unexpectedly
- #880
- i2pbote - org/bouncycastle/crypto/Digest
- Open tickets:
- ONGOING - Lots more plugins
- Anonymous Digital Cash to pay for I2p resources anonymously, using a digital cash library such as this one: http://wiki.github.com/FellowTraveler/Open-Transactions/wiki
- Chat plugin
- Tahoe-LAFS plugin
- SEVERAL EXTERNAL PROGRAMS IN DEVELOPMENT - VOIP / voice chat plugin
- Distributed cache. Should be able to publish a file to the cache like on Freenet and retrieve it with no other knowledge than its SHA256 (or similar) checksum. If a web server provides the checksum in its GET/HEAD header, eeproxy should first try to get it from the cache and use the webserver as a fallback (and then place it in the cache after retrieval and verification).
WEBSITE
- AWAITING DEPLOYMENT - (#807) New website backend with easier content management and translation capabilities
- Improve help pages
- Include revision numbers to help translators finding outdated sites --> http://zzz.i2p/topics/734
- Open tickets:
- #324
- docs.i2p2.de/javadoc/ is not auto-updating
- #325
- docs.i2p2.i2p is old and not synced with docs.i2p2.de
- #424
- https://a.netdb.i2p2.de/ reseed broken
- #446
- Change guest user/pw or add captcha
- #520
- Last-Modified header for http://www.i2p2.de/hosts.txt
- #595
- WWW Trac Plaintext Passwords
- #716
- I2p doc inaccuracies
- #726
- users can be deanonymized with browser fingerprinting
- #794
- Set up SSL certs from a "legitimate" CA
- #807
- Revamp of website
- #833
- Fix documentation of AES padding
- #917
- Restore login/register links at bottom of each trac page
- Completed tickets:
- #678
- Broken link: comparison of I2P to Tor in Tor FAQ
- #750
- Error in doc Transport layer overview
- #793
- Mirror links
- #795
- Bounties being broken
- #823
- Misprint/Error in SAMv3 sources/documentation
- #855
- syndie.i2p2.i2p
- #879
- remote console in FAQ is wrong
- #932
- Debian Wheezy install: i2p depends on service-wrapper, service-wrapper depends on libc6
