Commit Graph

8028 Commits

Author SHA1 Message Date
majestrate
94611eda19
Merge pull request #1818 from majestrate/toggle-route-poker-2021-12-04
configurable route poker
2021-12-26 10:58:50 -05:00
majestrate
229a6c9bb9
Merge pull request #1828 from zoobab/dev
Add missing libssl-dev
2021-12-19 11:11:53 -05:00
Benjamin Henrion
409772f763
Add missing libssl-dev
Add missing libssl-dev on Ubuntu to compile it from source.
2021-12-19 17:09:40 +01:00
Jeff Becker
061aebc964
reword auto-routing config comment 2021-12-15 18:42:22 -05:00
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
2021-12-15 18:42:22 -05:00
majestrate
54bff69a0a
Merge pull request #1816 from majestrate/exit-pooling-2021-12-01
client side exit node pooling
2021-12-15 16:27:18 -05:00
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
2021-12-15 16:26:21 -05:00
majestrate
64224f2344
Merge pull request #1822 from majestrate/make-windows-work-again-2021-12-07
Make windows work again
2021-12-15 15:39:00 -05:00
Jeff
776e9227fd
make serivce::Endpoint::EnsurePathToService have a default timeout as a named constant. 2021-12-15 15:25:53 -05:00
Jeff
301b19bd0f
do not send buggy reply as rpc 2021-12-15 15:25:53 -05:00
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.
2021-12-15 15:25:53 -05:00
majestrate
44c7cf5f27
Update readme.md
remove old parts about macos from readme
2021-12-13 22:59:29 -05:00
majestrate
019a9f1611
Update readme.md
remove pedantic separation in readme
2021-12-13 22:58:05 -05:00
majestrate
6af589d845
Update readme.md
correct cmake flag
2021-12-13 22:57:11 -05:00
majestrate
d186a887d3
Update readme.md
remove note in readme
2021-12-13 22:55:51 -05:00
majestrate
b7bbb7f40d
Update readme.md
fix readme, do not use static deps.
2021-12-13 22:53:53 -05:00
Jeff
fe07665ac5
remove duplicate file 2021-12-10 16:42:19 -05:00
Jeff
9c68f64929
add deps to doxygen 2021-12-10 16:42:19 -05:00
Jeff
be47299b5d
more docs 2021-12-10 16:42:13 -05:00
Jeff
4bbf5522b4
spaces 2021-12-10 15:29:58 -05:00
Jeff
479fba6bd0
add big chunks of docs 2021-12-10 15:29:53 -05:00
Jeff
2772a32907
* fix up lokinet cli help opts
* document doxygen
2021-12-10 10:40:18 -05:00
Jeff Becker
29df7bec74
remove old out of date documentation 2021-12-10 10:09:06 -05:00
Jeff
e0df1875fb
drop x86 for android as flutter does not support it 2021-12-05 14:17:58 -05:00
Jeff
5890c99a81
Merge pull request #1817 from majestrate/disable-upstream-ip6-dns-2021-12-03
disable ip6 upstream dns in libunbound
2021-12-04 09:19:34 -05:00
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.
2021-12-03 16:12:10 -05:00
Jeff
ce8b3c83a7
Update high-level.txt
add notice to file as very out of date.
2021-11-28 14:01:12 -05:00
Jeff
b23ceefc5a
Merge pull request #1812 from majestrate/log-level-demotion-11-28-2021
demote log statement levels
2021-11-28 11:02:36 -05:00
Jeff Becker
ec8d990163
demote log statement levels 2021-11-28 09:57:10 -05:00
Jeff
d7529dafbc
Merge pull request #1811 from majestrate/android-ci-optimize-2021-11-23
parallelize android build much better
2021-11-23 17:48:19 -05:00
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
2021-11-23 12:43:54 -05:00
Jason Rhinelander
5b26fd29d7
Merge pull request #1808 from necro-nemesis/opensuse/tumbleweed
Bump to v0.9.8
2021-11-17 19:45:01 -04:00
necro-nemsis
3606e05c33 use default rpm-build 2021-11-17 17:52:10 -05:00
necro-nemsis
09c016e69e Bump to v0.9.8 2021-11-17 17:36:27 -05:00
necro-nemsis
1294a91baf Merge remote-tracking branch 'upstream/stable' into opensuse/tumbleweed 2021-11-17 17:29:58 -05:00
Jason Rhinelander
5de5091e8d docker CI: Fix error message 2021-11-16 20:24:47 -04:00
Jeff
ad201a48ac
Merge pull request #1800 from oxen-io/dev
v0.9.8
2021-11-16 18:52:10 -05:00
Jason Rhinelander
d24f89192d Bump version 2021-11-16 19:50:52 -04:00
Jeff Becker
172c2dec45
create new constexpr for the staleness window for introsets and use it in publishing introsets and intro selection 2021-11-16 12:22:08 -05:00
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).
2021-11-16 12:21:57 -05:00
Jeff Becker
8ba03de44e
match timeouts in introset selection spread with logic for publishing 2021-11-16 10:57:17 -05:00
Jeff
e4514aec3d
Merge pull request #1799 from majestrate/static-ci-disable-lokinet-bootstrap-2021-11-16
disable lokinet-bootstrap in static linux ci pipeline
2021-11-16 10:29:16 -05:00
Jeff Becker
e7d282993a
in static linux ci pipeline disable building lokinet-bootstrap and bundle a bootstrap.signed 2021-11-16 09:43:08 -05:00
Jeff
b95e53daf9
Merge pull request #1797 from jagerman/random-optimizations
Random optimizations
2021-11-15 20:54:50 -05:00
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.
2021-11-15 18:32:05 -04:00
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.
2021-11-15 18:32:03 -04:00
Jeff
3fc172f4dd
Merge pull request #1796 from jagerman/hotloop-optimization
Avoid std::function in hot pump code
2021-11-15 17:30:09 -05:00
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.
2021-11-15 18:29:26 -04:00
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
2021-11-15 18:28:52 -04:00
Jason Rhinelander
09c2b31b25 Move paths pumping into PumpLL 2021-11-15 18:24:07 -04:00