Commit Graph

15602 Commits

Author SHA1 Message Date
idk 0fbcd6ddf7 Fix a couple small CSS issues on SusiDNS, Hidden Services Manager. Darken the Active Arrow dropdown. 2021-03-26 16:26:40 -04:00
zzz 4a135a667b Console: Fix swapped SSU dup rx/tx columns
total row was right, per-peer rows were wrong
increase render buffer size
2021-03-26 07:29:26 -04:00
zzz 1309688477 i2ptunnel: Force non-SSL socket to local target
if incoming traffic is to a known SSL port,
to avoid SSL-over-SSL
2021-03-25 14:40:47 -04:00
zzz af14c3bc4a Console: Don't show IP for disabled IPv4/v6 on /confignet 2021-03-25 09:04:09 -04:00
zzz 684506b0be Transports: Don't open UPnP ports for disabled IPv4/v6 2021-03-25 08:46:00 -04:00
zzz aecd8efcca SSU: Implement IPv6 introductions (proposal 158)
WIP
Offer intro key for IPv6
Pick introducers for IPv6
Publish address with IPv6 introducers
Reduce churn of selected introducers
Only adjust transport bid if they publish C cap
Log tweaks
2021-03-25 08:03:33 -04:00
idk 3eab36fd37 Fix theme selection on Mail. 2021-03-24 20:06:07 -04:00
idk 8e15eda83b fix up dark theme for new UI elements on dark theme. Fix theme selection on Address Book. 2021-03-24 18:31:04 -04:00
idk 501de01753 Fix some style issues in the iframed version of Address Book. Add a Description field to each address book page. 2021-03-24 16:42:38 -04:00
idk e1c312046a Explain that the address book pairs human-readable names with I2P Destinations on the index page 2021-03-24 15:22:28 -04:00
idk 8af64ddef1 Style and script changes to addressbook:
Make tables drop-down items in javascript-enabled browsers. The rules are: no javascript, all tables start expanded. This is the default. If javascript is enabled and the addressbook is empty, expand the "Add new host" section by default. If javascript is enabled and the addressbook is not empty, then collapse all sections but leave the headings visible.
  Improvements to addressbook CSS for consistency with rest of light theme. Add drop-down arrows to headings on drop-downable sections.
2021-03-24 14:09:07 -04:00
zzz 5f39426073 NetDB: Don't note 'enabled floodfill' in event log every startup when forced on 2021-03-24 09:32:01 -04:00
zzz 0eb4096aad Console: Add eepsite table on debug page 2021-03-23 08:28:38 -04:00
zzz 0ab429e1ed NetDB: Sort published addresses for consistency 2021-03-23 08:17:38 -04:00
zzz bd6d6426fd SSU: Try to fix IPv6 transition from firewalled to non-firewalled
state was right but published address wasn't updated because looking
in wrong place for saved ipv6 address
2021-03-23 08:14:17 -04:00
zzz 9a106cb326 I2NP: lookup message debug output fixes 2021-03-22 12:42:28 -04:00
zzz bbfd94359b Tunnels: Don't count established routers as new in OBEP throttle (ticket #2245)
reported by zlatinb
patch from jogger
2021-03-22 12:38:57 -04:00
zzz 64695a8060 SSU: Fix persisting IPv6 firewalled state 2021-03-22 12:02:36 -04:00
zzz 86b49546c8 Sybil: Persist blocklist 2021-03-22 10:36:42 -04:00
zzz 12c4f43109 Transport: Better IPv6 address check
We don't want to match on "46"
2021-03-22 07:00:17 -04:00
zzz d5fd754a25 Tunnels: Garlic encrypt ITBM to IBGW
WIP, see proposal 157.
Will not take effect until we actually send ITBMs.
Tested with regular VTBMs.
2021-03-21 09:25:47 -04:00
zzz c5691ac623 html fix
thx drzed
2021-03-20 15:24:38 -04:00
zzz 844f17500b Console: Add API version to /logs 2021-03-20 13:00:09 -04:00
zzz 4e1848c336 I2CP: Ensure nickname properties are set 2021-03-20 12:58:14 -04:00
zzz b55fbbf099 Boolean.valueOf() -> Boolean.parseBoolean() 2021-03-20 12:27:46 -04:00
zzz 838295c014 SAM: Improve checks for unset tunnel nickname 2021-03-20 12:12:21 -04:00
zzz 005ac38742 Tunnels: Fix RED dropping for part. tunnels (Gitlab MR !24)
Part 1:
Change bandwidth estimate to exponential moving average
(Similar to Westwood+ Simple Bandwidth Estimator in streaming)
instead of 40 ms bucket.
Also use it for tunnel.participatingBandwidthOut stat.
Remove linear moving average code previously used for stat
Reduce RED threshold from 120% to 95% of limit

Part 2:
Fix the other part of RED which is the dropping calculation.
Previously, it simply used the bandwidth to start dropping if
it was higher than a threshold. The drop percentage rose from
0 to 100%, linearly, based on how far the bandwidth was
above the threshold. This was far, far from the RED paper.

