Commit Graph

7652 Commits (440b547d2c3e7384ec82ec21f0b1635e42bcda64)
 

Author SHA1 Message Date
majestrate 229a6c9bb9
Merge pull request #1828 from zoobab/dev
Add missing libssl-dev
2 years ago
Benjamin Henrion 409772f763
Add missing libssl-dev
Add missing libssl-dev on Ubuntu to compile it from source.
2 years ago
Jeff Becker 061aebc964
reword auto-routing config comment 2 years ago
Jeff Becker 14ffdb6639
configurable route poker
this allows you to use exit nodes without forcing routes over the interface, useful for using lokinet with an exit and selectively routing over the lokinet interface using an external socks proxy or binding to device explicitly.

* make route poker configurable, defaults to enabled but allows disabling it on runtime if desired
* add config option [network]:auto-routing to enable/disable route poker
2 years ago
majestrate 54bff69a0a
Merge pull request #1816 from majestrate/exit-pooling-2021-12-01
client side exit node pooling
2 years ago
Jeff Becker da887dc559
implement exit node pooling, allows users to use multiple exits for an address range.
mappings per ip stick to the same exit, each new ip is mapped to a random exit in the specified pool.

make exit-auth multi value
2 years ago
majestrate 64224f2344
Merge pull request #1822 from majestrate/make-windows-work-again-2021-12-07
Make windows work again
2 years ago
Jeff 776e9227fd
make serivce::Endpoint::EnsurePathToService have a default timeout as a named constant. 2 years ago
Jeff 301b19bd0f
do not send buggy reply as rpc 2 years ago
Jeff 388fc53380
match io loop event order on windows/apple to match linux.
on win32/apple reading packets from the interface does not count as an io operation.
manually trigger pump on win32/apple to pretend that it is an io event.
add platform quark function MaybeWakeUpperLayers on vpn::Interface to manaully wake up the other components on platforms that need that (ones on which packet io is not done via io events).
on non linux platforms, use uv_prepare_t instead of uv_check_t as the former triggers before blocking for io, instead of after. this better matches linux's order of operations in libuv.
2 years ago
majestrate 44c7cf5f27
Update readme.md
remove old parts about macos from readme
2 years ago
majestrate 019a9f1611
Update readme.md
remove pedantic separation in readme
2 years ago
majestrate 6af589d845
Update readme.md
correct cmake flag
2 years ago
majestrate d186a887d3
Update readme.md
remove note in readme
2 years ago
majestrate b7bbb7f40d
Update readme.md
fix readme, do not use static deps.
2 years ago
Jeff fe07665ac5
remove duplicate file 2 years ago
Jeff 9c68f64929
add deps to doxygen 2 years ago
Jeff be47299b5d
more docs 2 years ago
Jeff 4bbf5522b4
spaces 2 years ago
Jeff 479fba6bd0
add big chunks of docs 2 years ago
Jeff 2772a32907
* fix up lokinet cli help opts
* document doxygen
3 years ago
Jeff Becker 29df7bec74
remove old out of date documentation 3 years ago
Jeff e0df1875fb
drop x86 for android as flutter does not support it 3 years ago
Jeff 5890c99a81
Merge pull request #1817 from majestrate/disable-upstream-ip6-dns-2021-12-03
disable ip6 upstream dns in libunbound
3 years ago
Jeff Becker 0e2b0edaf6
when lokinet looses ip4 connectivity libunbound used to freak out and only use ip6 after such an event.
as a result dns queries stop working because we blackhole ip6 routes if exit mode is on.
this prevents this case from being hit.
3 years ago
Jeff ce8b3c83a7
Update high-level.txt
add notice to file as very out of date.
3 years ago
Jeff b23ceefc5a
Merge pull request #1812 from majestrate/log-level-demotion-11-28-2021
demote log statement levels
3 years ago
Jeff Becker ec8d990163
demote log statement levels 3 years ago
Jeff d7529dafbc
Merge pull request #1811 from majestrate/android-ci-optimize-2021-11-23
parallelize android build much better
3 years ago
Jeff Becker 8c6bf31c52
paralellize android build much better
* split up configure step and build step so that build steps goes all at once
* update ci to use new build structure for android
3 years ago
Jason Rhinelander 5de5091e8d docker CI: Fix error message 3 years ago
Jeff ad201a48ac
Merge pull request #1800 from oxen-io/dev
v0.9.8
3 years ago
Jason Rhinelander d24f89192d Bump version 3 years ago
Jeff Becker 172c2dec45
create new constexpr for the staleness window for introsets and use it in publishing introsets and intro selection 3 years ago
Jason Rhinelander 189c4bfba4
Also consider last publish; eliminate unwanted condition
We don't really carry about when the last regen was attempted, but
rather about when the last publish was attempted (or succeeded).
3 years ago
Jeff Becker 8ba03de44e
match timeouts in introset selection spread with logic for publishing 3 years ago
Jeff e4514aec3d
Merge pull request #1799 from majestrate/static-ci-disable-lokinet-bootstrap-2021-11-16
disable lokinet-bootstrap in static linux ci pipeline
3 years ago
Jeff Becker e7d282993a
in static linux ci pipeline disable building lokinet-bootstrap and bundle a bootstrap.signed 3 years ago
Jeff b95e53daf9
Merge pull request #1797 from jagerman/random-optimizations
Random optimizations
3 years ago
Jason Rhinelander 5115162066 Use libuv's cached current time for `time_now()`
We are calling time_now() a huge amount, and it is a major consumer of
CPU cycles, but we don't need it: most of the time the current event
loop time is enough.
3 years ago
Jason Rhinelander b2ee003329 Optimization: eliminate unneeded shared_ptrs
We have a few cases where we're making an extra shared_ptr which we copy
into a lambda, which then results in an extra unnecessary refcount
decrement in the parent; this changes them to give an rvalue reference
to the lambda to avoid the extra incr/decr instead.

