Commit Graph

343 Commits

Author SHA1 Message Date
Sijie.Sun
05cabb2651
Support wireguard vpn portal (#43)
* support wireguard vpn portal
  user can use wireguard client to access easytier network

* add vpn portal cli

* clean logs

* avoid ospf msg too large
2024-03-30 22:15:14 +08:00
Sijie.Sun
90110aa587
add wireguard tunnel (#42)
peers can connect with each other using wireguard protocol.
2024-03-28 10:01:25 +08:00
Sijie.Sun
ce889e990e
some minor bug fixs (#41)
* fix joinset leak; 

* fix udp packet format

* fix trace log panic

* avoid waiting after listener accept
2024-03-24 22:21:47 +08:00
Sijie.Sun
0f6f553010
Readme (#40)
* update readme, add chinese readme version
2024-03-24 17:35:27 +08:00
sijie.sun
5273f4dcca do not use workspace 2024-03-24 12:26:18 +08:00
sijie.sun
a093901ed3 replace stun_format with stun_codec 2024-03-24 12:26:18 +08:00
sijie.sun
ba455f2a82 update package description 2024-03-24 12:26:18 +08:00
sijie.sun
6c2a240966 allow foreign network forward nic data 2024-03-23 22:42:49 +08:00
sijie.sun
269146c9f8 fix ipv4 map use old peer_id, fix direct connector use ring 2024-03-23 18:01:28 +08:00
sijie.sun
9ed22eaf99 improve direct connector 2024-03-23 16:56:12 +08:00
sijie.sun
2cfc5a6ef6 better user interface 2024-03-23 15:56:46 +08:00
sijie.sun
a4af83e82d fix peer rpc and ospf route 2024-03-21 23:46:51 +08:00
sijie.sun
ba1795a113 introduce a link-state route algo 2024-03-21 22:38:35 +08:00
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