I2P Layer of diva.exchange. Based on i2pd, see https://github.com/PurpleI2P/i2pd https://diva.exchange
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

520 lines
15 KiB

  1. # for this file format description,
  2. # see https://github.com/olivierlacan/keep-a-changelog
  3. ## [2.33.0] - 2020-08-24
  4. ### Added
  5. - Shared transient addresses
  6. - crypto.ratchet.inboundTags paramater
  7. - Multiple encryption keys through I2CP
  8. - Pre-calculated x25519 ephemeral keys
  9. - Change datagram routing path if nothing comes back in 10 seconds
  10. - Shared routing path for datagram session
  11. ### Changed
  12. - UDP tunnels send mix of repliable and raw datagrams in bulk
  13. - Encrypt SSU packet again upon resend
  14. - Start new tunnel message if remaining buffer is too small
  15. - Use LeaseSet2 for ECIES-X25519-AEAD-Ratchet automatically
  16. - Save new ECIES-X25519-AEAD-Ratchet session with NSR tagset
  17. - Generate random padding lengths for ECIES-X25519-AEAD-Ratchet in bulk
  18. - Webconsole layout
  19. - Reseed servers list
  20. ### Fixed
  21. - Don't connect through terminated SAM destination
  22. - Differentiate UDP server sessions by port
  23. - ECIES-X25519-AEAD-Ratchet through I2CP
  24. - Don't save invalid address to AddressBook
  25. - ECDSA signatures names in SAM
  26. - AppArmor profile
  27. ## [2.32.1] - 2020-06-02
  28. ### Added
  29. - Read explicit peers in tunnels config
  30. ### Fixed
  31. - Generation of tags for detached sessions
  32. - Non-updating LeaseSet1
  33. - Start when deprecated websocket options present in i2pd.conf
  34. ## [2.32.0] - 2020-05-25
  35. ### Added
  36. - Multiple encryption types for local destinations
  37. - Next key and tagset for ECIES-X25519-AEAD-Ratchet
  38. - NTCP2 through SOCKS proxy
  39. - Throw error message if any port to bind is occupied
  40. - gzip parameter for UDP tunnels
  41. - Show ECIES-X25519-AEAD-Ratchet sessions and tags on the web console
  42. - Simplified implementation of gzip for no compression mode
  43. - Allow ECIES-X25519-AEAD-Ratchet session restart after 2 minutes
  44. - Added logrotate config for rpm package
  45. ### Changed
  46. - Select peers for client tunnels among routers >= 0.9.36
  47. - Check ECIES flag for encrypted lookup reply
  48. - Streaming MTU size 1812 for ECIES-X25519-AEAD-Ratchet
  49. - Don't calculate checksum for Data message send through ECIES-X25519-AEAD-Ratchet
  50. - Catch network connectivity status for Windows
  51. - Stop as soon as no more transit tunnels during graceful shutdown for Android
  52. - RouterInfo gzip compression level depends on size
  53. - Send response to received datagram from ECIES-X25519-AEAD-Ratchet session
  54. - Update webconsole functional
  55. - Increased max transit tunnels limit
  56. - Reseeds list
  57. - Dropped windows support in cmake
  58. ### Fixed
  59. - Correct timestamp check for LeaseSet2
  60. - Encrypted leaseset without authentication
  61. - Change SOCKS proxy connection response for clients without socks5h support (#1336)
  62. ## [2.31.0] - 2020-04-10
  63. ### Added
  64. - NTCP2 through HTTP proxy
  65. - Publish LeaseSet2 for I2CP destinations
  66. - Show status page on main activity for android
  67. - Handle ECIESFlag in DatabaseLookup at floodfill
  68. - C++17 features for eligible compilers
  69. ### Changed
  70. - Droped Websockets and Lua support
  71. - Send DeliveryStatusMsg for LeaseSet for ECIES-X25519-AEAD-Ratchet
  72. - Keep sending new session reply until established for ECIES-X25519-AEAD-Ratchet
  73. - Updated SSU log messages
  74. - Reopen SSU socket on exception
  75. - Security hardening headers in web console
  76. - Various web console changes
  77. - Various QT changes
  78. ### Fixed
  79. - NTCP2 socket descriptors leak
  80. - Race condition with router's identity in transport sessions
  81. - Not terminated streams remain forever
  82. ## [2.30.0] - 2020-02-25
  83. ### Added
  84. - Single threaded SAM
  85. - Experimental support of ECIES-X25519-AEAD-Ratchet crypto type
  86. ### Changed
  87. - Minimal MTU size is 1280 for ipv6
  88. - Use unordered_map instead map for destination's sessions and tags list
  89. - Use std::shuffle instead std::random_shuffle
  90. - SAM is single threaded by default
  91. - Reseeds list
  92. ### Fixed
  93. - Correct termination of streaming destination
  94. - Extra ',' in RouterInfo response in I2PControl
  95. - SAM crash on session termination
  96. - Storage for Android 10
  97. ## [2.29.0] - 2019-10-21
  98. ### Added
  99. - Client auth flag for b33 address
  100. ### Changed
  101. - Remove incoming NTCP2 session from pending list when established
  102. - Handle errors for NTCP2 SessionConfrimed send
  103. ### Fixed
  104. - Failure to start on Windows XP
  105. - SAM crash if invalid lookup address
  106. - Possible crash when UPnP enabled on shutdown
  107. ## [2.28.0] - 2019-08-27
  108. ### Added
  109. - RAW datagrams in SAM
  110. - Publishing encrypted LeaseSet2 with DH or PSH authentication
  111. - Ability to disable battery optimization for Android
  112. - Transport Network ID Check
  113. ### Changed
  114. - Set and handle published encrypted flag for LeaseSet2
  115. ### Fixed
  116. - ReceiveID changes in the same stream
  117. - "\r\n" command terminator in SAM
  118. - Addressbook lines with signatures
  119. ## [2.27.0] - 2019-07-03
  120. ### Added
  121. - Support of PSK and DH authentication for encrypted LeaseSet2
  122. ### Changed
  123. - Uptime is based on monotonic timer
  124. ### Fixed
  125. - BOB status command response
  126. - Correct NTCP2 port if NTCP is disabled
  127. - Flood encrypted LeaseSet2 with store hash
  128. ## [2.26.0] - 2019-06-07
  129. ### Added
  130. - HTTP method "PROPFIND"
  131. - Detection of external ipv6 address through the SSU
  132. - NTCP2 publishing depends on network status
  133. ### Changed
  134. - ntcp is disabled by default, ntcp2 is published by default
  135. - Response to BOB's "list" command
  136. - ipv6 address is not longer NTCP's local endpoint's address
  137. - Reseeds list
  138. - HTTP_REFERER stripping in httpproxy (#823)
  139. ### Fixed
  140. - Check and handle incorrect BOB input
  141. - Ignore introducers for NTCP or NTCP2 addresses
  142. - RouterInfo check from NTCP2
  143. ## [2.25.0] - 2019-05-09
  144. ### Added
  145. - Create, publish and handle encrypted LeaseSet2
  146. - Support of b33 addresses
  147. - RedDSA key blinding
  148. - .b32.i2p addresses in jump links
  149. - ntcp2.addressv6 parameter
  150. ### Changed
  151. - Allow HTTP headers without value
  152. - Set data directory from external storage path for Android
  153. - addresshelper support is configurable per tunnel
  154. - gradlew script for android build
  155. ### Fixed
  156. - Deletion of expired encrypted LeaseSet2 on floodfills
  157. - ipv6 fallback address
  158. - SSU incoming packets routing
  159. ## [2.24.0] - 2019-03-21
  160. ### Added
  161. - Support of transient keys for LeaseSet2
  162. - Support of encrypted LeaseSet2
  163. - Recognize signature type 11 (RedDSA)
  164. - Support websocket connections over HTTP proxy
  165. - Ability to disable full addressbook persist
  166. ### Changed
  167. - Don't load peer profiles if non-persistant
  168. - REUSE_ADDR for ipv6 acceptors
  169. - Reset eTags if addressbook can't be loaded
  170. ### Fixed
  171. - Build with boost 1.70
  172. - Filter out unspecified addresses from RouterInfo
  173. - Check floodfill status change
  174. - Correct SAM response for invalid key
  175. - SAM crash on termination for Windows
  176. - Race condition for publishing
  177. ## [2.23.0] - 2019-01-21
  178. ### Added
  179. - Standard LeaseSet2 support
  180. - Ability to adjust timestamps through the NTP
  181. - Ability to disable peer profile persist
  182. - Request permission for android >= 6
  183. - Initial addressbook to android assets
  184. - Cancel graceful shutdown for android
  185. - Russian translation for android
  186. ### Changed
  187. - Chacha20 and Poly1305 implementation
  188. - Eliminate extra copy of NTCP2 send buffers
  189. - Extract content of tunnel.d from assets on android
  190. - Removed name resolvers from transports
  191. - Update reseed certificates
  192. ### Fixed
  193. - LeaseSet published content verification
  194. - Exclude invalid LeaseSets from the list on a floodfill
  195. - Build for OpenWrt with openssl 1.1.1
  196. ## [2.22.0] - 2018-11-09
  197. ### Added
  198. - Multiple tunnel config files from tunnels.d folder
  199. ### Changed
  200. - Fetch own RouterInfo upon SessionRequest for NTCP2
  201. - Faster XOR between AES blocks for non AVX capable CPUs
  202. ### Fixed
  203. - Fixed NTCP2 termination send
  204. ## [2.21.1] - 2018-10-22
  205. ### Changed
  206. - cost=13 for unpublished NTCP2 address
  207. ### Fixed
  208. - Handle I2NP messages longer than 32K
  209. ## [2.21.0] - 2018-10-04
  210. ### Added
  211. - EdDSA, x25519 and SipHash from openssl 1.1.1
  212. - NTCP2 ipv6 incoming connections
  213. - Show total number of destination's outgoing tags in the web console
  214. ### Changed
  215. - Android build with openssl 1.1.1/boost 1.64
  216. - Bandwidth classes 'P' and 'X' don't add 'O' anymore
  217. ### Fixed
  218. - Update own RouterInfo if no SSU
  219. - Recognize 'P' and 'X' routers as high bandwidth without 'O'
  220. - NTCP address doesn't disappear if NTCP2 enabled
  221. - Android with api 26+
  222. ## [2.20.0] - 2018-08-23
  223. ### Added
  224. - Full implementation of NTCP2
  225. - Assets for android
  226. ### Changed
  227. - armeabi-v7a and x86 in one apk for android
  228. - NTCP2 is enabled by default
  229. - Show lease's expiration time in readable format in the web console
  230. ### Fixed
  231. - Correct names for transports in the web console
  232. ## [2.19.0] - 2018-06-26
  233. ### Added
  234. - ECIES support for RouterInfo
  235. - HTTP outproxy authorization
  236. - AVX/AESNI runtime detection
  237. - Initial implementation of NTCP2
  238. - I2CP session reconfigure
  239. - I2CP method ClientServicesInfo
  240. - Datagrams to websocks
  241. ### Changed
  242. - RouterInfo uses EdDSA signature by default
  243. - Remove stream bans
  244. - Android build system changed to gradle
  245. - Multiple changes in QT GUI
  246. - Dockerfile
  247. ### Fixed
  248. - zero tunnelID issue
  249. - tunnels reload
  250. - headers in webconsole
  251. - XSS in webconsole from SAM session name
  252. - build for gcc 8
  253. - cmake build scripts
  254. - systemd service files
  255. - some netbsd issues
  256. ## [2.18.0] - 2018-01-30
  257. ### Added
  258. - Show tunnel nicknames for I2CP destination in WebUI
  259. - Re-create HTTP and SOCKS proxy by tunnel reload
  260. - Graceful shutdown as soon as no more transit tunnels
  261. ### Changed
  262. - Regenerate shared local destination by tunnel reload
  263. - Use transient local destination by default if not specified
  264. - Return correct code if pid file can't be created
  265. - Timing and number of attempts for adressbook requests
  266. - Certificates list
  267. ### Fixed
  268. - Malformed addressbook subsctiption request
  269. - Build with boost 1.66
  270. - Few race conditions for SAM
  271. - Check LeaseSet's signature before update
  272. ## [2.17.0] - 2017-12-04
  273. ### Added
  274. - Reseed through HTTP and SOCKS proxy
  275. - Show status of client services through web console
  276. - Change log level through web connsole
  277. - transient keys for tunnels
  278. - i2p.streaming.initialAckDelay parameter
  279. - CRYPTO_TYPE for SAM destination
  280. - signature and crypto type for newkeys BOB command
  281. ### Changed
  282. - Correct publication of ECIES destinations
  283. - Disable RSA signatures completely
  284. ### Fixed
  285. - CVE-2017-17066
  286. - Possible buffer overflow for RSA-4096
  287. - Shutdown from web console for Windows
  288. - Web console page layout
  289. ## [2.16.0] - 2017-11-13
  290. ### Added
  291. - https and "Connect" method for HTTP proxy
  292. - outproxy for HTTP proxy
  293. - initial support of ECIES crypto
  294. - NTCP soft and hard descriptors limits
  295. - Support full timestamps in logs
  296. ### Changed
  297. - Faster implementation of GOST R 34.11 hash
  298. - Reject routers with RSA signtures
  299. - Reload config and shudown from Windows GUI
  300. - Update tunnels address(destination) without restart
  301. ### Fixed
  302. - BOB crashes if destination is not set
  303. - Correct SAM tunnel name
  304. - QT GUI issues
  305. ## [2.15.0] - 2017-08-17
  306. ### Added
  307. - QT GUI
  308. - Ability to add and remove I2P tunnels without restart
  309. - Ability to disable SOCKS outproxy option
  310. ### Changed
  311. - Strip-out Accept-* hedaers in HTTP proxy
  312. - Don't run peer test if nat=false
  313. - Separate output of NTCP and SSU sessions in Transports tab
  314. ### Fixed
  315. - Handle lines with comments in hosts.txt file for address book
  316. - Run router with empty netdb for testnet
  317. - Skip expired introducers by iexp
  318. ## [2.14.0] - 2017-06-01
  319. ### Added
  320. - Transit traffic bandwidth limitation
  321. - NTCP connections through HTTP and SOCKS proxies
  322. - Ability to disable address helper for HTTP proxy
  323. ### Changed
  324. - Reseed servers list
  325. - Minimal required version is 4.0 for Android
  326. ### Fixed
  327. - Ignore comments in addressbook feed
  328. ## [2.13.0] - 2017-04-06
  329. ### Added
  330. - Persist local destination's tags
  331. - GOST signature types 9 and 10
  332. - Exploratory tunnels configuration
  333. ### Changed
  334. - Reseed servers list
  335. - Inactive NTCP sockets get closed faster
  336. - Some EdDSA speed up
  337. ### Fixed
  338. - Multiple acceptors for SAM
  339. - Follow on data after STREAM CREATE for SAM
  340. - Memory leaks
  341. ## [2.12.0] - 2017-02-14
  342. ### Added
  343. - Additional HTTP and SOCKS proxy tunnels
  344. - Reseed from ZIP archive
  345. - Some stats in a main window for Windows version
  346. ### Changed
  347. - Reseed servers list
  348. - MTU of 1488 for ipv6
  349. - Android and Mac OS X versions use OpenSSL 1.1
  350. - New logo for Android
  351. ### Fixed
  352. - Multiple memory leaks
  353. - Incomptibility of some EdDSA private keys with Java
  354. - Clock skew for Windows XP
  355. - Occasional crashes with I2PSnark
  356. ## [2.11.0] - 2016-12-18
  357. ### Added
  358. - Websockets support
  359. - Reseed through a floodfill
  360. - Tunnel configuration for HTTP and SOCKS proxy
  361. - Zero-hops tunnels for destinations
  362. - Multiple acceptors for SAM
  363. ### Changed
  364. - Reseed servers list
  365. - DHT uses AVX if applicable
  366. - New logo
  367. - LeaseSet lookups
  368. ### Fixed
  369. - HTTP Proxy connection reset for Windows
  370. - Crash upon SAM session termination
  371. - Can't connect to a destination for a longer time after restart
  372. - Mass packet loss for UDP tunnels
  373. ## [2.10.2] - 2016-12-04
  374. ### Fixed
  375. - Fixes UPnP discovery bug, producing excessive CPU usage
  376. - Fixes sudden SSU thread stop for Windows.
  377. ## [2.10.1] - 2016-11-07
  378. ### Fixed
  379. - Fixed some performance issues for Windows and Android
  380. ## [2.10.0] - 2016-10-17
  381. ### Added
  382. - Datagram i2p tunnels
  383. - Unique local addresses for server tunnels
  384. - Configurable list of reseed servers and initial addressbook
  385. - Configurable netid
  386. - Initial iOS support
  387. ### Changed
  388. - Reduced file descriptors usage
  389. - Strict reseed checks enabled by default
  390. ## Fixed
  391. - Multiple fixes in I2CP and BOB implementations
  392. ## [2.9.0] - 2016-08-12
  393. ### Changed
  394. - Proxy refactoring & speedup
  395. - Transmission-I2P support
  396. - Graceful shutdown for Windows
  397. - Android without QT
  398. - Reduced number of timers in SSU
  399. - ipv6 peer test support
  400. - Reseed from SU3 file
  401. ## [2.8.0] - 2016-06-20
  402. ### Added
  403. - Basic Android support
  404. - I2CP implementation
  405. - 'doxygen' target
  406. ### Changed
  407. - I2PControl refactoring & fixes (proper jsonrpc responses on errors)
  408. - boost::regex no more needed
  409. ### Fixed
  410. - initscripts: added openrc one, in sysv-ish make I2PD_PORT optional
  411. - properly close NTCP sessions (memleak)
  412. ## [2.7.0] - 2016-05-18
  413. ### Added
  414. - Precomputed El-Gamal/DH tables
  415. - Configurable limit of transit tunnels
  416. ### Changed
  417. - Speed-up of asymmetric crypto for non-x64 platforms
  418. - Refactoring of web-console
  419. ## [2.6.0] - 2016-03-31
  420. ### Added
  421. - Graceful shutdown on SIGINT
  422. - Numeric bandwidth limits (was: by router class)
  423. - Jumpservices in web-console
  424. - Logging to syslog
  425. - Tray icon for windows application
  426. ### Changed
  427. - Logs refactoring
  428. - Improved statistics in web-console
  429. ### Deprecated:
  430. - Renamed main/tunnels config files (will use old, if found, but emits warning)
  431. ## [2.5.1] - 2016-03-10
  432. ### Fixed
  433. - Doesn't create ~/.i2pd dir if missing
  434. ## [2.5.0] - 2016-03-04
  435. ### Added
  436. - IRC server tunnels
  437. - SOCKS outproxy support
  438. - Support for gzipped addressbook updates
  439. - Support for router families
  440. ### Changed
  441. - Shared RTT/RTO between streams
  442. - Filesystem work refactoring
  443. ## [2.4.0] - 2016-02-03
  444. ### Added
  445. - X-I2P-* headers for server http-tunnels
  446. - I2CP options for I2P tunnels
  447. - Show I2P tunnels in webconsole
  448. ### Changed
  449. - Refactoring of cmdline/config parsing
  450. ## [2.3.0] - 2016-01-12
  451. ### Added
  452. - Support for new router bandwidth class codes (P and X)
  453. - I2PControl supports external webui
  454. - Added --pidfile and --notransit parameters
  455. - Ability to specify signature type for i2p tunnel
  456. ### Changed
  457. - Fixed multiple floodfill-related bugs
  458. - New webconsole layout
  459. ## [2.2.0] - 2015-12-22
  460. ### Added
  461. - Ability to connect to router without ip via introducer
  462. ### Changed
  463. - Persist temporary encryption keys for local destinations
  464. - Performance improvements for EdDSA
  465. - New addressbook structure
  466. ## [2.1.0] - 2015-11-12
  467. ### Added
  468. - Implementation of EdDSA
  469. ### Changed
  470. - EdDSA is default signature type for new RouterInfos