Now, we follow the RED paper (see ref. in SyntheticREDQueue javadoc)
to calculate an average queue size, using the exact same
exponential moving average method used for bandwidth.
Similar to CoDel, it also includes a count of how long
the size is over the threshold, and increases the drop probability with the count.
The unadjusted drop probability rises from 0 to 2%
and then everything is dropped, as in the RED paper.
The low and high thresholds are configured at 77 ms and 333 ms of queued data, respectively.

The queue is "synthetic" in that there's not actually a queue.
It only calculates how big the queue would be if it were
a real queue and were being emptied at exactly the target rate.
The actual queueing is done downstream in the transports and in UDP-Sender.

The goals are, for an 80% default share, to do most of the
part. traffic dropping here in RED, not downstream in UDP-Sender,
while fully utilizing the configured share bandwidth.
If the router goes into high message delay mode, that means we are not dropping enough in RED.
Above 80% share this probably doesn't work as well.

There may be more tuning required, in particular to achieve the goal of "protecting" the UDP-Sender
queue and local client/router traffic by dropping more aggressively in RED.

This patch also improves the overhead estimate for outbound part. tunnel traffic at the OBEP.

Reviewed, tested, acked by zlatinb
2021-03-20 10:49:30 -04:00
zzz 03c657b466 javadoc fix 2021-03-19 13:02:35 -04:00
zzz 3615a9b235 SSU: Skip router addresses with introducers and '6' cap
for now, until implemented, see proposal 158
2021-03-19 11:36:17 -04:00
zzz 0dcc126af0 DoH: Minor cleanups
Handle lower-case date: header
2021-03-18 11:02:26 -04:00
zzz 7143eb3faa DoH: Add new servers
from https://github.com/curl/curl/wiki/DNS-over-HTTPS
2021-03-18 10:19:41 -04:00
zzz 1d83ef46e7 SSLEepGet: Use DoH by default (reseeding)
DoH: Update server list
2021-03-18 09:48:05 -04:00
zzz 615365ec24 Util: Specify hostname for SSLEepGet socket when using DoH 2021-03-18 09:39:14 -04:00
zzz 1e0847271f Util: Fix EepHead fail if headers specify chunked 2021-03-18 09:11:21 -04:00
zzz 0b1fb651e9 EepGet timeout fixes part 2
Have SocketTimeout interrupt thread
Cancel SocketTimeout and use soTImeout after reading headers if able
Cancel SocketTimeout in finally
Cleanups and javadocs
2021-03-18 09:07:45 -04:00
zzz bd724d1e1f Transports: Enable 4/6 caps
Set i2np.transportCaps=false to disable
Fix NTCP2 address with host and caps after state transition
Bump -7
2021-03-16 08:59:22 -04:00
zzz e81df54bba Console: Change netdb SSU caps search
to be contains() like the RI caps search, not equals()
2021-03-16 08:23:05 -04:00
zzz 07e3ee6bda Util: Roll our own IPv6 address parsing
Don't bother with ::, still send that to InetAddress.getByName()
2021-03-15 08:22:52 -04:00
zzz 810c2f912c Util: Prevent DataHelper complaining about split() for ipv4 2021-03-15 08:10:48 -04:00
zzz a1340d8796 Util: Roll our own IPv4 address parsing
to avoid InetAddress.getByName() calls
May help high CPU usage on Windows?
Reported by parg: http://zzz.i2p/topics/3083
More empty hostname checks
2021-03-15 07:41:02 -04:00
zzz be863d643e SSU: Fix IPv6 addresses not being removed on some state transitions
Ensure IPv4/v6 peer tests are alternated
Reschedule peer test if result is UNKNOWN and a state transition is pending
Fix peer test last send time not being set in all cases
2021-03-15 07:37:08 -04:00
zzz 47283e6ef7 Console: Limit share portion to 90%
We want the part. traffic RED dropper to have some effect
and not let traffic back up at the router bandwidth
limiter and into the UDP-Sender queue,
as it removes any room for client and router traffic,
and throws the router into high message delay mode.
2021-03-13 08:44:11 -05:00
idk 15b6638538 Check in copy.js 2021-03-11 21:18:29 -05:00
idk 56db652ee8 switch Hostname Preview from a direct link to a JS copy function and a textarea. In the presence of noscript, hide the copy button 2021-03-11 21:17:07 -05:00
idk 831a9cebfa check that hostname ends with .i2p when generating tunnelPreviewHostname 2021-03-11 17:20:37 -05:00
idk a04bb77c68 Adds a button for previewing i2ptunnels using the hostname or sharing I2P Sites with a hostname without using the addressbook or a jump service 2021-03-11 13:54:55 -05:00
idk 8d11a97c9d Fix margin on /peers for issue #14 2021-03-11 13:50:41 -05:00
zzz 023a7fdebe NetDB: Queue RI file deletion and delete in a single thread
Do both writes and removes in the writer thread
As suggested by jogger http://zzz.i2p/topics/3082
log tweaks
2021-03-10 14:17:45 -05:00
zzz 77375148e3 NTCP: More NTCP 1 removal cleanup 2021-03-10 07:16:29 -05:00
zzz 5c232792cc SSU: Don't change ports in some cases 2021-03-10 07:03:33 -05:00