The one in Session::Pump is particularly noticeable and shows up in
profiling.
3 years ago
Jeff 3fc172f4dd
Merge pull request #1796 from jagerman/hotloop-optimization
Avoid std::function in hot pump code
3 years ago
Jason Rhinelander 7a04911b9b Avoid std::function in hot pump code
We're seeing overhead here of the std::function invocation, which we can
easily avoid in this case by not using a std::function around the
callback.
3 years ago
Jason Rhinelander f270d74441
Merge pull request #1795 from majestrate/try-reducing-cpu-usage-2021-11-09
make PumpLL idempotent to reduce cpu use a bit
3 years ago
Jason Rhinelander 09c2b31b25 Move paths pumping into PumpLL 3 years ago
Jason Rhinelander 687b54f860 Abstract & simplify logic 3 years ago
Jason Rhinelander 711038d150 Remove debug comment 3 years ago
Jason Rhinelander f63fff37a3 Remove broken test
This test isn't very useful, but also broken with the other changes on
this branch.
3 years ago
Jason Rhinelander 0fe7153f6e Fix client latency bug; De-shared_ptr IHopHandler queues
- Replace m_FlushWakeup with a call to the router's god mode pump
  method.  m_FlushWakeup apparently isn't enough to get things out, and
  we can end up with incoming packets that don't get properly handled
  right away without it.

- The shared_ptr around the ihophandler queues isn't needed and is just
  adding a layer of obfuscation; instead just exchange the list directly
  into the lambda.

- Use std::exchange rather than swap

- A couple other small code cleanups.
3 years ago
Jason Rhinelander 70553c7627 Remove hopeless flush
The TriggerPump just below this is *already* going to trigger a flush,
so the extra flush call here can't do anything useful (and in
particular, it won't clear up the queue *immediately*, which is what
this code looks like it was aimed at doing).
3 years ago