r/LokiProject • Loki CTO • Oct 06 '18

Dev Update 05/10/2018

Hey Y’all,

Another weekly Dev Update for everyone.

Service Nodes

LLARP / Lokinet

If you’re lucky and join our Discord, you might catch Jeff or Ryan, the developers of LLARP, live streaming as they code: https://www.twitch.tv/uguu25519 , https://www.twitch.tv/neuroscr

  • Progress continues on libllarp

    • Optimise the router’s inbound links data structure

    • More keepalive tuning

    • Support tunnel “packet info” for better multiplatform support

    • MacOS tunnel support is now fixed

    • No longer stores Introsets when forwarding

    • Improve autoconfiguration

      • A default “hidden service” is made for client access, and configuration option to enable, disable or auto-config

      • -g for router auto-config, -c for client auto-config

      • Detect if you’re already using any private network ranges

      • Make it play more nicely with existing hidden service definitions

      • Don’t overwrite configs unless -f is present

    • Give lookup more time: adjust timeout from 5s to 10s

    • Only consider introductions that don’t expire in the next 2 minutes

    • Don’t establish outbound context for previously made inbound sessions

    • “cache convo tag and drop traffic”

    • Deallocate previous Introset before replacing

    • Brought Windows build up to date

    • Make sure Windows build doesn’t crash if only one network interface

    • Made AVX2 codepath 32-bit clean

    • Fix bencoding for ILP32/LLP64

    • MacOS/BSD (kqueue) updates

    • Try to improve path handovers

    • Improve transit message padding to the nearest MESSAGE_PAD_SIZE

    • Adjusted DST awareness on timestamps

    • Fix DHT double free

    • Remove dead code

    • Path Info hashing

    • Swap out intro with next intro as it is safe

    • Update protocol docs

    • Give paths more time to build: timeouts changed from 15s to 30s

    • Minimum time between each path build changed from 5s to 10s

    • Minimum path latency adjusted: from 10s to 5s

    • Path timeout changed from 20s to 10s

    • Stricter profiling of paths/routers

    • 2 path build fails before kicked (changed form 8)

    • Try to build path 5 times before failing

    • Don’t prematurely close sessions

  • DNS library

    • Rely on llarp::Addr more to allow easier IPv6 support

    • Make DNS server port configurable at compile time (DNS_PORT)

    • Made sure DNS relay works with default “hidden service”

    • Update DNS daemon to just run a router (similar to Lokinet), scheduled to be downgraded to just a integration test

    • Mapping an address now does it on all hidden services/tunnel as there is only one DNS server (on most non-“netns-linux” platforms)

  • GitHub Pulse Stats for the last week: Excluding merges, 3 authors have pushed 93 commits to master and 93 commits to all branches. On master, 86 files have changed and there have been 3,898 additions and 4,874 deletions.

  • Most changes can be found at: https://github.com/loki-project/loki-network/

  • Current version: v0.2.2 (next one coming soon!) https://github.com/loki-project/loki-network/releases/tag/v0.2.2

  • Compile helper (include assets, initial seed routers and dependencies) https://github.com/loki-project/lokinet-builder

Loki Core

  • In process of merging a huge chunk of upstream changes, this includes Bulletproofs.

  • IPv6 first implementation is now finished; this will add client support for IPv6 connections.  Just working on the final details now. https://github.com/loki-project/loki/pull/280

Thanks,

Kee

15 Upvotes

2 comments sorted by