Commit Graph

30 Commits

Author SHA1 Message Date
sijie.sun
d70d085553 do some refactor
1. Route must impl PeerPacketFilter trait.
2. Use postcard lib to serial msg instead of bincode.
3. Fix cycle ref in peer_mgr & peer_rpc
2024-03-21 22:38:35 +08:00
Sijie.Sun
ecb385a82c optimize packet def (#31) 2024-03-13 22:43:52 +08:00
Sijie.Sun
b0494687b5 simplify packet definition (#30) 2024-03-13 18:09:48 +08:00
Sijie.Sun
0053666dfb use uint32 as peer id (#29) 2024-03-13 00:15:22 +08:00
Sijie.Sun
cb0df51319 fix ip & route cfg on windows (#28) 2024-03-09 00:24:16 +08:00
Sijie.Sun
5f30747f62 fix peer_remove & peer_add event handler (#27) 2024-03-06 23:52:56 +08:00
Sijie.Sun
278a4846f1 support ip broadcast (#26) 2024-03-06 23:09:15 +08:00
Sijie.Sun
d8d1c64df7 Introduce foreigner network (#25)
* support network identity for instance

* introduce foreign network

foreign network allow a node serving as one public node. other nodes can
connect to this node to discover peers and exchange route info.
2024-03-06 20:59:17 +08:00
Sijie.Sun
9261d0d32d optimize bandwidth usage (#24)
1. stable stun test result
2. stable report peers result
3. do not send same packet to rip peer
2024-03-02 22:29:31 +08:00
Sijie.Sun
7918031d8b add version to rip route, reduce bandwidth (#23)
reduce bandwidth usage on route propagation
2024-03-02 18:54:45 +08:00
Sijie.Sun
c6c505f9d7 support udp proxy gateway (#22) 2024-03-01 21:37:45 +08:00
Sijie.Sun
24178bcf6e use peer center instance to gatter peers info (#21)
* use peer center instance to gatter peers info
2024-02-29 00:04:48 +08:00
Sijie.Sun
31af413b03 fix local time not work in musl (#20) 2024-02-27 21:47:08 +08:00
Sijie.Sun
e5b3fb09e6 fix peer rpc send response error (#19) 2024-02-26 21:04:33 +08:00
Sijie.Sun
756d498b90 Stun fix (#18)
* make easytier-core a lib
* add stun command to easytier cli
* fix stun test for musl
2024-02-08 23:44:51 +08:00
Sijie.Sun
7fc4aecdb9 Fix udp and win route (#16)
* robust udp tunnel
* fix windows route add
* use pnet to get index
* windows disable udp reset
2024-02-08 16:27:18 +08:00
Sijie.Sun
2c2e41be24 refactor route so we can add other router (#15) 2024-02-06 20:17:08 +08:00
Sijie.Sun
4f98dd097c Update rust.yml (#14)
compile for aarch64
2024-02-06 16:19:42 +08:00
Sijie.Sun
7f8935a9d5 introduce peer center (#13)
peer_center is used to collect peer info into one peer node.

the center node is selected with the following rules:

1. has smallest peer id
2. TODO: has allow_to_be_center peer feature

peer center is not guaranteed to be stable and can be changed when peer enter
or leave.  it's used to reduce the cost to exchange infos between peers.
2024-02-06 13:29:12 +08:00
Sijie.Sun
e3f2765fed Update rust.yml (#12)
upload release files to aliyun oss
2024-02-03 01:43:33 +08:00
Sijie.Sun
6f8ca8bbb2 Update cargo config (#11)
static link to crt on windows
2024-02-03 00:20:05 +08:00
Sijie.Sun
aeb00fb42f optimize latency window stats (#10) 2024-02-01 18:32:06 +08:00
Sijie.Sun
95a52a4b5c bind socket to device on macos (#9)
bind socket to device on macos
2024-01-31 21:43:23 +08:00
Sijie.Sun
a0e59f5c56 Update rust.yml (#8)
fix artifacts upload.
2024-01-31 10:53:11 +08:00
Sijie.Sun
f92ff73a3c Update rust.yml (#7)
* Update rust.yml

support multi platform build
2024-01-31 08:24:29 +08:00
Sijie.Sun
d4b0f49443 optimize cli output (#6) 2024-01-30 22:05:58 +08:00
Sijie.Sun
003520f2b4 fix elastic pingpong (#5)
fix elastic pingpong not started after peer conn established
2024-01-30 12:58:15 +08:00
Sijie.Sun
118954c745 elastic ping pong to adapt env with packet loss (#4)
* elastic ping pong to adapt env with packet loss
2024-01-29 23:21:13 +08:00
Sijie.Sun
6271f9a7a7 GitHub actions (#3)
support github actions
2024-01-28 15:56:42 +08:00
sijie.sun
9779923b87 Initial Version 2024-01-27 15:12:30 +08:00