mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-07-06 15:54:57 +03:00
Compare commits
964 Commits
5.01.9671
...
c577602a0f
Author | SHA1 | Date | |
---|---|---|---|
c577602a0f | |||
ca832a9cef | |||
23e9f74e7e | |||
7b9fd5bdcd | |||
53b7db3578 | |||
4c1eeb717b | |||
7981e16e0b | |||
62e7f0ba8a | |||
2dbebe271d | |||
eb793dc257 | |||
97203568e7 | |||
9c0b5f7001 | |||
a39560749d | |||
495cddd518 | |||
0d9b4faae3 | |||
e8c14cba68 | |||
ff37c35cfa | |||
56c12de929 | |||
2789b16c12 | |||
f6c185f279 | |||
44821c7130 | |||
64cb8e1eff | |||
fc7093ed36 | |||
370d83ffa0 | |||
645d5ebb55 | |||
09b7e4f6e5 | |||
0dfc82c14e | |||
48cb3fdebe | |||
913934f7c0 | |||
442885deb5 | |||
d4dbf3cdc5 | |||
b58d57ffeb | |||
01b05af333 | |||
60ee463044 | |||
36456e63a6 | |||
4e4bd79ad2 | |||
dc2b11918a | |||
7398bf2724 | |||
ff4b74afda | |||
e6792d8893 | |||
8cde812157 | |||
3574f8aa98 | |||
9429243dbe | |||
895c16e3e8 | |||
6a170ac691 | |||
6dbf7e9ae2 | |||
54ae7f725b | |||
35077deaf1 | |||
3b932f5fee | |||
f4bbe476be | |||
2dec52b875 | |||
c49e462ed1 | |||
b8e542105f | |||
06e79fd75d | |||
d30949038f | |||
c621a8e74d | |||
1b0aa5e434 | |||
51898b80a2 | |||
ed282ad977 | |||
7e30a8e52a | |||
a09446c1f3 | |||
18dc2621ec | |||
f57f05a599 | |||
f736d18267 | |||
1be55ebb94 | |||
d8dec75bc5 | |||
fc2a33d1f3 | |||
68615fe64e | |||
2fd6c0b76a | |||
6833a7a11d | |||
643cbbbf88 | |||
205a94cda2 | |||
2868ff1ef6 | |||
a9a93a2824 | |||
979eb803a6 | |||
68e704097d | |||
8162ca3d12 | |||
d9686df302 | |||
8345deebe4 | |||
63595f79c5 | |||
7fe3e6a800 | |||
107c4ba362 | |||
aa65e11fc8 | |||
519d94f925 | |||
950ecc186c | |||
2abd9de923 | |||
5d8ff7ed4f | |||
8f8677f164 | |||
088b5c2df3 | |||
acb6a53b31 | |||
e122e964f3 | |||
df108b559d | |||
efac849ed7 | |||
a80d3f2032 | |||
1cf2e7a8ea | |||
137b8ef67a | |||
c2fe874865 | |||
14fea1f4a2 | |||
f6f2660060 | |||
5d667e4261 | |||
adccc6b7d4 | |||
a2aa254f11 | |||
c0440031e9 | |||
07733b29cb | |||
eb785e08fe | |||
1493ccb44d | |||
49f8112d83 | |||
5633314981 | |||
dcdbce63d5 | |||
8ac021a38c | |||
e4330ca71a | |||
35b5d0640f | |||
f88341ce40 | |||
0ab5199272 | |||
41be858df0 | |||
6665efb822 | |||
8826484245 | |||
09708bc8cb | |||
696a9bc0a1 | |||
1c0bdb0c30 | |||
96e4fc040f | |||
0f689d9dfc | |||
867c992111 | |||
96b1961d78 | |||
939eb3130e | |||
0ba7ad392e | |||
8482a52522 | |||
9c33605f5e | |||
3c70698c35 | |||
56b4ebfa65 | |||
c68d93c2e9 | |||
2fdd9ec4dc | |||
6ae786d542 | |||
c59df82666 | |||
db7d6c83d5 | |||
a89adaebc3 | |||
c46871688b | |||
aadc068964 | |||
46e73e944f | |||
8fc27da780 | |||
c983ebffc1 | |||
df6df007a3 | |||
f7a2cc5a7d | |||
544f03ec8b | |||
82ce34fccb | |||
6ff0ce7076 | |||
d2e673a47d | |||
b3df7a0b90 | |||
22c602f630 | |||
b4e26dec05 | |||
df7ea3c54a | |||
423631100f | |||
fb83ac08f2 | |||
e6123d36a0 | |||
0ff9d1a455 | |||
96ab969152 | |||
1f3a730d0a | |||
21963c6c68 | |||
91053622ab | |||
1519e23b3e | |||
f7d33568f3 | |||
1fe26ccb6c | |||
8c64dc0cd7 | |||
bedf1cd7e9 | |||
d7c487619a | |||
2b7b728077 | |||
cd2838795b | |||
4ff9c6393a | |||
e81ecbb0ec | |||
e20fa9ec2e | |||
1741dfdccc | |||
d045d1eeb7 | |||
cc61b5b3c3 | |||
eea1de3d25 | |||
7e19bbc421 | |||
d49b9f108b | |||
c67d9ee201 | |||
1062692d08 | |||
025ebec4cc | |||
11828be9e6 | |||
edcdc923ad | |||
7c642c7d55 | |||
6ce91e9c81 | |||
064d211fab | |||
43aaca509d | |||
f4934abc9a | |||
0cdf0eacbf | |||
0e8174c6cf | |||
54593e8cac | |||
26403c70e3 | |||
0a60cdf141 | |||
149096e13c | |||
8362637353 | |||
c7766d072b | |||
8215de91f9 | |||
6a5f4b0dfd | |||
58c0e1ded4 | |||
6e48227d93 | |||
1b79df7954 | |||
cbb90c5f23 | |||
2e8723b967 | |||
64396e2c05 | |||
89cc6ae717 | |||
ec3769ba32 | |||
86e44e8d7b | |||
260413d242 | |||
99374ba446 | |||
23c3e1d9e5 | |||
68283fca80 | |||
d8e56f9dbc | |||
dca2eaa370 | |||
c223fbe8a3 | |||
334e8be915 | |||
e2ad7d5e8f | |||
9eb9d57c27 | |||
28ec0d54b8 | |||
506677bf60 | |||
6a1b55293c | |||
49c1a84752 | |||
34a9a7bc46 | |||
bf9ebe21ff | |||
e7980ae9b1 | |||
9f53cf5bdb | |||
1027dbf385 | |||
675b78e502 | |||
c492276a94 | |||
661e61538e | |||
b5a83cc208 | |||
7f65bae400 | |||
3781d0f91c | |||
d76888434b | |||
b6d2ec3b76 | |||
4ebf713911 | |||
4981008534 | |||
b5727b3525 | |||
372759d2ad | |||
86e28db3d7 | |||
797696a9f4 | |||
8ae0a932da | |||
bfee06d144 | |||
e4f9abba1c | |||
05fa675d5a | |||
ac04c469c7 | |||
dc5da0c6a9 | |||
e85fc4435e | |||
cf38a3b6c2 | |||
04569c81c7 | |||
6adc996bf9 | |||
fa99fde893 | |||
d854fd6baf | |||
ee1ecf8b42 | |||
1ba86c0dc1 | |||
d8768367b9 | |||
a14d812dcb | |||
49ea58dd58 | |||
37aa1ba534 | |||
3ed7f7cbce | |||
209f60f079 | |||
333cbb3f29 | |||
5146bbbadc | |||
e74d9dec25 | |||
ad4ce138e9 | |||
34d443648b | |||
27d7f4cfbe | |||
4a3b4589c6 | |||
53d8b10de2 | |||
ca996ed89a | |||
0d075f0b42 | |||
8f3915417f | |||
bf206bd7ad | |||
cb6d9531b5 | |||
2f1bff96b2 | |||
5a0227ba1d | |||
4f9c75a3a7 | |||
0735af9fdf | |||
ca226cdc9d | |||
900947bd08 | |||
817ecf2348 | |||
a8be4c38e1 | |||
c8dca265b4 | |||
4c2e0867e4 | |||
b3afbe37e9 | |||
3a91490b7f | |||
b4bb90ec5b | |||
192d4938da | |||
43f0d3b4fa | |||
a742e2d193 | |||
fade8672c2 | |||
992a998a34 | |||
3c0e3fa49c | |||
c6334a44f9 | |||
d86cf181bf | |||
e8b88fd225 | |||
9764485774 | |||
a52a3928db | |||
32a970f976 | |||
56aedd6817 | |||
b603d2658a | |||
1e604407af | |||
24926bcc17 | |||
a4334753ad | |||
fd92c754fc | |||
10b5034f0d | |||
0a4455ac40 | |||
f94ac6351e | |||
034aae5a70 | |||
879bd34af4 | |||
a4d414891f | |||
09dd8a8b07 | |||
3c7d78a1bf | |||
adbbe94675 | |||
1c1560f6ca | |||
68dc4e23d8 | |||
f6edb5e165 | |||
a5565fce4b | |||
d95d8ddefa | |||
5ecade7950 | |||
f3905cc421 | |||
3cdad95ee1 | |||
1c3dc59892 | |||
529d2c232f | |||
7f7d72cca9 | |||
e65cacdf96 | |||
f1b464e84d | |||
18598b5d96 | |||
51585e63e3 | |||
c72d4fddb8 | |||
82b6422821 | |||
fc15d1ebd5 | |||
73ffa10f50 | |||
a0f831c071 | |||
77ee848caa | |||
0b74a8e4ce | |||
918fedb9d4 | |||
fc94843579 | |||
b91d9af5e3 | |||
2a40d21ef9 | |||
02ee7b45d7 | |||
384ab07996 | |||
e6bf956806 | |||
528f313dbe | |||
5cac4481f0 | |||
b4aad09f21 | |||
14f5854ecf | |||
a9239a6aab | |||
b178f26e52 | |||
9692a8d961 | |||
2d1c8765aa | |||
8392ccd1fa | |||
2955dc5580 | |||
235d5d1d0d | |||
e095283641 | |||
fb004345b4 | |||
9d4970841f | |||
4d594e00f8 | |||
d7be057ae0 | |||
2990b5ae93 | |||
462ebfb960 | |||
6e7eba8e71 | |||
8e292138b1 | |||
582a739179 | |||
3a2d588722 | |||
9c2a573cf2 | |||
4657d7ee49 | |||
c9508b7fb7 | |||
2853337b81 | |||
03859eb515 | |||
a56cfac947 | |||
82af38c482 | |||
f74c53b449 | |||
f85dff25dc | |||
f301ba1e60 | |||
dcb1023999 | |||
26c8fbe538 | |||
115b8aab82 | |||
3cc85c1d51 | |||
fc9286b11b | |||
224abd99b8 | |||
5adeeb75ea | |||
d0fe38384c | |||
84bc94b232 | |||
78e89eb3c7 | |||
fcd00547aa | |||
0eb0152437 | |||
472dde05de | |||
1e6806bee7 | |||
c01d8e6058 | |||
d061abae8f | |||
888cf188bb | |||
fbdd6f1f3c | |||
024b68120d | |||
2d00ab7dcc | |||
51a3346f70 | |||
7f8e527883 | |||
832c69add2 | |||
ffc095f95a | |||
b6d31af188 | |||
ee3bf7f507 | |||
9b3077d955 | |||
dd9c3546f7 | |||
4ddf39e760 | |||
ce0591d924 | |||
5a05e7a249 | |||
c3573561ed | |||
97a04888b7 | |||
37b5644291 | |||
101d79d7c3 | |||
9182a9b4e9 | |||
bf14817f1f | |||
8b87c9d4ef | |||
2761c1ca42 | |||
1f40de2dda | |||
ddf9e48c10 | |||
1bb01e55e5 | |||
b531d8e234 | |||
fce3592917 | |||
410b7a959d | |||
1590e6afb3 | |||
996f2f2aa0 | |||
7863ce8a8e | |||
26a27553b2 | |||
a1dff0f594 | |||
7881f8657a | |||
bd501ba9bf | |||
dfb105c2d7 | |||
66dc5ee581 | |||
56bd9733d6 | |||
eff784b624 | |||
22a9231c33 | |||
a2f30c8aad | |||
41b9973c24 | |||
60db1962f9 | |||
6e400c19af | |||
f2466eb919 | |||
c310163244 | |||
9dbbfcd388 | |||
4328e6e5ab | |||
505c854303 | |||
4efed994dc | |||
513ad6e792 | |||
0d5b05ef02 | |||
bcba88ca73 | |||
883d4d4cd7 | |||
4eae5820f6 | |||
f6adcd6bfc | |||
dc296f1eff | |||
43f8b5fc56 | |||
08905e57a6 | |||
233e28f38c | |||
8798978951 | |||
af84a30adc | |||
b64c15b097 | |||
03d67fd5b1 | |||
46ca5f7b98 | |||
ce6ea9f781 | |||
4221579e95 | |||
56bb573b17 | |||
e3f0837bd1 | |||
c1370987bf | |||
79d1ade09d | |||
a3f984e521 | |||
65bcbc8db3 | |||
43a80702a9 | |||
682052e0dc | |||
ad139a7cbb | |||
64f1e349f8 | |||
214992c232 | |||
82b4b083b3 | |||
f18837b491 | |||
28c90b190c | |||
5f76dbcfa2 | |||
b4817fd27a | |||
89ca29f259 | |||
7a208d6114 | |||
5b910322a7 | |||
2262b8a160 | |||
2923b5500a | |||
7acd52d724 | |||
8c12e79448 | |||
dc8d705854 | |||
81c71d309a | |||
e0182ca3d9 | |||
97d9761a9b | |||
544c9a73da | |||
f9a1d72ce7 | |||
e2d61133fe | |||
2f801f30de | |||
60568da9b7 | |||
515d823ef8 | |||
146455e97d | |||
c20bcb2e60 | |||
ce54531b53 | |||
cf318d7219 | |||
285e322171 | |||
cca769e2e6 | |||
4e248e833c | |||
92f41341d9 | |||
19af52e288 | |||
3a595b4a46 | |||
76395d8f8d | |||
2aaf9012a0 | |||
aeff295c01 | |||
4b05de1a93 | |||
92966e0f5c | |||
485e680cff | |||
f8c4713fad | |||
789ed26113 | |||
6f050f2b01 | |||
6a25ccfa28 | |||
138e0b76d6 | |||
ee84891559 | |||
0472f9c286 | |||
f7e988ffc7 | |||
a541c0286e | |||
30f707d6c0 | |||
bad9310aa4 | |||
d4d15b66d3 | |||
c4b5455663 | |||
192083e7c4 | |||
1708998a11 | |||
01663f836d | |||
4ec2995604 | |||
2bb6fb2845 | |||
a6ba9b8788 | |||
46b54f00be | |||
5cab279a8c | |||
3e17c818a6 | |||
84588095d5 | |||
a79f91161f | |||
ed6013affc | |||
ac04e15b72 | |||
4db6247b80 | |||
3761876254 | |||
934e49fea0 | |||
b7e7d3b028 | |||
808f081e3a | |||
8fb9bfd39c | |||
9d29d8813b | |||
68367fa2fb | |||
d5fa90cc71 | |||
68574e9af9 | |||
de03b3ec59 | |||
9e7f26395a | |||
b00aa39b29 | |||
2d82d84fd5 | |||
42dbfb7c7e | |||
ef5c32dca1 | |||
65483499bf | |||
3ffdda6c13 | |||
3d69a71d9b | |||
4506b60e80 | |||
b6b692046c | |||
56a19d7651 | |||
2078a069de | |||
562ffe8945 | |||
914bfe7d44 | |||
7f30cbccf4 | |||
2dab282eb2 | |||
ef24ff74c8 | |||
a8580458c4 | |||
6115f1c713 | |||
dd1eebdbed | |||
8495388933 | |||
afe576dcdc | |||
decfcecc97 | |||
d8aa470192 | |||
b339104f4f | |||
8a37f5ce11 | |||
e7bf97583d | |||
a39905c288 | |||
dbd4dd5ae7 | |||
ec201f340a | |||
0a924aea4d | |||
d161b75a7d | |||
621fb087f8 | |||
809f891f0c | |||
82f2c73ce9 | |||
5cddafbb3b | |||
dd6e79d526 | |||
5792aa7c41 | |||
0325c13c40 | |||
25e2854725 | |||
cf2585c079 | |||
1301dc93c6 | |||
5ed11a0270 | |||
5c346ef96e | |||
2715d80e18 | |||
a08857150b | |||
e5cfa347da | |||
a6239a4ae3 | |||
8e2616ef7d | |||
ea2c8f9861 | |||
e5e86abc0e | |||
992410c3d4 | |||
cd889f78dc | |||
cabcba1ef9 | |||
2969237e04 | |||
78f06569b3 | |||
1fa6c14e4e | |||
586c27d43b | |||
63b841efc0 | |||
2981a44de3 | |||
2db9f15ea7 | |||
ebd1d281dd | |||
9620dcbcd0 | |||
943ddadd3d | |||
272ec5a8ef | |||
d53f80bfa6 | |||
ac48ac348b | |||
44447e9762 | |||
394354ff8a | |||
6ff00f637b | |||
5611156ca8 | |||
f03e83369e | |||
501fe217ff | |||
bf1201aa26 | |||
a207260e38 | |||
eddf593e22 | |||
3fa24c6731 | |||
5f12684b42 | |||
5f6306d5e5 | |||
023250df9a | |||
16ca0694fb | |||
99e99a46b1 | |||
fffed52f3b | |||
69b4001355 | |||
c029b34b80 | |||
7fdacec2a6 | |||
190672bd84 | |||
5ca62bdd8a | |||
d0b3cde485 | |||
bb2e2ff997 | |||
a2d15615f3 | |||
945715e4bb | |||
1ac7602b3a | |||
3c140dde8d | |||
d29d1f516a | |||
b890c7d813 | |||
8bb787f233 | |||
819f2f92f6 | |||
e6a80fb4f2 | |||
249575a5a5 | |||
2c9ac51c84 | |||
9e7d87bea6 | |||
3cf23e58a3 | |||
f52ccc6493 | |||
2e0c24f6c8 | |||
d1ad4196bb | |||
1e164ecc4e | |||
51ffe4be2c | |||
20b84f3928 | |||
dec532a8eb | |||
ff3910eb86 | |||
684d17e86a | |||
efd24133be | |||
1c4b257a1b | |||
77aee2d21c | |||
f22b013dda | |||
488eb06d64 | |||
763e1b67a5 | |||
fc39173b73 | |||
1a4ed27e89 | |||
cd0db9c7d6 | |||
c5a3fd74c0 | |||
a800e6f6cc | |||
5b07163975 | |||
feba98199b | |||
7b73e3c0c8 | |||
490fc7b65c | |||
a8fdc1184a | |||
7edda54b9a | |||
cc5d68a7c3 | |||
6a7883b5fe | |||
61ccaed4f6 | |||
09f24e46b3 | |||
69cd39616b | |||
e18bb465c9 | |||
337a04b758 | |||
1c56562cc7 | |||
b4cd4ce360 | |||
818103950c | |||
5d782a67b4 | |||
cda0062367 | |||
a8c6a0c1b3 | |||
712c51a971 | |||
ac1b045634 | |||
3b2db45509 | |||
10e292b196 | |||
e8793a0098 | |||
5cdd2a4e4a | |||
e1d9eaf590 | |||
6b3ac84ba2 | |||
18ad35ebfe | |||
b853140626 | |||
5209b310e3 | |||
3a275d7257 | |||
aa65327e73 | |||
b352aa4cc3 | |||
6d85fffdb5 | |||
8685fe0da1 | |||
cd850c07ae | |||
14a410a179 | |||
c865103795 | |||
60410accce | |||
352ed759b2 | |||
b57a4b051b | |||
6c665f889f | |||
5bf08e63bb | |||
4b9c33cd30 | |||
78dad1d568 | |||
6a472d827a | |||
a3eb115b0a | |||
24d64222ea | |||
cc61c90372 | |||
35200a29ea | |||
c084ce30f9 | |||
755e09e5c1 | |||
2cdffffa54 | |||
8e53b948c5 | |||
ff247687ed | |||
588d7539f4 | |||
112b4c2c67 | |||
28d4a113dc | |||
3732447571 | |||
0133682eb3 | |||
3747d2bf3f | |||
3c99f64621 | |||
74a1e9bd1b | |||
59be67df25 | |||
5e0c036e39 | |||
6801e4b384 | |||
c948f65850 | |||
a9b30b829f | |||
d074899fd8 | |||
3c2f5a41ba | |||
369a8850c4 | |||
7b042e53d2 | |||
844dcdb0af | |||
144392c587 | |||
3baf4674e7 | |||
869496be3e | |||
d917b2ac73 | |||
96a2d5a124 | |||
3090688506 | |||
19dbdf46be | |||
eb5150a002 | |||
e0c6813d44 | |||
6869955acc | |||
f84513c95b | |||
45399d9797 | |||
b60844e276 | |||
40ed982079 | |||
eeaac4e78c | |||
6fe678fe84 | |||
853b4a57bc | |||
275e8a81ef | |||
235bd07e67 | |||
47d08b055e | |||
485a5922eb | |||
4514ba5e2f | |||
5ebdb394fc | |||
2fafd7c70e | |||
d726719602 | |||
09be880263 | |||
f7f6eeec44 | |||
c4838006b1 | |||
c52e49de2d | |||
9e6476c7b2 | |||
37f28b4119 | |||
f1cb86d979 | |||
c4ec63fe32 | |||
60cc784aee | |||
b77dd167ff | |||
1a8e1385cf | |||
e3e35f5a4c | |||
c15a4ba04f | |||
5e1c728f92 | |||
eb9d6e77a4 | |||
6e707f7550 | |||
71b814060d | |||
8e1a377b82 | |||
adf0f18b7a | |||
20bbe325fe | |||
1d5ded9388 | |||
cbbac659a3 | |||
2cfe031398 | |||
a2a6502ab9 | |||
f2fee4d32c | |||
f627b64264 | |||
1d6a4d3ec8 | |||
3b7dd25b65 | |||
3f16a7e704 | |||
4e583e43f1 | |||
8fdf7302a5 | |||
981b57ee28 | |||
27f7d43ff7 | |||
a3aea00820 | |||
0570f7d31c | |||
667108319d | |||
7e8b3c0b39 | |||
34dfc14549 | |||
1fe863e866 | |||
b41c17f45a | |||
ca1c6a5f3f | |||
8fb456f6a6 | |||
132926ee09 | |||
8a856e4672 | |||
e6803a1fab | |||
9180e065a0 | |||
39becfe4ab | |||
723f38e72f | |||
a2b7cb0148 | |||
24bd2b3198 | |||
9f2a5cecf3 | |||
a65c436e8f | |||
aa0ec4343c | |||
1bdd9a92bc | |||
942051d3a8 | |||
039cd8edf0 | |||
e025762a52 | |||
a902d3eed9 | |||
44f731f781 | |||
14e9c7299d | |||
f20e99f8e4 | |||
b9109211d3 | |||
9073452b09 | |||
bf65ef290a | |||
70a7c4596d | |||
16cdf62cc6 | |||
033647c8ac | |||
b6ef9f88c9 | |||
c6f186bd73 | |||
84bd9abb30 | |||
5db21a1dc1 | |||
4772a508dc | |||
1416a693e7 | |||
22272ec838 | |||
be3e45a4bf | |||
dcecd4c0d5 | |||
60c1e2027d | |||
6399b0f852 | |||
3b00d4c56b | |||
5dde23cb55 | |||
e6b8e6eee3 | |||
78b0684dd4 | |||
a6652fead2 | |||
c222ef525b | |||
c3d56c2201 | |||
7e5decb72a | |||
1e601ebf65 | |||
f34d3c80b1 | |||
c635cdd614 | |||
fa9e9d15a5 | |||
60e85afd1f | |||
a6970e3e61 | |||
eeec9a82f6 | |||
1a5a11d146 | |||
a49219db83 | |||
a4f87565ae | |||
9487bc8d47 | |||
70564a8f52 | |||
bd558e8f0a | |||
17e7d65839 | |||
e5d691977d | |||
f083c59905 | |||
41e023b369 | |||
a53be84e3a | |||
4fddb7681e | |||
76c9678015 | |||
6d3fef8da6 | |||
92c544cc1f | |||
6b6c0ae636 | |||
543a26c6a6 | |||
d836904321 | |||
9556f09166 | |||
0d79b3c3b5 | |||
1c07ddcb8d | |||
c38b0b0398 | |||
e4aff409f8 | |||
80ba3345d1 | |||
d1471048d9 | |||
614f4db8a6 | |||
a455dc7f0e | |||
c8479e3011 | |||
b1aae5080d | |||
a69c4980d5 | |||
c64674479d | |||
01abdedc45 | |||
18c9b74ff0 | |||
3a309c9f6e | |||
3b6c4d02ac | |||
876ca4ef3e | |||
1d2a58b172 | |||
6b08a451da | |||
2ea5c2a7b0 | |||
82a81a3ce6 | |||
9aaa9a7f15 | |||
ab57ef3f54 | |||
76ae935172 | |||
a676a0a6fd | |||
76c330e74b | |||
4acd7ab98e | |||
7829fe2c59 | |||
12cbf34302 | |||
63caa4b07f | |||
3c21d982fc | |||
59dc26aa21 | |||
b8f58a2f94 | |||
1e835e7ec2 | |||
5d73cd878f | |||
7349c4b16a | |||
16bde47763 | |||
79a60bc5f0 | |||
4d42f450b2 | |||
46d8da6744 | |||
51330fdb43 | |||
5b15b12ea9 | |||
12cc242529 | |||
4afdad09a1 | |||
2f90e9ecb8 | |||
c3d6ffc533 | |||
04ecbf843a | |||
6b41b19327 | |||
93dcd25d63 | |||
5fed2b8903 | |||
2aeec323f9 | |||
762c399c42 | |||
f0357d4000 | |||
7413fec646 | |||
e944e6a848 | |||
c8a0a5648b | |||
e03db7ee60 | |||
93183f7b3f | |||
1e9092ee94 | |||
50960dbe16 | |||
ea37c85391 | |||
21e3ce104b | |||
850a5faa0d | |||
9e46402e6b | |||
1144d6c430 | |||
926b99047a | |||
2fa28480f9 | |||
d10f83417f | |||
82b84a9436 | |||
bf4667cfce | |||
c6068d23c7 | |||
7dff0dce17 | |||
9f19efb7af | |||
7d58e6bf60 | |||
3f9b610c80 | |||
ad33008a29 | |||
d57fc3524c | |||
a9f707c813 | |||
24f426162c | |||
06fc93e08e | |||
e10983ec6f | |||
9b20444bb2 | |||
d6cf1b85a9 | |||
831c907512 | |||
1bd39485cf | |||
fb5083be29 | |||
a4ed656001 | |||
c6117d4f8e | |||
9fff38de2b |
@ -1,10 +1,6 @@
|
||||
version: '{build}'
|
||||
|
||||
image:
|
||||
- Visual Studio 2015
|
||||
- Visual Studio 2017
|
||||
- Ubuntu1604
|
||||
- Ubuntu1804
|
||||
image: Ubuntu2004
|
||||
|
||||
configuration: Release
|
||||
|
||||
@ -21,81 +17,17 @@ skip_commits:
|
||||
init:
|
||||
- ps: Update-AppveyorBuild -Version "build-$env:APPVEYOR_BUILD_NUMBER-$($env:APPVEYOR_REPO_COMMIT.substring(0,7))"
|
||||
|
||||
install: git submodule update --init --recursive
|
||||
|
||||
for:
|
||||
-
|
||||
matrix:
|
||||
only:
|
||||
- image: Visual Studio 2015
|
||||
build_script:
|
||||
- src\BuildAll.cmd
|
||||
- exit %errorlevel%
|
||||
after_build:
|
||||
- 7z a "%APPVEYOR_BUILD_FOLDER%\%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x86_%CONFIGURATION%_PDBs-vs2015.zip" "%APPVEYOR_BUILD_FOLDER%\src\DebugFiles\pdb\Win32_Release\*.pdb"
|
||||
- 7z a "%APPVEYOR_BUILD_FOLDER%\%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%_PDBs-vs2015.zip" "%APPVEYOR_BUILD_FOLDER%\src\DebugFiles\pdb\x64_Release\*.pdb"
|
||||
artifacts:
|
||||
- path: output\pkg\*\*
|
||||
name: Release
|
||||
- path: "%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x86_%CONFIGURATION%_PDBs-vs2015.zip"
|
||||
name: PDBs (x86)
|
||||
- path: "%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%_PDBs-vs2015.zip"
|
||||
name: PDBs (x64)
|
||||
-
|
||||
matrix:
|
||||
only:
|
||||
- image: Visual Studio 2017
|
||||
init:
|
||||
- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
before_build:
|
||||
- configure
|
||||
build_script:
|
||||
- nmake
|
||||
test_script:
|
||||
- ps: cd $env:APPVEYOR_BUILD_FOLDER
|
||||
- ps: .\.ci\appveyor-vpntest.ps1
|
||||
after_build:
|
||||
- 7z a "%APPVEYOR_BUILD_FOLDER%\%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%-vs2017.zip" "%APPVEYOR_BUILD_FOLDER%\build\*.exe"
|
||||
- 7z a "%APPVEYOR_BUILD_FOLDER%\%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%-vs2017.zip" "%APPVEYOR_BUILD_FOLDER%\build\hamcore.se2"
|
||||
- 7z a "%APPVEYOR_BUILD_FOLDER%\%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%_PDBs-vs2017.zip" "%APPVEYOR_BUILD_FOLDER%\build\*.pdb"
|
||||
artifacts:
|
||||
- path: "%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%-vs2017.zip"
|
||||
name: Release
|
||||
- path: "%APPVEYOR_PROJECT_NAME%_%APPVEYOR_BUILD_VERSION%_Windows_x64_%CONFIGURATION%_PDBs-vs2017.zip"
|
||||
name: PDBs
|
||||
-
|
||||
matrix:
|
||||
only:
|
||||
- image: Ubuntu1604
|
||||
before_build:
|
||||
install:
|
||||
- sudo apt-get -y install libsodium-dev libcap-ng-dev
|
||||
before_build:
|
||||
- git submodule update --init --recursive
|
||||
- ./configure
|
||||
build_script:
|
||||
- make package -C tmp -j $(nproc || sysctl -n hw.ncpu || echo 4)
|
||||
test_script:
|
||||
- .ci/appveyor-deb-install-test.sh
|
||||
- sudo apt-get update && sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip # openvpn build deps
|
||||
- sudo .ci/start-se-openvpn.sh
|
||||
- sudo .ci/run-openvpn-tests.sh
|
||||
|
||||
-
|
||||
matrix:
|
||||
only:
|
||||
- image: Ubuntu1804
|
||||
before_build:
|
||||
- sh: "if [ ${APPVEYOR_REPO_TAG} == \"true\" ]; then .ci/appveyor-create-release-tarball.sh\nfi"
|
||||
- ./configure
|
||||
build_script:
|
||||
- make package -C tmp -j $(nproc || sysctl -n hw.ncpu || echo 4)
|
||||
build_script:
|
||||
- make package -C build -j $(nproc || sysctl -n hw.ncpu || echo 4)
|
||||
- .ci/memory-leak-test.sh
|
||||
test_script:
|
||||
test_script:
|
||||
- .ci/appveyor-deb-install-test.sh
|
||||
- sudo apt-get update && sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip # openvpn build deps
|
||||
- sudo apt-get update && sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip liblz4-dev libnl-genl-3-dev # openvpn build deps
|
||||
- sudo .ci/start-se-openvpn.sh
|
||||
- sudo .ci/run-openvpn-tests.sh
|
||||
|
||||
deploy:
|
||||
description: 'automatic release'
|
||||
provider: GitHub
|
||||
auth_token: $(github_token)
|
||||
on:
|
||||
APPVEYOR_REPO_TAG: true
|
||||
|
@ -1,6 +0,0 @@
|
||||
jobs:
|
||||
- template: .ci/azure-pipelines-linux.yml
|
||||
|
||||
# - template: .ci/azure-pipelines-osx.yml
|
||||
|
||||
- template: .ci/azure-pipelines-win.yml
|
@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
tar --exclude=.git --transform "s//SoftEtherVPN-${APPVEYOR_REPO_TAG_NAME}\//" -czf /tmp/softether-vpn-src-${APPVEYOR_REPO_TAG_NAME}.tar.gz .
|
||||
appveyor PushArtifact /tmp/softether-vpn-src-${APPVEYOR_REPO_TAG_NAME}.tar.gz
|
||||
|
@ -2,11 +2,13 @@
|
||||
|
||||
set -eux
|
||||
|
||||
sudo dpkg -i build/softether-common*.deb
|
||||
sudo dpkg -i build/softether-vpnbridge*.deb
|
||||
sudo dpkg -i build/softether-vpnclient*.deb
|
||||
sudo dpkg -i build/softether-vpncmd*.deb
|
||||
sudo dpkg -i build/softether-vpnserver*.deb
|
||||
BUILD_BINARIESDIRECTORY="${BUILD_BINARIESDIRECTORY:-build}"
|
||||
|
||||
sudo dpkg -i $BUILD_BINARIESDIRECTORY/softether-common*.deb
|
||||
sudo dpkg -i $BUILD_BINARIESDIRECTORY/softether-vpnbridge*.deb
|
||||
sudo dpkg -i $BUILD_BINARIESDIRECTORY/softether-vpnclient*.deb
|
||||
sudo dpkg -i $BUILD_BINARIESDIRECTORY/softether-vpncmd*.deb
|
||||
sudo dpkg -i $BUILD_BINARIESDIRECTORY/softether-vpnserver*.deb
|
||||
|
||||
sudo systemctl restart softether-vpnserver || (sudo journalctl -xe --no-pager >> systemctl.log && appveyor PushArtifact systemctl.log && exit 1)
|
||||
|
||||
|
@ -1,18 +1,25 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (Test-Path "env:BUILD_BINARIESDIRECTORY") {
|
||||
$BUILD_BINARIESDIRECTORY = $env:BUILD_BINARIESDIRECTORY
|
||||
} else {
|
||||
$BUILD_BINARIESDIRECTORY = "build"
|
||||
}
|
||||
|
||||
# ('s', 'c', 'b', 'sm', 'cm') ??
|
||||
('s', 'c', 'b') | % {
|
||||
|
||||
[String] $mode = $_
|
||||
Write-Host "testing: $mode"
|
||||
|
||||
$t = (Write-Output "q\n" | & .\build\vpntest.exe $mode | Select-String -Pattern 'NO MEMORY LEAKS' -CaseSensitive)
|
||||
$full = (Write-Output "q\n" | & "$BUILD_BINARIESDIRECTORY\vpntest.exe" $mode)
|
||||
$t = ($full | Select-String -Pattern 'NO MEMORY LEAKS' -CaseSensitive)
|
||||
|
||||
if( ($t).Count -ne 1){
|
||||
if (($t).Count -ne 1) {
|
||||
$full
|
||||
Write-Error 'failed'
|
||||
return $false
|
||||
}else{
|
||||
} else {
|
||||
Write-Host 'ok'
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,19 +0,0 @@
|
||||
jobs:
|
||||
- job: linux_64
|
||||
displayName: 'Ubuntu 16.04'
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
variables:
|
||||
CPACK_GENERATOR: DEB
|
||||
steps:
|
||||
- checkout: self
|
||||
submodules: recursive
|
||||
- script: |
|
||||
sudo apt -y install cmake gcc g++ libncurses5-dev libreadline-dev libssl-dev make zlib1g-dev
|
||||
./configure
|
||||
make package -C tmp -j $(nproc || sysctl -n hw.ncpu || echo 4)
|
||||
.ci/appveyor-deb-install-test.sh
|
||||
sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip # openvpn build deps
|
||||
sudo .ci/start-se-openvpn.sh
|
||||
sudo .ci/run-openvpn-tests.sh
|
||||
displayName: 'Ubuntu 16.04'
|
@ -1,28 +0,0 @@
|
||||
jobs:
|
||||
- job: win_64
|
||||
displayName: 'Visual Studio 2017'
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- checkout: self
|
||||
submodules: recursive
|
||||
- script: |
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
configure
|
||||
- script: |
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
cd tmp
|
||||
nmake
|
||||
- powershell: |
|
||||
. .ci\appveyor-vpntest.ps1
|
||||
- powershell: |
|
||||
New-Item -Path '$(build.artifactstagingdirectory)/publish' -ItemType Directory
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: '$(Build.SourcesDirectory)'
|
||||
contents: 'build/?(*.exe|*.se2|*.pdb)'
|
||||
TargetFolder: '$(build.artifactstagingdirectory)/publish'
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: '$(build.artifactstagingdirectory)/publish'
|
||||
artifactName: vs2017
|
15
.ci/azure-pipelines/linux_build.sh
Executable file
15
.ci/azure-pipelines/linux_build.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "${#SE_BUILD_NUMBER_TOKEN}" -eq 64 ]]; then
|
||||
VERSION=$(python3 "version.py")
|
||||
BUILD_NUMBER=$(curl "https://softether.network/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${SE_BUILD_NUMBER_TOKEN}")
|
||||
else
|
||||
BUILD_NUMBER=0
|
||||
fi
|
||||
|
||||
cd ${BUILD_BINARIESDIRECTORY}
|
||||
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_NUMBER=${BUILD_NUMBER} ${BUILD_SOURCESDIRECTORY}
|
||||
cmake --build .
|
||||
|
||||
cpack -C Release -G DEB
|
13
.ci/azure-pipelines/macos_build.sh
Executable file
13
.ci/azure-pipelines/macos_build.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "${#SE_BUILD_NUMBER_TOKEN}" -eq 64 ]]; then
|
||||
VERSION=$(python3 "version.py")
|
||||
BUILD_NUMBER=$(curl "https://softether.network/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${SE_BUILD_NUMBER_TOKEN}")
|
||||
else
|
||||
BUILD_NUMBER=0
|
||||
fi
|
||||
|
||||
cd ${BUILD_BINARIESDIRECTORY}
|
||||
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_NUMBER=${BUILD_NUMBER} -DOPENSSL_ROOT_DIR="/usr/local/opt/openssl" ${BUILD_SOURCESDIRECTORY}
|
||||
cmake --build .
|
33
.ci/azure-pipelines/windows_build.bat
Normal file
33
.ci/azure-pipelines/windows_build.bat
Normal file
@ -0,0 +1,33 @@
|
||||
@echo on
|
||||
|
||||
:: The method we use to store a command's output into a variable:
|
||||
:: https://stackoverflow.com/a/6362922
|
||||
for /f "tokens=* USEBACKQ" %%g in (`python "version.py"`) do (set "VERSION=%%g")
|
||||
|
||||
:: https://stackoverflow.com/a/8566001
|
||||
echo %SE_BUILD_NUMBER_TOKEN%> "%tmp%\length.txt"
|
||||
for %%? in ("%tmp%\length.txt") do ( set /A SE_BUILD_NUMBER_TOKEN_LENGTH=%%~z? - 2 )
|
||||
|
||||
if %SE_BUILD_NUMBER_TOKEN_LENGTH% equ 64 (
|
||||
for /f "tokens=* USEBACKQ" %%g in (`curl "https://softether.network/get-build-number?commit=%BUILD_SOURCEVERSION%&version=%VERSION%&token=%SE_BUILD_NUMBER_TOKEN%"`) do (set "BUILD_NUMBER=%%g")
|
||||
) else (
|
||||
set BUILD_NUMBER=0
|
||||
)
|
||||
|
||||
|
||||
if "%BUILD_BINARIESDIRECTORY%"=="" (set BUILD_BINARIESDIRECTORY=build)
|
||||
if "%BUILD_SOURCESDIRECTORY%"=="" (set BUILD_SOURCESDIRECTORY=%cd%)
|
||||
|
||||
if not exist %BUILD_BINARIESDIRECTORY% mkdir %BUILD_BINARIESDIRECTORY%
|
||||
|
||||
cd %BUILD_BINARIESDIRECTORY%
|
||||
|
||||
call "%VCVARS_PATH%"
|
||||
|
||||
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% "%BUILD_SOURCESDIRECTORY%"
|
||||
cmake --build .
|
||||
|
||||
if "%BUILD_STAGINGDIRECTORY%"=="" (set BUILD_STAGINGDIRECTORY=%cd%)
|
||||
mkdir "%BUILD_STAGINGDIRECTORY%\installers"
|
||||
vpnsetup /SFXMODE:vpnclient /SFXOUT:"%BUILD_STAGINGDIRECTORY%\installers\softether-vpnclient-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
|
||||
vpnsetup /SFXMODE:vpnserver_vpnbridge /SFXOUT:"%BUILD_STAGINGDIRECTORY%\installers\softether-vpnserver_vpnbridge-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
|
@ -12,7 +12,7 @@ build_openssl () {
|
||||
if [[ "$(cat ${OPENSSL_INSTALL_DIR}/.openssl-version)" != "${OPENSSL_VERSION}" ]]; then
|
||||
tar zxf "download-cache/openssl-${OPENSSL_VERSION}.tar.gz"
|
||||
cd "openssl-${OPENSSL_VERSION}/"
|
||||
./config shared --prefix="${OPENSSL_INSTALL_DIR}" --openssldir="${OPENSSL_INSTALL_DIR}" -DPURIFY
|
||||
./config shared no-deprecated --prefix="${OPENSSL_INSTALL_DIR}" --openssldir="${OPENSSL_INSTALL_DIR}" -DPURIFY
|
||||
make -j $(nproc || sysctl -n hw.ncpu || echo 4) all
|
||||
make install_sw
|
||||
echo "${OPENSSL_VERSION}" > "${OPENSSL_INSTALL_DIR}/.openssl-version"
|
||||
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
RUN_COVERITY="${RUN_COVERITY:-0}"
|
||||
|
||||
export COVERITY_SCAN_PROJECT_NAME="SoftEtherVPN/SoftEtherVPN"
|
||||
export COVERITY_SCAN_BRANCH_PATTERN="master"
|
||||
export COVERITY_SCAN_NOTIFICATION_EMAIL="chipitsine@gmail.com"
|
||||
export COVERITY_SCAN_BUILD_COMMAND_PREPEND="./configure"
|
||||
export COVERITY_SCAN_BUILD_COMMAND="make -C tmp"
|
||||
|
||||
if [ "${RUN_COVERITY}" = "1" ]; then
|
||||
# Ignore exit code, script exits with 1 if we're not on the right branch
|
||||
curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
|
||||
else
|
||||
echo "Skipping coverity scan because \$RUN_COVERITY != \"1\""
|
||||
fi
|
@ -2,7 +2,10 @@
|
||||
|
||||
set -eux
|
||||
|
||||
cd
|
||||
BUILD_BINARIESDIRECTORY="${BUILD_BINARIESDIRECTORY:-build}"
|
||||
|
||||
cd $BUILD_BINARIESDIRECTORY
|
||||
|
||||
git clone https://github.com/openvpn/openvpn
|
||||
cd openvpn
|
||||
autoreconf -iv
|
||||
@ -18,7 +21,7 @@ cat << EOF > tests/t_client.rc
|
||||
CA_CERT=fake
|
||||
TEST_RUN_LIST="1 2"
|
||||
|
||||
OPENVPN_BASE="--remote 127.0.0.1 --config $CONFIG --auth-user-pass /tmp/auth.txt"
|
||||
OPENVPN_BASE="--config $CONFIG --auth-user-pass /tmp/auth.txt"
|
||||
|
||||
RUN_TITLE_1="testing udp/ipv4"
|
||||
OPENVPN_CONF_1="--dev null --proto udp --port 1194 \$OPENVPN_BASE"
|
||||
@ -27,4 +30,6 @@ RUN_TITLE_2="testing tcp/ipv4"
|
||||
OPENVPN_CONF_2="--dev null --proto tcp --port 1194 \$OPENVPN_BASE"
|
||||
EOF
|
||||
|
||||
sed -i 's/^remote.*$/remote 127.0.0.1 1194/g' /tmp/*l3*ovpn
|
||||
|
||||
make test_scripts=t_client.sh check
|
||||
|
12
.ci/sonarcloud.sh
Executable file
12
.ci/sonarcloud.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
RUN_SONARCLOUD="${RUN_SONARCLOUD:-0}"
|
||||
|
||||
if [ "${RUN_SONARCLOUD}" = "1" ] && [ ! -z ${SONAR_TOKEN+x} ]; then
|
||||
./configure
|
||||
build-wrapper-linux-x86-64 --out-dir bw-output make -C build
|
||||
sonar-scanner -Dsonar.projectKey=SoftEtherVPN_SoftEtherVPN -Dsonar.organization=softethervpn -Dsonar.sources=. -Dsonar.cfamily.build-wrapper-output=bw-output -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${SONAR_TOKEN}
|
||||
else
|
||||
echo "Skipping sonar-scan because \$RUN_SONARCLOUD != \"1\" or \$SONAR_TOKEN is not set"
|
||||
fi
|
@ -1,13 +1,42 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
build/vpnserver start
|
||||
BUILD_BINARIESDIRECTORY="${BUILD_BINARIESDIRECTORY:-build}"
|
||||
|
||||
build/vpncmd 127.0.0.1:443 /SERVER /HUB:DEFAULT /CMD:SecureNatEnable
|
||||
build/vpncmd 127.0.0.1:443 /SERVER /CMD:"OpenVpnEnable yes /PORTS:1194"
|
||||
build/vpncmd 127.0.0.1:443 /SERVER /HUB:DEFAULT /CMD:"UserCreate test /GROUP:none /REALNAME:none /NOTE:none"
|
||||
build/vpncmd 127.0.0.1:443 /SERVER /HUB:DEFAULT /CMD:"UserPasswordSet test /PASSWORD:test"
|
||||
build/vpncmd 127.0.0.1:443 /SERVER /CMD:"OpenVpnMakeConfig ~/my_openvpn_config.zip"
|
||||
cd $BUILD_BINARIESDIRECTORY
|
||||
|
||||
unzip -d /tmp ~/my_openvpn_config.zip
|
||||
./vpnserver start
|
||||
|
||||
#
|
||||
# wait until server listen 443
|
||||
#
|
||||
set +e
|
||||
started="false"
|
||||
for i in 1 2 3 4 5 6
|
||||
do
|
||||
s=$(echo exit | telnet 127.0.0.1 443 | grep "Connected")
|
||||
if [ "$s" != "" ]
|
||||
then
|
||||
started="true"
|
||||
break
|
||||
fi
|
||||
sleep 10
|
||||
done
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$started" == "false" ]
|
||||
then
|
||||
echo "vpnserver is not listening 127.0.0.1:443"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
./vpncmd 127.0.0.1:443 /SERVER /HUB:DEFAULT /CMD:SecureNatEnable
|
||||
./vpncmd 127.0.0.1:443 /SERVER /CMD:"ProtoOptionsSet OpenVPN /NAME:Enabled /VALUE:True"
|
||||
./vpncmd 127.0.0.1:443 /SERVER /CMD:"PortsUDPSet 1194"
|
||||
./vpncmd 127.0.0.1:443 /SERVER /HUB:DEFAULT /CMD:"UserCreate test /GROUP:none /REALNAME:none /NOTE:none"
|
||||
./vpncmd 127.0.0.1:443 /SERVER /HUB:DEFAULT /CMD:"UserPasswordSet test /PASSWORD:test"
|
||||
./vpncmd 127.0.0.1:443 /SERVER /CMD:"OpenVpnMakeConfig my_openvpn_config.zip"
|
||||
|
||||
unzip -d /tmp my_openvpn_config.zip
|
||||
|
5
.ci/vpntools-check.sh
Executable file
5
.ci/vpntools-check.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eux
|
||||
|
||||
./build/vpncmd /tools /cmd:check
|
27
.cirrus.yml
27
.cirrus.yml
@ -1,12 +1,25 @@
|
||||
FreeBSD_task:
|
||||
freebsd_instance:
|
||||
image: freebsd-12-0-release-amd64
|
||||
matrix:
|
||||
env:
|
||||
ASSUME_ALWAYS_YES: TRUE # required for unattanded "pkg" invocation
|
||||
install_script:
|
||||
- pkg install cmake gmake openssl111 git
|
||||
SSL: openssl
|
||||
OPENSSL_ROOT_DIR: /usr/local
|
||||
env:
|
||||
SSL: openssl32
|
||||
OPENSSL_ROOT_DIR: /usr/local
|
||||
env:
|
||||
# base openssl
|
||||
SSL:
|
||||
matrix:
|
||||
freebsd_instance:
|
||||
image_family: freebsd-13-2
|
||||
prepare_script:
|
||||
- pkg install -y pkgconf cmake git libsodium $SSL
|
||||
- git submodule update --init --recursive
|
||||
script:
|
||||
configure_script:
|
||||
- ./configure
|
||||
- gmake -j $(nproc || sysctl -n hw.ncpu || echo 4) -C tmp
|
||||
build_script:
|
||||
- make -j $(sysctl -n hw.ncpu || echo 4) -C build
|
||||
test_script:
|
||||
- ldd build/vpnserver
|
||||
- .ci/memory-leak-test.sh
|
||||
- .ci/vpntools-check.sh
|
||||
|
47
.github/ISSUE_TEMPLATE.md
vendored
47
.github/ISSUE_TEMPLATE.md
vendored
@ -1,47 +0,0 @@
|
||||
Hi, there!
|
||||
|
||||
Thank you for using SoftEther.
|
||||
|
||||
Before you submit an issue, please read the following:
|
||||
|
||||
Is this a question?
|
||||
|
||||
- If the answer is "yes", then please ask your question on [www.vpnusers.com](http://www.vpnusers.com).
|
||||
The issue section on GitHub is reserved for bugs and feature requests.
|
||||
|
||||
- If the answer is "no", please read the following:
|
||||
|
||||
We provide a template which is specifically made for bug reports, in order to be sure that the report includes enough details to be helpful.
|
||||
|
||||
Please use or adapt it as needed.
|
||||
|
||||
---
|
||||
|
||||
### Prerequisites
|
||||
|
||||
* [ ] Can you reproduce?
|
||||
* [ ] Are you running the latest version of SoftEtherVPN?
|
||||
|
||||
**SoftEther version:**
|
||||
**Component:** [Server, Client, Bridge, etc.]
|
||||
**Operating system:** [Windows, Linux, BSD, macOS, etc.]
|
||||
**Architecture:** [64 bit, 32 bit]
|
||||
|
||||
[In case it's a computer with known specs, such as the Raspberry Pi, you can specify it omitting the details.]
|
||||
**Processor:** [Specify brand and model. Example: AMD Ryzen 7 1800x]
|
||||
|
||||
### Description
|
||||
|
||||
[Description of the bug]
|
||||
|
||||
**Expected behavior:**
|
||||
[What you expected to happen]
|
||||
|
||||
**Actual behavior:**
|
||||
[What actually happened]
|
||||
|
||||
### Steps to reproduce
|
||||
|
||||
1. [First step]
|
||||
2. [Second step]
|
||||
3. [And so on...]
|
87
.github/ISSUE_TEMPLATE/bug_report_or_issue_report.yml
vendored
Normal file
87
.github/ISSUE_TEMPLATE/bug_report_or_issue_report.yml
vendored
Normal file
@ -0,0 +1,87 @@
|
||||
name: Bug Report or Issue Report
|
||||
description: File a bug report or an issue report
|
||||
labels: "needs-triage"
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
We provide a template which is specifically made for bug reports, to be sure that the report includes enough details to be helpful.
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Are you using SoftEther VPN 5.x?
|
||||
description: |
|
||||
This issue tracker is for SoftEther VPN Developer Edition versioned 5.x.
|
||||
Please report issues about SoftEther VPN Stable Edition versioned 4.x through the correct path.
|
||||
See also [the top of the issue tracker](https://github.com/SoftEtherVPN/SoftEtherVPN/issues/new/choose).
|
||||
options:
|
||||
- label: Yes, I'm using SoftEther VPN 5.x, not 4.x.
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version
|
||||
description: |
|
||||
The exact version you are using.
|
||||
It would be very nice if you let us know version tag or commit hash.
|
||||
placeholder: "5.02.5180 / 09b7e4f / 5.01.9674+git20200806+8181039+dfsg2-2build1"
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Component
|
||||
description: Which component did you encounter an issue with?
|
||||
multiple: true
|
||||
options:
|
||||
- VPN Server
|
||||
- VPN Bridge
|
||||
- VPN Client
|
||||
- VPN Tools
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Operating system & version
|
||||
placeholder: "Windows 11 Pro 23H2 / Ubuntu 22.04 / FreeBSD 14.0 / macOS Sonoma / Independent"
|
||||
description: |
|
||||
Let us know about your operating system and version.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Architecture or Hardware model
|
||||
placeholder: "amd64 / aarch64 / Raspberry Pi 4B+ / Apple M2"
|
||||
description: |
|
||||
Necessary if your issue is architecture-specific.
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
placeholder: Having detailed steps helps us reproduce the bug.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: ✔️ Expected Behavior
|
||||
placeholder: What do you expect to happen?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: ❌ Actual Behavior
|
||||
placeholder: What happened actually?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Links? References?
|
||||
Anything that will give us more context about the issue you are encountering!
|
||||
|
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
contact_links:
|
||||
- name: Are you using SoftEther VPN 4.x?
|
||||
about: This repository is for SoftEther VPN 5.x Developer Edition, developed independently from SoftEther VPN 4.x. Visit vpnusers.com if you would like to report issues or ask questions about version 4.x!
|
||||
url: https://www.vpnusers.com/
|
||||
|
||||
- name: Questions about SoftEtherVPN 5.x
|
||||
about: Visit Discussions to ask community to help.
|
||||
url: https://github.com/SoftEtherVPN/SoftEtherVPN/discussions/new?category=q-a
|
39
.github/workflows/build_source_release.yml
vendored
Normal file
39
.github/workflows/build_source_release.yml
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
name: Build Source Release
|
||||
|
||||
# Trigger whenever a release is created
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: archive
|
||||
id: archive
|
||||
run: |
|
||||
VERSION=${{ github.event.release.tag_name }}
|
||||
PKGNAME="SoftEtherVPN-$VERSION"
|
||||
mkdir -p /tmp/$PKGNAME
|
||||
mv * /tmp/$PKGNAME
|
||||
mv /tmp/$PKGNAME .
|
||||
TARBALL=$PKGNAME.tar.xz
|
||||
tar cJf $TARBALL $PKGNAME
|
||||
echo "tarball=$TARBALL" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: upload tarball
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ./${{ steps.archive.outputs.tarball }}
|
||||
asset_name: ${{ steps.archive.outputs.tarball }}
|
||||
asset_content_type: application/gzip
|
43
.github/workflows/coverity.yml
vendored
Normal file
43
.github/workflows/coverity.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
|
||||
name: Coverity
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
scan:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.repository_owner == 'SoftEtherVPN' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install apt dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y cmake gcc g++ libncurses5-dev libreadline-dev libssl-dev make zlib1g-dev libsodium-dev
|
||||
- name: Download Coverity build tool
|
||||
run: |
|
||||
wget -c -N https://scan.coverity.com/download/linux64 --post-data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=SoftEtherVPN%2FSoftEtherVPN" -O coverity_tool.tar.gz
|
||||
mkdir coverity_tool
|
||||
tar xzf coverity_tool.tar.gz --strip 1 -C coverity_tool
|
||||
- name: Configure
|
||||
run: |
|
||||
./configure
|
||||
- name: Build with Coverity build tool
|
||||
run: |
|
||||
export PATH=`pwd`/coverity_tool/bin:$PATH
|
||||
cov-build --dir cov-int make -C build
|
||||
- name: Submit build result to Coverity Scan
|
||||
run: |
|
||||
tar czvf cov.tar.gz cov-int
|
||||
curl --form token=${{ secrets.COVERITY_SCAN_TOKEN }} \
|
||||
--form email=chipitsine@gmail.com \
|
||||
--form file=@cov.tar.gz \
|
||||
--form version="Commit $GITHUB_SHA" \
|
||||
--form description="Build submitted via CI" \
|
||||
https://scan.coverity.com/builds?project=SoftEtherVPN%2FSoftEtherVPN
|
33
.github/workflows/fedora-rawhide.yml
vendored
Normal file
33
.github/workflows/fedora-rawhide.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
name: Fedora/Rawhide
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 25 * *"
|
||||
push:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build_and_test:
|
||||
strategy:
|
||||
matrix:
|
||||
cc: [ gcc, clang ]
|
||||
name: ${{ matrix.cc }}
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: fedora:rawhide
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
dnf -y install git cmake ncurses-devel openssl-devel libsodium-devel readline-devel zlib-devel gcc-c++ clang
|
||||
- name: Compile with ${{ matrix.cc }}
|
||||
run: |
|
||||
export CC=${{ matrix.cc }}
|
||||
./configure
|
||||
make -C build
|
||||
|
34
.github/workflows/linux.yml
vendored
Normal file
34
.github/workflows/linux.yml
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
on: [push, pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build_and_test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Install dependencies
|
||||
run: sudo apt update && sudo apt-get -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libsodium-dev libssl-dev make zlib1g-dev liblz4-dev libnl-genl-3-dev
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
|
||||
cmake --build .
|
||||
|
||||
- name: Build deb packages
|
||||
run: |
|
||||
cd build
|
||||
cpack -C Release -G DEB
|
||||
|
||||
- name: Test
|
||||
run: |
|
||||
.ci/appveyor-deb-install-test.sh
|
||||
sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip libcap-ng-dev # To build OpenVPN
|
||||
sudo .ci/start-se-openvpn.sh
|
||||
sudo .ci/run-openvpn-tests.sh
|
28
.github/workflows/macos.yml
vendored
Normal file
28
.github/workflows/macos.yml
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build_and_test:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-13, macos-12, macos-11]
|
||||
name: ${{ matrix.os }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew install libsodium
|
||||
- name: Compile
|
||||
run: |
|
||||
./configure
|
||||
make -C build
|
||||
- name: Test
|
||||
run: |
|
||||
otool -L build/vpnserver
|
||||
.ci/memory-leak-test.sh
|
||||
|
23
.github/workflows/musl.yml
vendored
Normal file
23
.github/workflows/musl.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
name: alpine/musl
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
musl:
|
||||
name: gcc
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: alpine:latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: apk add binutils --no-cache build-base readline-dev openssl-dev ncurses-dev git cmake zlib-dev libsodium-dev gnu-libiconv
|
||||
- name: Configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make -C build
|
16
.github/workflows/stb_check.yml
vendored
Normal file
16
.github/workflows/stb_check.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
on: [push, pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Check
|
||||
run: |
|
||||
cd developer_tools/stbchecker
|
||||
dotnet run ../../src/bin/hamcore
|
48
.github/workflows/windows.yml
vendored
Normal file
48
.github/workflows/windows.yml
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
on: [push, pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build_and_test:
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [
|
||||
{ ARCHITECTURE: x86, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe", VCPKG_TRIPLET: "x86-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat"},
|
||||
{ ARCHITECTURE: x64, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe", VCPKG_TRIPLET: "x64-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"}
|
||||
]
|
||||
runs-on: windows-latest
|
||||
name: ${{ matrix.platform.ARCHITECTURE }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Cache vcpkg
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: 'build/vcpkg_installed/'
|
||||
key: vcpkg-${{ matrix.platform.VCPKG_TRIPLET }}
|
||||
- name: Build
|
||||
env:
|
||||
ARCHITECTURE: ${{ matrix.platform.ARCHITECTURE }}
|
||||
COMPILER_PATH: ${{ matrix.platform.COMPILER_PATH }}
|
||||
VCPKG_TRIPLET: ${{ matrix.platform.VCPKG_TRIPLET }}
|
||||
VCVARS_PATH: ${{ matrix.platform.VCVARS_PATH }}
|
||||
run: .ci/azure-pipelines/windows_build.bat
|
||||
- name: Test
|
||||
shell: powershell
|
||||
run: |
|
||||
. .ci/appveyor-vpntest.ps1
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
if-no-files-found: error
|
||||
name: Binaries-${{ matrix.platform.ARCHITECTURE }}
|
||||
path: |
|
||||
build/*.exe
|
||||
build/*.pdb
|
||||
build/*.se2
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
if-no-files-found: error
|
||||
name: Installers-${{ matrix.platform.ARCHITECTURE }}
|
||||
path: build/installers
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,6 +2,7 @@
|
||||
.cproject
|
||||
.project
|
||||
.settings/
|
||||
.vs/
|
||||
Makefile
|
||||
/src/bin/*
|
||||
!/src/bin/hamcore/
|
||||
@ -208,4 +209,4 @@ developer_tools/stbchecker/**/ASALocalRun/
|
||||
developer_tools/stbchecker/**/*.binlog
|
||||
developer_tools/stbchecker/**/*.nvuser
|
||||
developer_tools/stbchecker/**/.mfractor/
|
||||
|
||||
/vcpkg_installed
|
||||
|
@ -1,32 +1,3 @@
|
||||
.ubuntu: &ubuntu_def
|
||||
variables:
|
||||
CMAKE_VERSION: 3.9.6
|
||||
except:
|
||||
changes:
|
||||
- .appveyor.yml
|
||||
- .travis.yml
|
||||
- .azure-pipelines.yml
|
||||
- .cirrus.yml
|
||||
before_script:
|
||||
- REPOSITORY="$PWD" && cd ..
|
||||
- apt-get update && apt-get install -y dpkg-dev wget g++ gcc libncurses5-dev libreadline-dev libssl-dev make zlib1g-dev git file
|
||||
- wget https://cmake.org/files/v${CMAKE_VERSION%.*}/cmake-${CMAKE_VERSION}.tar.gz && tar -xzf cmake-${CMAKE_VERSION}.tar.gz
|
||||
- cd cmake-${CMAKE_VERSION} && ./bootstrap && make install
|
||||
- cd "$REPOSITORY" && git submodule update --init --recursive
|
||||
script:
|
||||
- ./configure
|
||||
- make package -C tmp
|
||||
- dpkg -i build/softether-vpn*.deb
|
||||
- .ci/memory-leak-test.sh
|
||||
|
||||
trusty:
|
||||
<<: *ubuntu_def
|
||||
image: ubuntu:trusty
|
||||
|
||||
precise:
|
||||
<<: *ubuntu_def
|
||||
image: ubuntu:precise
|
||||
|
||||
# illumos gitlab-runner maintained by @hww3
|
||||
build_illumos:
|
||||
only:
|
||||
@ -36,25 +7,5 @@ build_illumos:
|
||||
script:
|
||||
- git submodule init && git submodule update
|
||||
- CMAKE_FLAGS="-DCMAKE_PREFIX_PATH=/opt/local -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_C_FLAGS=-m64" ./configure
|
||||
- gmake -C tmp
|
||||
- gmake -C build
|
||||
|
||||
#
|
||||
# flawfinder
|
||||
# see https://docs.gitlab.com/ee/user/project/merge_requests/sast.html
|
||||
#
|
||||
sast:
|
||||
image: docker:stable
|
||||
variables:
|
||||
DOCKER_DRIVER: overlay2
|
||||
allow_failure: true
|
||||
services:
|
||||
- docker:stable-dind
|
||||
script:
|
||||
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
||||
- docker run
|
||||
--env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}"
|
||||
--volume "$PWD:/code"
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock
|
||||
"registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
|
||||
artifacts:
|
||||
paths: [gl-sast-report.json]
|
||||
|
12
.gitmodules
vendored
12
.gitmodules
vendored
@ -1,6 +1,12 @@
|
||||
[submodule "src/Mayaqua/3rdparty/cpu_features"]
|
||||
path = src/Mayaqua/3rdparty/cpu_features
|
||||
url = https://github.com/google/cpu_features.git
|
||||
[submodule "src/Mayaqua/3rdparty/zlib"]
|
||||
path = src/Mayaqua/3rdparty/zlib
|
||||
url = https://github.com/madler/zlib.git
|
||||
[submodule "3rdparty/tinydir"]
|
||||
path = 3rdparty/tinydir
|
||||
url = https://github.com/cxong/tinydir.git
|
||||
[submodule "3rdparty/BLAKE2"]
|
||||
path = 3rdparty/BLAKE2
|
||||
url = https://github.com/BLAKE2/BLAKE2.git
|
||||
[submodule "src/libhamcore"]
|
||||
path = src/libhamcore
|
||||
url = https://github.com/SoftEtherVPN/libhamcore.git
|
||||
|
53
.travis.yml
53
.travis.yml
@ -1,5 +1,5 @@
|
||||
sudo: required
|
||||
dist: xenial
|
||||
dist: bionic
|
||||
|
||||
language: c
|
||||
|
||||
@ -7,16 +7,21 @@ env:
|
||||
global:
|
||||
- OPENSSL_INSTALL_DIR="${HOME}/opt"
|
||||
|
||||
addons:
|
||||
sonarcloud:
|
||||
organization: "softethervpn"
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- env: OPENSSL_VERSION="1.0.2o" BUILD_DEB="1"
|
||||
- env: OPENSSL_VERSION="1.0.2s" BUILD_DEB="1"
|
||||
os: linux
|
||||
compiler: gcc
|
||||
- env: OPENSSL_VERSION="1.1.0f"
|
||||
- env: RUN_SONARCLOUD=1 OPENSSL_VERSION="1.1.1c"
|
||||
os: linux
|
||||
compiler: gcc
|
||||
- env: OPENSSL_VERSION="1.1.0f" LABEL="linux-ppc64le" CMAKE_VERSION="3.9.6"
|
||||
os: linux-ppc64le
|
||||
- env: OPENSSL_VERSION="1.1.1c" LABEL="linux-ppc64le" CMAKE_VERSION="3.9.6"
|
||||
arch: ppc64le
|
||||
os: linux
|
||||
compiler: gcc
|
||||
install:
|
||||
- wget https://cmake.org/files/v${CMAKE_VERSION%.*}/cmake-${CMAKE_VERSION}.tar.gz && tar -xzf cmake-${CMAKE_VERSION}.tar.gz
|
||||
@ -24,36 +29,15 @@ matrix:
|
||||
- ./bootstrap > build-deps.log 2>&1 || (cat build-deps.log && exit 1)
|
||||
- sudo make install > build-deps.log 2>&1 || (cat build-deps.log && exit 1)
|
||||
- cd ..
|
||||
- env: OPENSSL_VERSION="1.0.2o" RUN_COVERITY="1"
|
||||
- env: OPENSSL_VERSION="1.1.1c"
|
||||
os: linux
|
||||
compiler: clang
|
||||
- env: OPENSSL_VERSION="1.1.0f"
|
||||
os: linux
|
||||
compiler: clang
|
||||
- env: LIBRESSL_VERSION="2.8.2"
|
||||
- env: LIBRESSL_VERSION="2.9.2"
|
||||
os: linux
|
||||
compiler: gcc
|
||||
before_install:
|
||||
- sudo apt-get -y install libsodium-dev
|
||||
- bash .ci/build-libressl.sh > build-deps.log 2>&1 || (cat build-deps.log && exit 1)
|
||||
- env: LABEL="check stb files"
|
||||
os: linux
|
||||
language: csharp
|
||||
mono: none
|
||||
dotnet: 2.2.203
|
||||
before_install:
|
||||
- true
|
||||
script:
|
||||
- cd developer_tools/stbchecker
|
||||
- dotnet run ../../src/bin/hamcore
|
||||
- os: osx
|
||||
compiler: clang
|
||||
before_install:
|
||||
- true
|
||||
script:
|
||||
- ./configure
|
||||
- make -C tmp
|
||||
- otool -L build/vpnserver
|
||||
- .ci/memory-leak-test.sh
|
||||
|
||||
cache:
|
||||
directories:
|
||||
@ -61,17 +45,16 @@ cache:
|
||||
- ${HOME}/opt
|
||||
|
||||
before_install:
|
||||
- sudo apt-get -y install libsodium-dev
|
||||
- bash .ci/build-openssl.sh > build-deps.log 2>&1 || (cat build-deps.log && exit 1)
|
||||
|
||||
script:
|
||||
- export OPENSSL_ROOT_DIR=${OPENSSL_INSTALL_DIR}
|
||||
- export LD_LIBRARY_PATH="${HOME}/opt/lib:${LD_LIBRARY_PATH:-}"
|
||||
- export CFLAGS="-I${HOME}/opt/include"
|
||||
- export LDFLAGS="-L${HOME}/opt/lib"
|
||||
- echo "check_certificate = off" > ~/.wgetrc
|
||||
- .ci/coverity.sh
|
||||
- export LDFLAGS="-L${HOME}/opt/lib -Wl,-rpath,${HOME}/opt/lib"
|
||||
- .ci/sonarcloud.sh
|
||||
- ./configure
|
||||
- make -j $(nproc || sysctl -n hw.ncpu || echo 4) -C tmp
|
||||
- make -j $(nproc || sysctl -n hw.ncpu || echo 4) -C build
|
||||
- ldd build/vpnserver
|
||||
- if [ "${BUILD_DEB}" = "1" ]; then make package -C tmp; fi
|
||||
- if [ "${BUILD_DEB}" = "1" ]; then make package -C build; fi
|
||||
- .ci/memory-leak-test.sh
|
||||
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"cmake.configureOnOpen": false
|
||||
}
|
1
3rdparty/BLAKE2
vendored
Submodule
1
3rdparty/BLAKE2
vendored
Submodule
Submodule 3rdparty/BLAKE2 added at b52178a376
1
3rdparty/tinydir
vendored
Submodule
1
3rdparty/tinydir
vendored
Submodule
Submodule 3rdparty/tinydir added at ec6bff2043
@ -1,5 +1,5 @@
|
||||
SoftEther VPN is developed by SoftEther VPN Project at University of Tsukuba.
|
||||
http://www.softether.org/
|
||||
https://www.softether.org/
|
||||
|
||||
AUTHORS OF SOFTETHER VPN
|
||||
------------------------
|
||||
@ -52,6 +52,8 @@ DEVELOPMENT BOARD MEMBERS:
|
||||
- Ilya Shipitsin
|
||||
https://github.com/chipitsine
|
||||
|
||||
- Yihong Wu
|
||||
https://github.com/domosekai
|
||||
|
||||
SPECIAL CONTRIBUTORS:
|
||||
|
||||
@ -89,6 +91,7 @@ CONTRIBUTORS:
|
||||
- Johan de Vries <devries@wivion.nl>
|
||||
- Josh Soref <https://github.com/jsoref>
|
||||
- Joshua Perry <josh@6bit.com>
|
||||
- Koichiro Iwao <meta@FreeBSD.org>
|
||||
- Luiz Eduardo Gava <luiz.gava@procempa.com.br>
|
||||
- macvk <tutumbul@gmail.com>
|
||||
- Maks Naumov <maksqwe1@ukr.net>
|
||||
@ -111,6 +114,7 @@ CONTRIBUTORS:
|
||||
- NV <nvsofts@gmail.com>
|
||||
- Olimjon <olim98@bk.ru>
|
||||
- parly <https://github.com/parly>
|
||||
- PeTeeR <tom2pet@gmail.com>
|
||||
- Quantum <quantum2048@gmail.com>
|
||||
- Quintin <quintin@last.za.net>
|
||||
- Raymond Tau <raymondtau@gmail.com>
|
||||
@ -134,5 +138,5 @@ JOIN THE SOFTETHER VPN DEVELOPMENT
|
||||
Want to become a contributor? Please send us a patch.
|
||||
|
||||
See also: SoftEther VPN Patch Acceptance Policy
|
||||
http://www.softether.org/5-download/src/9.patch
|
||||
https://www.softether.org/5-download/src/9.patch
|
||||
|
||||
|
@ -1,12 +1,34 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
set(BUILD_NUMBER CACHE STRING "The number of the current build.")
|
||||
|
||||
if ("${BUILD_NUMBER}" STREQUAL "")
|
||||
set(BUILD_NUMBER "5183")
|
||||
endif()
|
||||
|
||||
if (BUILD_NUMBER LESS 5180)
|
||||
message(WARNING
|
||||
"Setting BUILD_NUMBER to a value less than 5180 will break compatibility with client binaries distributed by SoftEther Corporation. "
|
||||
"Set to a value greater than or equal to 5180 if you want such clients to work properly.\n"
|
||||
"For detailed info: https://github.com/SoftEtherVPN/SoftEtherVPN/issues/1392#issuecomment-867348281")
|
||||
endif()
|
||||
|
||||
#
|
||||
# Link MSVC runtime statically
|
||||
# this should be revisited after installer migration to MSI
|
||||
#
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
|
||||
project("SoftEther VPN"
|
||||
VERSION 5.01.9671
|
||||
VERSION "5.02.${BUILD_NUMBER}"
|
||||
LANGUAGES C
|
||||
)
|
||||
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
|
||||
set(TOP_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||
set(BUILD_DIRECTORY ${TOP_DIRECTORY}/build)
|
||||
set(BUILD_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
# We define a dedicated variable because CMAKE_BUILD_TYPE can have different
|
||||
# configurations than "Debug" and "Release", such as "RelWithDebInfo".
|
||||
@ -17,30 +39,28 @@ else()
|
||||
endif()
|
||||
|
||||
# Check that submodules are present only if source was downloaded with git
|
||||
if(EXISTS "${TOP_DIRECTORY}/.git" AND NOT EXISTS "${TOP_DIRECTORY}/src/Mayaqua/3rdparty/cpu_features/CMakeLists.txt")
|
||||
if(EXISTS "${TOP_DIRECTORY}/.git" AND NOT EXISTS "${TOP_DIRECTORY}/src/libhamcore/CMakeLists.txt")
|
||||
message (FATAL_ERROR "Submodules are not initialized. Run\n\tgit submodule update --init --recursive")
|
||||
endif()
|
||||
|
||||
# Compare ${PROJECT_VERSION} and src/CurrentBuild.txt
|
||||
file(READ ${TOP_DIRECTORY}/src/CurrentBuild.txt CurrentBuild)
|
||||
|
||||
string(REGEX MATCH "VERSION_MAJOR ([0-9]+)" temp ${CurrentBuild})
|
||||
string(REGEX REPLACE "VERSION_MAJOR ([0-9]+)" "\\1" CurrentBuild_MAJOR ${temp})
|
||||
string(REGEX MATCH "VERSION_MINOR ([0-9]+)" temp ${CurrentBuild})
|
||||
string(REGEX REPLACE "VERSION_MINOR ([0-9]+)" "\\1" CurrentBuild_MINOR ${temp})
|
||||
string(REGEX MATCH "VERSION_BUILD ([0-9]+)" temp ${CurrentBuild})
|
||||
string(REGEX REPLACE "VERSION_BUILD ([0-9]+)" "\\1" CurrentBuild_BUILD ${temp})
|
||||
|
||||
if(NOT ${PROJECT_VERSION} VERSION_EQUAL "${CurrentBuild_MAJOR}.${CurrentBuild_MINOR}.${CurrentBuild_BUILD}")
|
||||
message (FATAL_ERROR "PROJECT_VERSION does not match to src/CurrentBuild.txt")
|
||||
if(WIN32 AND VCPKG_TARGET_TRIPLET AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
|
||||
message (FATAL_ERROR "vcpkg not installed or integrated with Visual Studio. Install it and run\n\tvcpkg integrate install")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
include(GNUInstallDirs)
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
|
||||
#
|
||||
# use rpath for locating installed libraries
|
||||
#
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
|
||||
include(CheckIncludeFile)
|
||||
Check_Include_File(sys/auxv.h HAVE_SYS_AUXV)
|
||||
if(EXISTS "/lib/systemd/system")
|
||||
set(CMAKE_INSTALL_SYSTEMD_UNITDIR "/lib/systemd/system" CACHE STRING "Where to install systemd unit files")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
configure_file("${TOP_DIRECTORY}/AUTHORS.TXT" "${TOP_DIRECTORY}/src/bin/hamcore/authors.txt" COPYONLY)
|
||||
@ -56,8 +76,6 @@ string(TIMESTAMP TIME_SECOND "%S" UTC)
|
||||
message(STATUS "Build date: ${DATE_DAY}/${DATE_MONTH}/${DATE_YEAR}")
|
||||
message(STATUS "Build time: ${TIME_HOUR}:${TIME_MINUTE}:${TIME_SECOND}")
|
||||
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
add_subdirectory(src)
|
||||
|
||||
if(UNIX)
|
||||
@ -87,5 +105,14 @@ if(UNIX)
|
||||
set(CPACK_RPM_PACKAGE_GROUP "Applications/Internet")
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0")
|
||||
|
||||
# Exclude system directories
|
||||
if(CPACK_GENERATOR STREQUAL "RPM")
|
||||
execute_process(
|
||||
COMMAND rpm -ql filesystem
|
||||
COMMAND tr \n \;
|
||||
OUTPUT_VARIABLE CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
|
||||
ERROR_QUIET)
|
||||
endif()
|
||||
|
||||
include(CPack)
|
||||
endif()
|
||||
|
141
CMakeSettings.json
Normal file
141
CMakeSettings.json
Normal file
@ -0,0 +1,141 @@
|
||||
{
|
||||
"environments": [ { "BuildNumber": "5183" } ],
|
||||
"configurations": [
|
||||
{
|
||||
"name": "x64-native",
|
||||
"description": "Target x64 with 64-bit compiler",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "RelWithDebInfo",
|
||||
"inheritEnvironments": [ "clang_cl_x64_x64" ],
|
||||
"buildRoot": "${projectDir}\\out\\build\\${name}",
|
||||
"installRoot": "${projectDir}\\out\\install\\${name}",
|
||||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"variables": [
|
||||
{
|
||||
"name": "BUILD_NUMBER",
|
||||
"value": "${env.BuildNumber}",
|
||||
"type": "STRING"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_C_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_CXX_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "VCPKG_TARGET_TRIPLET",
|
||||
"value": "x64-windows-static",
|
||||
"type": "STRING"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "x86-on-x64",
|
||||
"description": "Target x86 with 64-bit compiler",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "RelWithDebInfo",
|
||||
"inheritEnvironments": [ "clang_cl_x86_x64" ],
|
||||
"buildRoot": "${projectDir}\\out\\build\\${name}",
|
||||
"installRoot": "${projectDir}\\out\\install\\${name}",
|
||||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"variables": [
|
||||
{
|
||||
"name": "BUILD_NUMBER",
|
||||
"value": "${env.BuildNumber}",
|
||||
"type": "STRING"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_C_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_CXX_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "VCPKG_TARGET_TRIPLET",
|
||||
"value": "x86-windows-static",
|
||||
"type": "STRING"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "x64-on-x86",
|
||||
"description": "Target x64 with 32-bit compiler",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "RelWithDebInfo",
|
||||
"inheritEnvironments": [ "clang_cl_x64" ],
|
||||
"buildRoot": "${projectDir}\\out\\build\\${name}",
|
||||
"installRoot": "${projectDir}\\out\\install\\${name}",
|
||||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"variables": [
|
||||
{
|
||||
"name": "BUILD_NUMBER",
|
||||
"value": "${env.BuildNumber}",
|
||||
"type": "STRING"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_C_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_CXX_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "VCPKG_TARGET_TRIPLET",
|
||||
"value": "x64-windows-static",
|
||||
"type": "STRING"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "x86-native",
|
||||
"description": "Target x86 with 32-bit compiler",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "RelWithDebInfo",
|
||||
"inheritEnvironments": [ "clang_cl_x86" ],
|
||||
"buildRoot": "${projectDir}\\out\\build\\${name}",
|
||||
"installRoot": "${projectDir}\\out\\install\\${name}",
|
||||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"variables": [
|
||||
{
|
||||
"name": "BUILD_NUMBER",
|
||||
"value": "${env.BuildNumber}",
|
||||
"type": "STRING"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_C_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_CXX_COMPILER",
|
||||
"value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
|
||||
"type": "FILEPATH"
|
||||
},
|
||||
{
|
||||
"name": "VCPKG_TARGET_TRIPLET",
|
||||
"value": "x86-windows-static",
|
||||
"type": "STRING"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
5
CODE_OF_CONDUCT.md
Normal file
5
CODE_OF_CONDUCT.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Contributor Code of Conduct
|
||||
|
||||
This project adheres to No Code of Conduct. We are all adults. We accept anyone's contributions. Nothing else matters.
|
||||
|
||||
For more information please visit the [No Code of Conduct](https://nocodeofconduct.com) homepage.
|
@ -1 +1 @@
|
||||
custom: https://salt.bountysource.com/teams/softether-vpn
|
||||
liberapay: softether
|
||||
|
114
README.md
114
README.md
@ -1,13 +1,20 @@
|
||||
# SoftEther VPN
|
||||
|
||||
[](https://ci.appveyor.com/project/softethervpn/softethervpn) [](https://travis-ci.org/SoftEtherVPN/SoftEtherVPN) [](https://gitlab.com/SoftEther/SoftEtherVPN/pipelines) [](https://scan.coverity.com/projects/softethervpn-softethervpn)
|
||||
||Badges|
|
||||
|---|---|
|
||||
|AppVeyor|[](https://ci.appveyor.com/project/softethervpn/softethervpn) |
|
||||
|GitLab CI|[](https://gitlab.com/SoftEther/SoftEtherVPN/pipelines)|
|
||||
|Coverity Scan|[](https://scan.coverity.com/projects/softethervpn-softethervpn)|
|
||||
|Azure Pipelines|[](https://dev.azure.com/SoftEther-VPN/SoftEther%20VPN/_build?definitionId=6)|
|
||||
|Cirrus CI|[](https://cirrus-ci.com/github/SoftEtherVPN/SoftEtherVPN)|
|
||||
|
||||
- [SoftEther VPN](#softether-vpn)
|
||||
- [BOARD MEMBERS OF THIS REPOSITORY](#board-members-of-this-repository)
|
||||
- [SOFTETHER VPN ADVANTAGES](#softether-vpn-advantages)
|
||||
- [Installation](#installation)
|
||||
* [For Ubuntu](#for-ubuntu)
|
||||
* [From binary installers:](#from-binary-installers)
|
||||
* [For FreeBSD](#for-freebsd)
|
||||
* [For Windows](#for-windows)
|
||||
* [From binary installers (stable channel)](#from-binary-installers-stable-channel)
|
||||
* [Build from Source code](#build-from-source-code)
|
||||
- [About HTML5-based Modern Admin Console and JSON-RPC API Suite](#about-html5-based-modern-admin-console-and-json-rpc-api-suite)
|
||||
* [Built-in SoftEther VPN Server HTML5 Ajax-based Web Administration Console](#built-in-softether-vpn-server-html5-ajax-based-web-administration-console)
|
||||
@ -18,7 +25,7 @@
|
||||
|
||||
SoftEther VPN (Developer Edition Master Repository)
|
||||
- An Open-Source Cross-platform Multi-protocol VPN Program
|
||||
http://www.softether.org/
|
||||
https://www.softether.org/
|
||||
|
||||
|
||||
This repository has experimental codes. Pull requests are welcome.
|
||||
@ -27,8 +34,10 @@ Stable Edition is available on
|
||||
https://github.com/SoftEtherVPN/SoftEtherVPN_Stable
|
||||
which the non-developer user can stable use.
|
||||
|
||||
Please note that [some features](#comparison-with-stable-edition) are not available in Stable Edition.
|
||||
|
||||
Source code packages (.zip and .tar.gz) and binary files of Stable Edition are also available:
|
||||
http://www.softether-download.com/
|
||||
https://www.softether-download.com/
|
||||
|
||||
Copyright (c) all contributors on SoftEther VPN project in GitHub.
|
||||
Copyright (c) Daiyuu Nobori, SoftEther Project at University of Tsukuba, and SoftEther Corporation.
|
||||
@ -65,10 +74,10 @@ world's most powerful and easy-to-use multi-protocol VPN software.
|
||||
SoftEther VPN runs on Windows, Linux, Mac, FreeBSD and Solaris.
|
||||
|
||||
SoftEther VPN supports most of widely-used VPN protocols
|
||||
including SSL-VPN, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP
|
||||
including SSL-VPN, WireGuard, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP
|
||||
by the single SoftEther VPN Server program.
|
||||
|
||||
More details on http://www.softether.org/.
|
||||
More details on https://www.softether.org/.
|
||||
|
||||
|
||||
# BOARD MEMBERS OF THIS REPOSITORY
|
||||
@ -98,6 +107,7 @@ https://github.com/chipitsine
|
||||
|
||||
- Supporting all popular VPN protocols by the single VPN server:
|
||||
SSL-VPN (HTTPS)
|
||||
WireGuard
|
||||
OpenVPN
|
||||
IPsec
|
||||
L2TP
|
||||
@ -130,22 +140,75 @@ https://github.com/chipitsine
|
||||
- No memory leaks. High quality stable codes, intended for long-term runs.
|
||||
We always verify that there are no memory or resource leaks before
|
||||
releasing the build.
|
||||
- More details at http://www.softether.org/.
|
||||
- More details at https://www.softether.org/.
|
||||
|
||||
# Comparison with Stable Edition
|
||||
|
||||
| Protocol | Stable Edition (SE) | Developer Edition (DE) | Comment |
|
||||
| --- | --- | --- | --- |
|
||||
| SSL-VPN | ✅ | ✅ | |
|
||||
| OpenVPN | ✅ | ✅ | AEAD mode is supported in DE only. |
|
||||
| IPsec | ✅ | ✅ | |
|
||||
| L2TP | ✅ | ✅ | |
|
||||
| MS-SSTP | ✅ | ✅ | |
|
||||
| L2TPv3 | ✅ | ✅ | |
|
||||
| EtherIP | ✅ | ✅ | |
|
||||
| WireGuard | ❌ | ✅ | |
|
||||
| IKEv2 | ❌ | ❌ | |
|
||||
|
||||
| Feature | Stable Edition (SE) | Developer Edition (DE) | Comment |
|
||||
| --- | --- | --- | --- |
|
||||
| Password Authentication | ✅ | ✅ | |
|
||||
| RADIUS / NT Authentication | ✅ | ✅ | |
|
||||
| Certificate Authentication | ⚠️ | ✅ | SE supports the feature in SSL-VPN only. |
|
||||
| IPv6-capable VPN Tunnel | ⚠️ | ✅ | SE supports IPv6 in L2 VPN tunnels only. |
|
||||
| IPv4 Route Management | ✅ | ✅ | Windows clients only |
|
||||
| IPv6 Route Management | ❌ | ✅ | Windows clients only |
|
||||
| TLS Server Verification | ⚠️ | ✅ | In SE you need to specify the exact certificate or CA to verify. DE can perform standard TLS verification and use the system CA store. |
|
||||
| Dual-stack Name Resolution | ⚠️ | ✅ | SE attempts in IPv6 only after IPv4 has failed. |
|
||||
| ECDSA Certificates Import | ❌ | ✅ | |
|
||||
| Runs on Windows XP and Earlier | ✅ | ❌ | |
|
||||
| Compatible with SoftEther VPN 1.0 | ✅ | ❌ | |
|
||||
| AES-NI Hardware Acceleration | ⚠️ | ✅ | SE requires [intel_aes_lib](https://software.intel.com/sites/default/files/article/181731/intel-aesni-sample-library-v1.2.zip) to enable AES-NI, so x86 only. In DE, enabled by default as long as processor supports it (at least x86 and ARM). |
|
||||
|
||||
# Installation
|
||||
|
||||
## For Ubuntu
|
||||
## For FreeBSD
|
||||
|
||||
Launchpad PPA maintained by [Dmitry Verkhoturov](https://github.com/paskal):
|
||||
SoftEther VPN in FreeBSD Ports Collection is maintained by
|
||||
[Koichiro Iwao](https://people.FreeBSD.org/~meta/) ([@metalefty](https://github.com/metalefty)).
|
||||
|
||||
[Daily builds](https://code.launchpad.net/~paskal-07/+archive/ubuntu/softethervpn) (latest released tag)
|
||||
Binary package can be installed by pkg:
|
||||
```
|
||||
pkg install softether5
|
||||
```
|
||||
|
||||
[Nightly builds](https://code.launchpad.net/~paskal-07/+archive/ubuntu/softethervpn-nightly)
|
||||
Alternatively, it can be built & installed by ports:
|
||||
```
|
||||
make install -C /usr/ports/security/softether5
|
||||
```
|
||||
|
||||
## From binary installers:
|
||||
To run SoftEther VPN Server:
|
||||
```
|
||||
service softether_server start
|
||||
```
|
||||
|
||||
Those can be found under http://www.softether-download.com/
|
||||
To configure SoftEther VPN Server startup on boot:
|
||||
```
|
||||
sysrc softether_server_enable=yes
|
||||
```
|
||||
|
||||
Also SoftEther VPN [Stable Edition](https://www.freshports.org/security/softether-devel/) and
|
||||
[RTM version](https://www.freshports.org/security/softether/) are available on FreeBSD.
|
||||
|
||||
## For Windows
|
||||
|
||||
[Nightly builds](https://dev.azure.com/SoftEther-VPN/SoftEther%20VPN/_build?definitionId=6)
|
||||
(choose appropriate platform, then find binaries or installers as artifacts)
|
||||
|
||||
## From binary installers (stable channel)
|
||||
|
||||
Those can be found under https://www.softether-download.com/
|
||||
There you can also find SoftEtherVPN source code in zip and tar formats.
|
||||
|
||||
## Build from Source code
|
||||
@ -197,22 +260,23 @@ some censorship governments want to block your access to the source code
|
||||
of SoftEther VPN, by abusing their censorship firewalls.
|
||||
|
||||
To circumvent your censor's unjust restriction,
|
||||
SoftEther VPN Project distributes the up-to-date source-code
|
||||
SoftEther VPN Project distributes the up-to-date source code
|
||||
on all the following open-source repositories:
|
||||
|
||||
- GitHub
|
||||
https://github.com/SoftEtherVPN/SoftEtherVPN/
|
||||
https://github.com/SoftEtherVPN/SoftEtherVPN
|
||||
|
||||
```
|
||||
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
|
||||
```
|
||||
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
|
||||
|
||||
- GitLab (mirrored from GitHub)
|
||||
https://gitlab.com/SoftEther/SoftEtherVPN/
|
||||
https://gitlab.com/SoftEther/VPN
|
||||
|
||||
```
|
||||
$ git clone https://gitlab.com/SoftEther/SoftEtherVPN.git
|
||||
```
|
||||
$ git clone https://gitlab.com/SoftEther/VPN.git
|
||||
|
||||
- OneDev (mirrored from GitHub)
|
||||
https://code.onedev.io/SoftEther/VPN
|
||||
|
||||
$ git clone https://code.onedev.io/SoftEther/VPN.git
|
||||
|
||||
We hope that you can reach one of the above URLs at least!
|
||||
|
||||
@ -225,7 +289,7 @@ Please send patches to us through GitHub.
|
||||
|
||||
# DEAR SECURITY EXPERTS
|
||||
|
||||
If you find a bug or a security vulnerability please kindly inform us
|
||||
If you find a bug or a security vulnerability please [kindly inform](https://github.com/SoftEtherVPN/SoftEtherVPN/security/advisories/new) us
|
||||
about the problem immediately so that we can fix the security problem
|
||||
to protect a lot of users around the world as soon as possible.
|
||||
|
||||
@ -234,4 +298,4 @@ Our e-mail address for security reports is:
|
||||
|
||||
Please note that the above e-mail address is not a technical support
|
||||
inquiry address. If you need technical assistance, please visit
|
||||
http://www.softether.org/ and ask your question on the users forum.
|
||||
https://www.softether.org/ and ask your question on the users forum.
|
||||
|
15
SECURITY.md
Normal file
15
SECURITY.md
Normal file
@ -0,0 +1,15 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
Use this section to tell people about which versions of your project are
|
||||
currently being supported with security updates.
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 5.x | :white_check_mark: |
|
||||
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Please use [github security reporting](https://github.com/SoftEtherVPN/SoftEtherVPN/security/advisories/new)
|
14
configure
vendored
14
configure
vendored
@ -17,12 +17,16 @@ echo
|
||||
echo 'Welcome to the corner-cutting configure script !'
|
||||
echo
|
||||
|
||||
if [ ! -d "tmp" ]; then
|
||||
mkdir tmp
|
||||
if [ ! -d "build" ]; then
|
||||
mkdir build
|
||||
fi
|
||||
|
||||
if [ ! -z ${CMAKE_FLAGS+x} ]; then
|
||||
CMAKE_FLAGS="${CMAKE_FLAGS}"
|
||||
fi
|
||||
|
||||
if [ ! -z ${CMAKE_INSTALL_PREFIX+x} ]; then
|
||||
CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
|
||||
CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ${CMAKE_FLAGS}"
|
||||
fi
|
||||
|
||||
if [ -z ${OPENSSL_ROOT_DIR} ]; then
|
||||
@ -46,9 +50,9 @@ fi
|
||||
|
||||
echo ""
|
||||
|
||||
(cd tmp && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ${CMAKE_FLAGS} .. || exit 1)
|
||||
(cd build && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ${CMAKE_FLAGS} .. || exit 1)
|
||||
|
||||
|
||||
echo ""
|
||||
|
||||
echo "The Makefile is generated. Run 'make -C tmp' to build SoftEther VPN."
|
||||
echo "The Makefile is generated. Run 'make -C build' to build SoftEther VPN."
|
||||
|
@ -13,11 +13,11 @@ echo.
|
||||
echo Welcome to the corner-cutting configure script !
|
||||
echo.
|
||||
|
||||
if not exist "tmp" (
|
||||
mkdir tmp
|
||||
if not exist "build" (
|
||||
mkdir build
|
||||
)
|
||||
|
||||
cd tmp
|
||||
cd build
|
||||
|
||||
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "NMake Makefiles" ..
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
@ -580,32 +580,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -615,7 +615,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CurrentTime_dt</code></td>
|
||||
@ -2695,32 +2695,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -2730,7 +2730,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SecureNATEnabled_bool</code></td>
|
||||
@ -6212,32 +6212,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -6247,7 +6247,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UsePolicy_bool</code></td>
|
||||
@ -6683,32 +6683,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -6718,7 +6718,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UsePolicy_bool</code></td>
|
||||
@ -7103,32 +7103,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -7138,7 +7138,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UsePolicy_bool</code></td>
|
||||
@ -7747,32 +7747,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -7782,7 +7782,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UsePolicy_bool</code></td>
|
||||
@ -8137,32 +8137,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -8172,7 +8172,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UsePolicy_bool</code></td>
|
||||
@ -8485,32 +8485,32 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Recv)</td>
|
||||
<td>Number of broadcast packets (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Recv.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Recv)</td>
|
||||
<td>Unicast count (Recv)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastBytes_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.BroadcastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Broadcast bytes (Send)</td>
|
||||
<td>Number of broadcast packets (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Send.UnicastBytes_u64</code></td>
|
||||
@ -8520,7 +8520,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
|
||||
<tr>
|
||||
<td><code>Send.UnicastCount_u64</code></td>
|
||||
<td><code>number</code> (uint64)</td>
|
||||
<td>Unicast bytes (Send)</td>
|
||||
<td>Unicast count (Send)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UsePolicy_bool</code></td>
|
||||
|
@ -404,14 +404,14 @@ Name | Type | Description
|
||||
`AssignedClientLicenses_u32` | `number` (uint32) | Number of assigned client licenses (Useful to make a commercial version)
|
||||
`AssignedBridgeLicensesTotal_u32` | `number` (uint32) | Number of Assigned bridge license (cluster-wide), useful to make a commercial version
|
||||
`AssignedClientLicensesTotal_u32` | `number` (uint32) | Number of assigned client licenses (cluster-wide), useful to make a commercial version
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`CurrentTime_dt` | `Date` | Current time
|
||||
`CurrentTick_u64` | `number` (uint64) | 64 bit High-Precision Logical System Clock
|
||||
`StartTime_dt` | `Date` | VPN Server Start-up time
|
||||
@ -1759,14 +1759,14 @@ Name | Type | Description
|
||||
`NumGroups_u32` | `number` (uint32) | Number of groups
|
||||
`NumMacTables_u32` | `number` (uint32) | Number of MAC table entries
|
||||
`NumIpTables_u32` | `number` (uint32) | Number of IP table entries
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`SecureNATEnabled_bool` | `boolean` | Whether SecureNAT is enabled
|
||||
`LastCommTime_dt` | `Date` | Last communication date and time
|
||||
`LastLoginTime_dt` | `Date` | Last login date and time
|
||||
@ -2210,7 +2210,7 @@ Name | Type | Description
|
||||
`NoUdpAcceleration_bool` | `boolean` | Client Option Parameters: Do not use UDP acceleration mode if the value is true
|
||||
`AuthType_u32` | `number` (enum) | Authentication type<BR>Values:<BR>`0`: Anonymous authentication<BR>`1`: SHA-0 hashed password authentication<BR>`2`: Plain password authentication<BR>`3`: Certificate authentication
|
||||
`Username_str` | `string` (ASCII) | User name
|
||||
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(UpperCase(username_ascii_string) + password_ascii_string).
|
||||
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(password_ascii_string + UpperCase(username_ascii_string)).
|
||||
`PlainPassword_str` | `string` (ASCII) | Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2).
|
||||
`ClientX_bin` | `string` (Base64 binary) | Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
|
||||
`ClientK_bin` | `string` (Base64 binary) | Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
|
||||
@ -2352,7 +2352,7 @@ Name | Type | Description
|
||||
`NoUdpAcceleration_bool` | `boolean` | Client Option Parameters: Do not use UDP acceleration mode if the value is true
|
||||
`AuthType_u32` | `number` (enum) | Authentication type<BR>Values:<BR>`0`: Anonymous authentication<BR>`1`: SHA-0 hashed password authentication<BR>`2`: Plain password authentication<BR>`3`: Certificate authentication
|
||||
`Username_str` | `string` (ASCII) | User name
|
||||
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(UpperCase(username_ascii_string) + password_ascii_string).
|
||||
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(password_ascii_string + UpperCase(username_ascii_string)).
|
||||
`PlainPassword_str` | `string` (ASCII) | Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2).
|
||||
`ClientX_bin` | `string` (Base64 binary) | Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
|
||||
`ClientK_bin` | `string` (Base64 binary) | Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
|
||||
@ -2537,7 +2537,7 @@ Name | Type | Description
|
||||
`NoUdpAcceleration_bool` | `boolean` | Client Option Parameters: Do not use UDP acceleration mode if the value is true
|
||||
`AuthType_u32` | `number` (enum) | Authentication type<BR>Values:<BR>`0`: Anonymous authentication<BR>`1`: SHA-0 hashed password authentication<BR>`2`: Plain password authentication<BR>`3`: Certificate authentication
|
||||
`Username_str` | `string` (ASCII) | User name
|
||||
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(UpperCase(username_ascii_string) + password_ascii_string).
|
||||
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(password_ascii_string + UpperCase(username_ascii_string)).
|
||||
`PlainPassword_str` | `string` (ASCII) | Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2).
|
||||
`ClientX_bin` | `string` (Base64 binary) | Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
|
||||
`ClientK_bin` | `string` (Base64 binary) | Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
|
||||
@ -3712,14 +3712,14 @@ Name | Type | Description
|
||||
`RadiusUsername_utf` | `string` (UTF8) | Username in RADIUS server, optional, valid only if AuthType_u32 == Radius(4).
|
||||
`NtUsername_utf` | `string` (UTF8) | Username in NT Domain server, optional, valid only if AuthType_u32 == NT(5).
|
||||
`NumLogin_u32` | `number` (uint32) | Number of total logins of the user
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`UsePolicy_bool` | `boolean` | The flag whether to use security policy
|
||||
`policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
|
||||
`policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
|
||||
@ -3925,14 +3925,14 @@ Name | Type | Description
|
||||
`RadiusUsername_utf` | `string` (UTF8) | Username in RADIUS server, optional, valid only if AuthType_u32 == Radius(4).
|
||||
`NtUsername_utf` | `string` (UTF8) | Username in NT Domain server, optional, valid only if AuthType_u32 == NT(5).
|
||||
`NumLogin_u32` | `number` (uint32) | Number of total logins of the user
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`UsePolicy_bool` | `boolean` | The flag whether to use security policy
|
||||
`policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
|
||||
`policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
|
||||
@ -4087,14 +4087,14 @@ Name | Type | Description
|
||||
`RadiusUsername_utf` | `string` (UTF8) | Username in RADIUS server, optional, valid only if AuthType_u32 == Radius(4).
|
||||
`NtUsername_utf` | `string` (UTF8) | Username in NT Domain server, optional, valid only if AuthType_u32 == NT(5).
|
||||
`NumLogin_u32` | `number` (uint32) | Number of total logins of the user
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`UsePolicy_bool` | `boolean` | The flag whether to use security policy
|
||||
`policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
|
||||
`policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
|
||||
@ -4425,14 +4425,14 @@ Name | Type | Description
|
||||
`Name_str` | `string` (ASCII) | The group name
|
||||
`Realname_utf` | `string` (UTF8) | Optional real name (full name) of the group, allow using any Unicode characters
|
||||
`Note_utf` | `string` (UTF8) | Optional, specify a description of the group
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`UsePolicy_bool` | `boolean` | The flag whether to use security policy
|
||||
`policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
|
||||
`policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
|
||||
@ -4605,14 +4605,14 @@ Name | Type | Description
|
||||
`Name_str` | `string` (ASCII) | The group name
|
||||
`Realname_utf` | `string` (UTF8) | Optional real name (full name) of the group, allow using any Unicode characters
|
||||
`Note_utf` | `string` (UTF8) | Optional, specify a description of the group
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`UsePolicy_bool` | `boolean` | The flag whether to use security policy
|
||||
`policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
|
||||
`policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
|
||||
@ -4743,14 +4743,14 @@ Name | Type | Description
|
||||
`Name_str` | `string` (ASCII) | The group name
|
||||
`Realname_utf` | `string` (UTF8) | Optional real name (full name) of the group, allow using any Unicode characters
|
||||
`Note_utf` | `string` (UTF8) | Optional, specify a description of the group
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
|
||||
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
|
||||
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
|
||||
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
|
||||
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
|
||||
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
|
||||
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send)
|
||||
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
|
||||
`UsePolicy_bool` | `boolean` | The flag whether to use security policy
|
||||
`policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
|
||||
`policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.10.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vpnrpc",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@ -54,12 +54,6 @@
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"dev": true
|
||||
},
|
||||
"big.js": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
|
||||
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@ -123,42 +117,20 @@
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
||||
"dev": true
|
||||
},
|
||||
"diff": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
||||
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
|
||||
"dev": true
|
||||
},
|
||||
"emojis-list": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
|
||||
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
|
||||
"dev": true
|
||||
},
|
||||
"enhanced-resolve": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
|
||||
"integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
|
||||
"version": "5.12.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
|
||||
"integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"memory-fs": "^0.4.0",
|
||||
"tapable": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"errno": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
|
||||
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"prr": "~1.0.1"
|
||||
"graceful-fs": "^4.2.4",
|
||||
"tapable": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
@ -209,9 +181,9 @@
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.1.15",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
|
||||
"integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
|
||||
"version": "4.2.10",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
||||
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
|
||||
"dev": true
|
||||
},
|
||||
"has-flag": {
|
||||
@ -242,12 +214,6 @@
|
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||
"dev": true
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
|
||||
"dev": true
|
||||
},
|
||||
"js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
@ -264,76 +230,47 @@
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
|
||||
"integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^2.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"memory-fs": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
|
||||
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"errno": "^0.1.3",
|
||||
"readable-stream": "^2.0.1"
|
||||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"micromatch": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
|
||||
"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
||||
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"braces": "^3.0.1",
|
||||
"picomatch": "^2.0.5"
|
||||
"braces": "^3.0.2",
|
||||
"picomatch": "^2.3.1"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
|
||||
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
|
||||
"dev": true
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||
"dev": true
|
||||
}
|
||||
"minimist": "^1.2.6"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
@ -352,44 +289,17 @@
|
||||
"dev": true
|
||||
},
|
||||
"path-parse": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
|
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
||||
"dev": true
|
||||
},
|
||||
"picomatch": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
|
||||
"integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
|
||||
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
|
||||
"dev": true
|
||||
},
|
||||
"prr": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
|
||||
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz",
|
||||
@ -399,17 +309,14 @@
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz",
|
||||
"integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==",
|
||||
"dev": true
|
||||
"version": "7.3.8",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
@ -417,15 +324,6 @@
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
||||
"dev": true
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
@ -436,9 +334,9 @@
|
||||
}
|
||||
},
|
||||
"tapable": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
|
||||
"integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
|
||||
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
|
||||
"dev": true
|
||||
},
|
||||
"to-regex-range": {
|
||||
@ -451,16 +349,66 @@
|
||||
}
|
||||
},
|
||||
"ts-loader": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.0.1.tgz",
|
||||
"integrity": "sha512-9H5ErTIw5t73sdSoFE0hX0RO45B7cdDA4pW1VIQ2wNFAhxSpZcAlv2fwMcfv6SAYLoI7uGwHuzC5dECzmzqtzA==",
|
||||
"version": "9.4.2",
|
||||
"resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz",
|
||||
"integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^2.3.0",
|
||||
"enhanced-resolve": "^4.0.0",
|
||||
"loader-utils": "^1.0.2",
|
||||
"chalk": "^4.1.0",
|
||||
"enhanced-resolve": "^5.0.0",
|
||||
"micromatch": "^4.0.0",
|
||||
"semver": "^6.0.0"
|
||||
"semver": "^7.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tslib": {
|
||||
@ -513,17 +461,17 @@
|
||||
"integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==",
|
||||
"dev": true
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
|
||||
"dev": true
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
"homepage": "https://github.com/SoftEtherVPN/SoftEtherVPN/tree/master/developer_tools/vpnserver-jsonrpc-clients/#readme",
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2",
|
||||
"ts-loader": "^6.0.1",
|
||||
"ts-loader": "^9.4.2",
|
||||
"tslint": "^5.16.0",
|
||||
"typescript": "^3.4.5"
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Markdig" Version="0.15.4" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.10.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -5,6 +5,7 @@ This document describes how to build SoftEtherVPN for UNIX based Operating syste
|
||||
* [Install Requirements on Debian/Ubuntu](#install-requirements-on-debianubuntu)
|
||||
* [Install Requirements on macOS](#install-requirements-on-macos)
|
||||
- [Build from source code and install](#build-from-source-code-and-install)
|
||||
- [Additional Build Options](#additional-build-options)
|
||||
- [How to Run SoftEther](#how-to-run-softether)
|
||||
* [Start/Stop SoftEther VPN Server](#startstop-softether-vpn-server)
|
||||
* [Start/Stop SoftEther VPN Bridge](#startstop-softether-vpn-bridge)
|
||||
@ -18,35 +19,32 @@ This document describes how to build SoftEtherVPN for UNIX based Operating syste
|
||||
|
||||
You need to install the following software to build SoftEther VPN for UNIX.
|
||||
|
||||
- Linux, FreeBSD, Solaris or Mac OS X.
|
||||
- GNU Compiler Collection (gcc) and binary utilities. ***
|
||||
- GNU Make (gmake).
|
||||
- GNU C Library (glibc).
|
||||
- POSIX Threads (pthread).
|
||||
- OpenSSL (crypto, ssl).
|
||||
- libiconv.
|
||||
- readline.
|
||||
- ncurses.
|
||||
|
||||
*It has been noted that clang is also supported as an alternative to gcc.*
|
||||
|
||||
- [CMake](https://cmake.org)
|
||||
- C compiler (GCC, Clang, etc)
|
||||
- C Library (BSD libc, GNU libc, musl libc, etc)
|
||||
- POSIX threads library (pthread)
|
||||
- OpenSSL or LibreSSL (crypto, ssl)
|
||||
- make (GNU make, BSD make, etc)
|
||||
- libiconv
|
||||
- readline
|
||||
- ncurses
|
||||
|
||||
## Install requirements on Centos/RedHat
|
||||
|
||||
```bash
|
||||
sudo yum -y groupinstall "Development Tools"
|
||||
sudo yum -y install cmake ncurses-devel openssl-devel readline-devel zlib-devel
|
||||
sudo yum -y install cmake ncurses-devel openssl-devel libsodium-devel readline-devel zlib-devel
|
||||
```
|
||||
|
||||
## Install requirements on Debian/Ubuntu
|
||||
```bash
|
||||
sudo apt -y install cmake gcc g++ libncurses5-dev libreadline-dev libssl-dev make zlib1g-dev
|
||||
sudo apt -y install cmake gcc g++ make pkgconf libncurses5-dev libssl-dev libsodium-dev libreadline-dev zlib1g-dev
|
||||
```
|
||||
|
||||
## Install requirements on macOS
|
||||
```bash
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
brew install cmake openssl readline
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
|
||||
brew install cmake openssl libsodium readline
|
||||
```
|
||||
|
||||
# Build from source code and install
|
||||
@ -58,8 +56,8 @@ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
|
||||
cd SoftEtherVPN
|
||||
git submodule init && git submodule update
|
||||
./configure
|
||||
make -C tmp
|
||||
make -C tmp install
|
||||
make -C build
|
||||
make -C build install
|
||||
```
|
||||
|
||||
This will compile and install SoftEther VPN Server, Bridge and Client binaries under your executable path.
|
||||
@ -76,12 +74,44 @@ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
|
||||
cd SoftEtherVPN
|
||||
git submodule init && git submodule update
|
||||
./configure
|
||||
make -C tmp
|
||||
make -C tmp install
|
||||
make -C build
|
||||
make -C build install
|
||||
```
|
||||
|
||||
Building without USE_MUSL environment variable set compiles, but produced executables exhibit bad run-time behaviour.
|
||||
|
||||
# Additional Build Options
|
||||
|
||||
There are some additional build options useful if you're a distro package maintainer and creating a package of SoftEther VPN. It is recommended that you only specify these options when you understand what happens.
|
||||
|
||||
## Specify log, config, PID directories
|
||||
|
||||
By default, SoftEther VPN writes out all files such as logs, config files, PID files under the same directory as `vpnserver`, `vpnbridge`, `vpnclient` executables. This behaviour is suitable when [using SoftEther without installation](#using-softether-without-installation) however not appropriate using with installation.
|
||||
Usually PID files are to put in `/var/run` or `/run`. Logs are `/var/log`. Other variable state information files including config files are `/var/lib` or `/var/db`.
|
||||
|
||||
These directories can be changed at compile-time by specifying via CMake variables.
|
||||
* `SE_PIDDIR` - PID directory
|
||||
* `SE_LOGDIR` - root log directory
|
||||
* `SE_DBDIR` - config files and variable state directory
|
||||
|
||||
To specify directories, perform `./configure` like below.
|
||||
|
||||
```bash
|
||||
CMAKE_FLAGS="-DSE_PIDDIR=/run/softether -DSE_LOGDIR=/var/log/softether -DSE_DBDIR=/var/lib/softether" ./configure
|
||||
```
|
||||
|
||||
Please note that these directories are not created automatically after installation. Make sure to create these directories before starting SoftEther VPN Server, Bridge or Client.
|
||||
|
||||
## Build without [cpu_features](https://github.com/google/cpu_features)
|
||||
|
||||
SoftEther VPN uses cpu_features library to retrieve CPU features such as available processor instructions. However, cpu_features is not available on some architectures. Whether to build with cpu_features is auto detected but autodetection is not so smart.
|
||||
|
||||
If you want to build without cpu_features explicitly, perform `./configure` like below.
|
||||
|
||||
```bash
|
||||
CMAKE_FLAGS="-DSKIP_CPU_FEATURES" ./configure
|
||||
```
|
||||
|
||||
# How to Run SoftEther
|
||||
|
||||
## Start/Stop SoftEther VPN Server
|
||||
@ -107,9 +137,7 @@ vpncmd
|
||||
|
||||
Or you can also use VPN Server Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Server remotely. You can download the GUI Tool
|
||||
from http://www.softether-download.com/.
|
||||
|
||||
|
||||
from https://www.softether-download.com/.
|
||||
|
||||
|
||||
## Start/Stop SoftEther VPN Bridge
|
||||
@ -135,7 +163,7 @@ vpncmd
|
||||
|
||||
Or you can also use VPN Server Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Bridge remotely. You can download the GUI Tool
|
||||
from http://www.softether-download.com/.
|
||||
from https://www.softether-download.com/.
|
||||
|
||||
|
||||
## Start/Stop SoftEther VPN Client
|
||||
@ -161,7 +189,7 @@ vpncmd
|
||||
|
||||
Or you can also use VPN Client Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Client remotely. You can download the GUI Tool
|
||||
from http://www.softether-download.com/.
|
||||
from https://www.softether-download.com/.
|
||||
|
||||
|
||||
# About HTML5-based Modern Admin Console and JSON-RPC API Suite
|
||||
@ -200,9 +228,9 @@ You can write your own VPN Server management application in your favorite langua
|
||||
|
||||
You can use any SoftEtherVPN component (server, client, bridge) without installing it, if you wish so.
|
||||
|
||||
In this case please do not run the `make install` command after compiling the source code, and head directly to the **bin/** directory. There you will find the generated binaries for SoftEtherVPN and those could be used without installing SoftEtherVPN.
|
||||
In this case please do not run the `make install` command after compiling the source code, and head directly to the **build/** directory. There you will find the generated binaries for SoftEtherVPN and those could be used without installing SoftEtherVPN.
|
||||
|
||||
************************************
|
||||
Thank You Using SoftEther VPN !
|
||||
By SoftEther VPN Open-Source Project
|
||||
http://www.softether.org/
|
||||
https://www.softether.org/
|
||||
|
@ -1,77 +1,155 @@
|
||||
How to build SoftEther VPN for Windows
|
||||
======================================
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
You need to install the following software to run a full release build of SoftEther VPN for Windows.
|
||||
|
||||
- Microsoft Windows XP, Vista, 7, 8 or later.
|
||||
- Microsoft Visual Studio 2008 with the latest SP (SP1 9.0.30729.4462 QFE).
|
||||
Make sure that you installed the x64 compiler and build tools.
|
||||
- Microsoft Windows Driver Kit 7.1.0.
|
||||
|
||||
|
||||
Full Build Instructions
|
||||
-----------------------
|
||||
|
||||
The following steps will build all SoftEther VPN program files, and also build
|
||||
the installer packages of SoftEther VPN. It is very easy.
|
||||
|
||||
1. Run the "BuildAll.cmd" batch file in the "src" directory.
|
||||
2. Wait until the building process will complete.
|
||||
3. The built files are stored on the "output" directory.
|
||||
|
||||
|
||||
Partly Build, Debug, or Development Instructions on Visual Studio 2008
|
||||
---------------------------------------------------------------------
|
||||
|
||||
If you are a programmer, you can open the SoftEther VPN solution file
|
||||
with Visual Studio 2008 to customize. Open "src\SEVPN.sln" and enjoy it.
|
||||
|
||||
Visual Studio 2008 is required as to maintain compatibility with Windows 9x, due to Visual C++ 2008 being the last version compatibile with Windows 9x and Windows NT 4.x binary linking.
|
||||
|
||||
- Visual Studio 2008's installer ISO can be found on Microsoft's site here: https://download.microsoft.com/download/E/8/E/E8EEB394-7F42-4963-A2D8-29559B738298/VS2008ExpressWithSP1ENUX1504728.iso
|
||||
|
||||
- The Microsoft Windows Driver Kit 7.1.0 can be found here: https://download.microsoft.com/download/4/A/2/4A25C7D5-EFBE-4182-B6A9-AE6850409A78/GRMWDK_EN_7600_1.ISO
|
||||
|
||||
If using anything else other than Visual Studio 2008 for development, your code **MUST** support Microsoft Visual C++ 2008 due to aforementioned reasons.
|
||||
|
||||
It is OK to add newer Visual Studio (2015, 2017) solution files to the project, but there then must be dual solution files for both Visual C++ 2008 and the latest Visual Studio.
|
||||
|
||||
Build and Development Instructions with Visual Studio 2017 & CMake
|
||||
---------------------------------------------------------------------
|
||||
|
||||
An alternative method for development of the SoftEtherVPN project on Windows is through CMake.
|
||||
|
||||
There are several methods for using CMake but the easiest by far is through Visual Studio 2017 by importing the CMake project directly
|
||||
There are several methods for using CMake but the easiest by far is through Visual Studio by importing the CMake project directly
|
||||
into it. So that is what will be described below.
|
||||
|
||||
Requirements:
|
||||
## Requirements
|
||||
|
||||
1. Download Visual Studio 2017 (Community Edition is fine).
|
||||
2. During install, make sure to check "Desktop development with C++" under "Workloads".
|
||||
3. Click on individual components and scroll until you see "Visual C++ tools for CMake" under the compilers section. Make sure this is checked.
|
||||
4. Proceed with and finish Visual Studio 2017 install.
|
||||
5. Install the needed submodules to build the project, avoiding CMake telling you to do so with: `git submodule update --init --recursive`
|
||||
- Visual Studio 2019 or 2022 (Community Edition is fine)
|
||||
|
||||
Building:
|
||||
https://visualstudio.microsoft.com/downloads
|
||||
|
||||
Once both installs have finished, launch Visual Studio. Once its started go to the File menu click `Open --> CMake`. Then navigate to where you
|
||||
cloned the project and open the `CMakeLists.txt` file in the projects root directory.
|
||||
- Git for Windows (or other git tool)
|
||||
|
||||
Visual Studio will proceed to start the CMake configuration process and once its finished, you can simply go to toolbar and click `CMake -> Build All`.
|
||||
https://gitforwindows.org/
|
||||
|
||||
Once it has finished, hopefully with no errors, look in the newly created `/build` directory in the project's folder. Inside are the development versions
|
||||
of all the SoftEtherVPN components.
|
||||
- vcpkg
|
||||
|
||||
Congrats, you now have a complete CMake development environment for SoftEtherVPN on Windows, enjoy and happy contributing!
|
||||
https://github.com/microsoft/vcpkg
|
||||
|
||||
Download Links:
|
||||
- Visual Studio 2017 from Microsoft: https://visualstudio.microsoft.com/downloads
|
||||
## Installation
|
||||
|
||||
************************************
|
||||
Thank You Using SoftEther VPN !
|
||||
By SoftEther VPN Open-Source Project
|
||||
http://www.softether.org/
|
||||
- Visual Studio
|
||||
|
||||
Download from the official site and run the installer.
|
||||
|
||||
Make sure to check **Desktop development with C++** under *Workloads* and **Clang C++ Tools for Windows** in *Optional* components.
|
||||
|
||||
- Git
|
||||
|
||||
Nothing special. Just follow the installer.
|
||||
|
||||
- vcpkg
|
||||
|
||||
Let's say you will install it to `C:\vcpkg`.
|
||||
|
||||
Open your preferred terminal and go to `C:\`. Then run these commands.
|
||||
|
||||
```
|
||||
C:\> git clone https://github.com/microsoft/vcpkg
|
||||
C:\> cd vcpkg
|
||||
C:\vcpkg> bootstrap-vcpkg.bat
|
||||
C:\vcpkg> vcpkg integrate install
|
||||
```
|
||||
|
||||
## Update
|
||||
|
||||
- vcpkg
|
||||
|
||||
You are recommended to update vcpkg from time to time, so that the latest libraries are used in the build.
|
||||
|
||||
Go to the installation path, pull the latest repo and the binary:
|
||||
|
||||
```
|
||||
C:\vcpkg> git pull
|
||||
C:\vcpkg> bootstrap-vcpkg.bat
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
1. Launch Visual Studio
|
||||
|
||||
Choose either **Clone a repository** to clone from GitHub or **Open a local folder** if you already have a copy.
|
||||
|
||||
1. Open Terminal (*View -> Terminal*). Install the needed submodules to build the project, avoiding CMake telling you to do so with:
|
||||
|
||||
`git submodule update --init --recursive`
|
||||
|
||||
**Note**: This step is not necessary if you have chosen **Clone a repository** as Visual Studio automatically takes care of it.
|
||||
|
||||
1. Switch to folder view in the solution explorer
|
||||
|
||||
1. Select a configuration from the dropdown menu below the search box. The default configurations are:
|
||||
|
||||
- x64-native
|
||||
|
||||
Build x64 executables with 64-bit compiler (most common)
|
||||
|
||||
- x64-on-x86
|
||||
|
||||
Cross compile x64 executables with 32-bit compiler
|
||||
|
||||
- x86-native
|
||||
|
||||
Build x86 executables with 32-bit compiler
|
||||
|
||||
- x86-on-x64
|
||||
|
||||
Cross compile x86 executables with 64-bit compiler
|
||||
|
||||
On 64-bit Windows, all four configurations can be used. 32-bit platforms can only use 32-bit compiler.
|
||||
|
||||
1. Visual Studio will try generating CMake cache. If not, click **Project -> Configure Cache** or **Generate Cache**.
|
||||
|
||||
If CMake is busy, you will find **Generate Cache** greyed out. Wait until it finishes or click **Cancel CMake Cache Generation** to stop it.
|
||||
|
||||
The initial configuration will take a longer time since it needs to download and install dependencies.
|
||||
|
||||
1. When *CMake generation finished* is displayed, simply go to toolbar and click **Build -> Build All**.
|
||||
|
||||
1. Once building has finished, hopefully with no errors, look in the newly created `/build` directory in the project's folder.
|
||||
|
||||
Run `vpnsetup.exe` to install desired components.
|
||||
|
||||
1. Congrats, you now have a complete CMake development environment for SoftEtherVPN on Windows, enjoy and happy contributing!
|
||||
|
||||
## Notes
|
||||
|
||||
1. Build number
|
||||
|
||||
You can change the build number in `CMakeSettings.json`. Use any integer no less than 5180.
|
||||
|
||||
Delete and regenerate CMake cache after the change.
|
||||
|
||||
1. OpenSSL
|
||||
|
||||
The above instruction builds OpenSSL library statically in the SoftEther binaries,
|
||||
so that when you distribute the installer to others they will not need to install OpenSSL separately.
|
||||
However, the downside is that the OpenSSL library cannot be updated without a rebuild and reinstallation of SoftEther.
|
||||
|
||||
It's also possible to build OpenSSL library dynamically so that you can update OpenSSL without rebuilding SoftEther.
|
||||
To achieve that, you need to remove `openssl` from `vcpkg.json` and install OpenSSL directly.
|
||||
|
||||
Installing from a package manager such as [Scoop](https://scoop.sh/) would make the subsequent updates easily.
|
||||
However, you should avoid using [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/)
|
||||
for the time being because due to a bug it cannot detect the correct version of OpenSSL, causing endless updates.
|
||||
|
||||
If you install from Scoop, make sure to add the OpenSSL folder to the system's `PATH`.
|
||||
As Scoop already adds it to the user's `PATH`, just copy the same location into the system environment variable(s).
|
||||
SoftEther Client Service starts from the System account and will fail to start if OpenSSL is not in the global `PATH`.
|
||||
|
||||
Building should be straightforward. You can verify that the binaries are now linked against the locally installed OpenSSL
|
||||
with tools like `ldd` (available from Git Bash):
|
||||
|
||||
```bash
|
||||
$ ldd /c/Program\ Files/SoftEther\ VPN\ Client\ Developer\ Edition/vpnclient.exe
|
||||
...
|
||||
libcrypto-3-x64.dll => /c/Scoop/apps/openssl/current/bin/libcrypto-3-x64.dll (0x7ff8beb70000)
|
||||
libssl-3-x64.dll => /c/Scoop/apps/openssl/current/bin/libssl-3-x64.dll (0x7ff8beaa0000)
|
||||
...
|
||||
```
|
||||
|
||||
1. 32-bit Windows
|
||||
|
||||
You don't need 32-bit Windows to build 32-bit executables. However, if 32-bit Windows is what you only have, things become a little complicated.
|
||||
|
||||
Visual Studio 2019 is the last version that works on 32-bit Windows. It does the job but its bundled CMake and Ninja are 64-bit versions.
|
||||
|
||||
After the installation of VS 2019, you need to download 32-bit CMake and Ninja and replace those that come with VS in:
|
||||
|
||||
```
|
||||
C:\Program Files\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake
|
||||
```
|
||||
|
||||
Currently CMake has an official x86 installer but Ninja does not. You may need to download from a 3rd party or build from source.
|
||||
|
@ -1,38 +0,0 @@
|
||||
SETLOCAL
|
||||
SET BATCH_FILE_NAME=%0
|
||||
SET BATCH_DIR_PATH=%~dp0
|
||||
SET NOW_TMP=%time:~0,2%
|
||||
SET NOW=%date:~0,4%%date:~5,2%%date:~8,2%_%NOW_TMP: =0%%time:~3,2%%time:~6,2%
|
||||
|
||||
if exist "C:\Program Files\Microsoft Visual Studio 9.0" (
|
||||
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||
) else if exist "C:\Program Files (x86)\Microsoft Visual Studio 9.0" (
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||
) else (
|
||||
echo "Visual Studio 2008 not found!"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not exist "C:\windows\Microsoft.NET\Framework\v3.5" (
|
||||
echo ".NET Framework 3.5 not found!"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo on
|
||||
|
||||
copy "%BATCH_DIR_PATH%..\AUTHORS.TXT" "%BATCH_DIR_PATH%bin\hamcore\authors.txt"
|
||||
|
||||
echo f | xcopy "%BATCH_DIR_PATH%BuildFiles\Library\vs2008\Win32_Release\ossl_static.pdb" "%BATCH_DIR_PATH%DebugFiles\pdb\Win32_Release\ossl_static.pdb"
|
||||
echo f | xcopy "%BATCH_DIR_PATH%BuildFiles\Library\vs2008\x64_Release\ossl_static.pdb" "%BATCH_DIR_PATH%DebugFiles\pdb\x64_Release\ossl_static.pdb"
|
||||
|
||||
if exist "%BATCH_DIR_PATH%bin\BuildUtil.exe" (
|
||||
del "%BATCH_DIR_PATH%bin\BuildUtil.exe"
|
||||
)
|
||||
|
||||
C:\windows\Microsoft.NET\Framework\v3.5\MSBuild.exe /toolsversion:3.5 /target:Clean;Rebuild /property:Configuration=Debug "%BATCH_DIR_PATH%BuildUtil\BuildUtil.csproj"
|
||||
|
||||
cd "%BATCH_DIR_PATH%bin"
|
||||
|
||||
BuildUtil.exe /CMD:All
|
||||
|
||||
if errorlevel 1 exit /b %errorlevel%
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
29
src/BuildFiles/Manifests/common.manifest
Normal file
29
src/BuildFiles/Manifests/common.manifest
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS>
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></supportedOS>
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
|
||||
</application>
|
||||
</compatibility>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="amd64" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></supportedOS>
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS>
|
||||
</application>
|
||||
</compatibility>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="amd64" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></supportedOS>
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS>
|
||||
</application>
|
||||
</compatibility>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></supportedOS>
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS>
|
||||
</application>
|
||||
</compatibility>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></supportedOS>
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS>
|
||||
</application>
|
||||
</compatibility>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
@ -1,214 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>BuildUtil</RootNamespace>
|
||||
<AssemblyName>BuildUtilTmp</AssemblyName>
|
||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ApplicationIcon>BuildUtilIcon.ico</ApplicationIcon>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<StartupObject>BuildUtil.BuildUtilMain</StartupObject>
|
||||
<NoWin32Manifest>true</NoWin32Manifest>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\bin\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;BU_SOFTETHER;BU_OSS</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Runtime.Serialization.Formatters.Soap" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BuildUtilCommands.cs" />
|
||||
<Compile Include="BuildUtilMain.cs" />
|
||||
<Compile Include="CodeSign.cs" />
|
||||
<Compile Include="CoreUtil\Bmp.cs" />
|
||||
<Compile Include="CoreUtil\Buf.cs" />
|
||||
<Compile Include="CoreUtil\Cache.cs" />
|
||||
<Compile Include="CoreUtil\Compress.cs" />
|
||||
<Compile Include="CoreUtil\Console.cs" />
|
||||
<Compile Include="CoreUtil\Csv.cs" />
|
||||
<Compile Include="CoreUtil\Env.cs" />
|
||||
<Compile Include="CoreUtil\FileIO.cs" />
|
||||
<Compile Include="CoreUtil\GZip.cs" />
|
||||
<Compile Include="CoreUtil\Kernel.cs" />
|
||||
<Compile Include="CoreUtil\MultiLang.cs" />
|
||||
<Compile Include="CoreUtil\Packer.cs" />
|
||||
<Compile Include="CoreUtil\RC4.cs" />
|
||||
<Compile Include="CoreUtil\ReadIni.cs" />
|
||||
<Compile Include="CoreUtil\Reg.cs" />
|
||||
<Compile Include="CoreUtil\Secure.cs" />
|
||||
<Compile Include="CoreUtil\Stb.cs" />
|
||||
<Compile Include="CoreUtil\Str.cs" />
|
||||
<Compile Include="CoreUtil\Tar.cs" />
|
||||
<Compile Include="CoreUtil\Thread.cs" />
|
||||
<Compile Include="CoreUtil\Time.cs" />
|
||||
<Compile Include="CoreUtil\Util.cs" />
|
||||
<Compile Include="CoreUtil\Win32.cs" />
|
||||
<Compile Include="CoreUtil\Zip.cs" />
|
||||
<Compile Include="CoreUtil\ZLib.cs" />
|
||||
|
||||
<Compile Include="PEUtil.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Test.cs" />
|
||||
<Compile Include="UnixBuildSoftwares.cs" />
|
||||
<Compile Include="VpnBuilder.cs" />
|
||||
<Compile Include="VpnBuilderConfig.cs" />
|
||||
<Compile Include="VpnBuilderConfigTypes.cs" />
|
||||
<Compile Include="Web References\HvSignService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\SignService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Win32BuildSoftware.cs" />
|
||||
<Compile Include="Win32BuildUtil.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WebReferences Include="Web References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WebReferenceUrl Include="http://dv/Sign/Sign.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\SignService\</RelPath>
|
||||
<UpdateFromURL>http://dv/Sign/Sign.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>BuildUtil_SignService_Sign</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
<WebReferenceUrl Include="http://hvsigncode/Sign.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\HvSignService\</RelPath>
|
||||
<UpdateFromURL>http://hvsigncode/Sign.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>BuildUtilTmp_HvSignService_Sign</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\HvSignService\Sign.wsdl" />
|
||||
<None Include="Web References\SignService\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\SignService\Sign.disco" />
|
||||
<None Include="Web References\SignService\Sign.wsdl" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="BuildUtilIcon.ico" />
|
||||
<None Include="Web References\HvSignService\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\HvSignService\Sign.disco" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>$(ProjectDir)CopyBuildUtil.cmd</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 30 KiB |
@ -1,113 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
public class BuildUtilMain
|
||||
{
|
||||
public static bool pause = false;
|
||||
|
||||
// Main function
|
||||
public static int Main(string[] args)
|
||||
{
|
||||
string errMsg = "";
|
||||
|
||||
int ret = 0;
|
||||
|
||||
ret = ConsoleService.EntryPoint("BuildUtil " + Env.CommandLine, "BuildUtil", typeof(BuildUtilMain), out errMsg);
|
||||
|
||||
if (ret != 0)
|
||||
{
|
||||
Con.WriteLine("{0}: fatal error C0001: {1}", Path.GetFileNameWithoutExtension(Env.ExeFileName), errMsg);
|
||||
|
||||
if (pause)
|
||||
{
|
||||
Console.Write("Press any key to exit...");
|
||||
Console.ReadKey();
|
||||
}
|
||||
|
||||
Environment.Exit(1);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Command execution
|
||||
[ConsoleCommandMethod(
|
||||
"VPN Build Utility",
|
||||
"[/IN:infile] [/OUT:outfile] [/CSV] [/PAUSEIFERROR:yes|no] [/CMD command_line...]",
|
||||
"VPN Build Utility",
|
||||
"IN:This will specify the text file 'infile' that contains the list of commands that are automatically executed after the connection is completed. If the /IN parameter is specified, the vpncmd program will terminate automatically after the execution of all commands in the file are finished. If the file contains multiple-byte characters, the encoding must be Unicode (UTF-8). This cannot be specified together with /CMD (if /CMD is specified, /IN will be ignored).",
|
||||
"OUT:You can specify the text file 'outfile' to write all strings such as onscreen prompts, message, error and execution results. Note that if the specified file already exists, the contents of the existing file will be overwritten. Output strings will be recorded using Unicode (UTF-8) encoding.",
|
||||
"CMD:If the optional command 'command_line...' is included after /CMD, that command will be executed after the connection is complete and the vpncmd program will terminate after that. This cannot be specified together with /IN (if specified together with /IN, /IN will be ignored). Specify the /CMD parameter after all other vpncmd parameters.",
|
||||
"CSV:Enable CSV Mode.",
|
||||
"PAUSEIFERROR:Specify yes if you'd like to pause before exiting the process if there are any errors."
|
||||
)]
|
||||
public static int BuildUtil(ConsoleService c, string cmdName, string str)
|
||||
{
|
||||
Con.WriteLine("");
|
||||
Con.WriteLine("Copyright (c) SoftEther VPN Project. All Rights Reserved.");
|
||||
Con.WriteLine("");
|
||||
|
||||
ConsoleParam[] args =
|
||||
{
|
||||
new ConsoleParam("IN", null, null, null, null),
|
||||
new ConsoleParam("OUT", null, null, null, null),
|
||||
new ConsoleParam("CMD", null, null, null, null),
|
||||
new ConsoleParam("CSV", null, null, null, null),
|
||||
new ConsoleParam("PAUSEIFERROR", null, null, null, null),
|
||||
new ConsoleParam("DT", null, null, null, null),
|
||||
};
|
||||
|
||||
ConsoleParamValueList vl = c.ParseCommandList(cmdName, str, args);
|
||||
|
||||
pause = vl["PAUSEIFERROR"].BoolValue;
|
||||
|
||||
string cmdline = vl["CMD"].StrValue;
|
||||
|
||||
if (vl["DT"].IsEmpty == false)
|
||||
{
|
||||
BuildSoftwareList.ListCreatedDateTime = Str.StrToDateTime(vl["DT"].StrValue);
|
||||
}
|
||||
|
||||
ConsoleService cs = c;
|
||||
|
||||
while (cs.DispatchCommand(cmdline, "BuildUtil>", typeof(BuildUtilCommands), null))
|
||||
{
|
||||
if (Str.IsEmptyStr(cmdline) == false)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return cs.RetCode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,195 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
using BuildUtil.HvSignService;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
public static class CodeSign
|
||||
{
|
||||
public const int NumRetries = 1;
|
||||
public const int RetryIntervals = 200;
|
||||
|
||||
public const int NumRetriesForCopy = 50;
|
||||
public const int RetryIntervalsForCopy = 10;
|
||||
|
||||
const string in_dir = @"\\hvsigncode\SIGN\IN";
|
||||
const string out_dir = @"\\hvsigncode\SIGN\OUT";
|
||||
|
||||
#if !BU_SOFTETHER
|
||||
public static int UsingCertId = 1;
|
||||
#else
|
||||
public static int UsingCertId = 2;
|
||||
#endif
|
||||
|
||||
static object lockObj = new object();
|
||||
|
||||
// Digital-sign the data on the memory
|
||||
public static byte[] SignMemory(byte[] srcData, string comment, bool kernelModeDriver, int cert_id, int sha_mode)
|
||||
{
|
||||
#if !BU_OSS
|
||||
int i;
|
||||
string out_filename = null;
|
||||
byte[] ret = null;
|
||||
|
||||
string in_tmp_filename = Path.Combine(in_dir,
|
||||
Str.DateTimeToStrShortWithMilliSecs(DateTime.Now) + "_" +
|
||||
Env.MachineName + "_" +
|
||||
Secure.Rand63i().ToString() + ".dat");
|
||||
|
||||
IO.SaveFile(in_tmp_filename, srcData);
|
||||
|
||||
for (i = 0; i < NumRetries; i++)
|
||||
{
|
||||
Sign sign = new Sign();
|
||||
sign.Proxy = new WebProxy();
|
||||
|
||||
try
|
||||
{
|
||||
out_filename = sign.ExecSignEx(Path.GetFileName(in_tmp_filename),
|
||||
kernelModeDriver,
|
||||
comment,
|
||||
cert_id,
|
||||
sha_mode);
|
||||
break;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (i != (NumRetries - 1))
|
||||
{
|
||||
Kernel.SleepThread(RetryIntervals);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < NumRetriesForCopy; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
ret = IO.ReadFile(Path.Combine(out_dir, out_filename));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (i != (NumRetriesForCopy - 1))
|
||||
{
|
||||
Kernel.SleepThread(RetryIntervalsForCopy);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
string tmpFileName = IO.CreateTempFileNameByExt(".exe");
|
||||
try
|
||||
{
|
||||
File.Delete(tmpFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
File.WriteAllBytes(tmpFileName, ret);
|
||||
|
||||
lock (lockObj)
|
||||
{
|
||||
if (ExeSignChecker.CheckFileDigitalSignature(tmpFileName) == false)
|
||||
{
|
||||
throw new ApplicationException("CheckFileDigitalSignature failed.");
|
||||
}
|
||||
|
||||
if (kernelModeDriver)
|
||||
{
|
||||
if (ExeSignChecker.IsKernelModeSignedFile(tmpFileName) == false)
|
||||
{
|
||||
throw new ApplicationException("IsKernelModeSignedFile failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
}
|
||||
catch
|
||||
{
|
||||
File.Delete(tmpFileName);
|
||||
}
|
||||
|
||||
return ret;
|
||||
#else // BU_OSS
|
||||
return srcData;
|
||||
#endif // BU_OSS
|
||||
}
|
||||
|
||||
// Digital-sign the data on the file
|
||||
public static void SignFile(string destFileName, string srcFileName, string comment, bool kernelModeDriver)
|
||||
{
|
||||
int cert_id = UsingCertId;
|
||||
|
||||
SignFile(destFileName, srcFileName, comment, kernelModeDriver, cert_id, 0);
|
||||
}
|
||||
public static void SignFile(string destFileName, string srcFileName, string comment, bool kernelModeDriver, int cert_id, int sha_mode)
|
||||
{
|
||||
#if !BU_OSS
|
||||
if (cert_id == 0)
|
||||
{
|
||||
cert_id = UsingCertId;
|
||||
}
|
||||
|
||||
Con.WriteLine("Signing for '{0}'...", Path.GetFileName(destFileName));
|
||||
byte[] srcData = File.ReadAllBytes(srcFileName);
|
||||
|
||||
if (srcFileName.EndsWith(".msi", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
sha_mode = 1;
|
||||
// todo: Set 2 in future !!!
|
||||
}
|
||||
|
||||
byte[] destData = SignMemory(srcData, comment, kernelModeDriver, cert_id, sha_mode);
|
||||
|
||||
try
|
||||
{
|
||||
File.Delete(destFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
File.WriteAllBytes(destFileName, destData);
|
||||
|
||||
Con.WriteLine("Done.");
|
||||
#else // BU_OSS
|
||||
Con.WriteLine("Skipping the code signing for '{0}' in the build process. You can insert your own authenticode sign process here.", srcFileName);
|
||||
#endif // BU_OSS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user