Liu Song’s Projects


~/Projects/openvpn-go

git clone https://code.lsong.org/openvpn-go

History

ref
main
Hash Date Commit message Author
728bed44 2023-05-08 13:43:49 refactor: delete duplicated cmd (#44) Ain Ghazal
06d680b5 2023-05-08 13:35:39 refactor: move entrypoint to cmd (#43) Ain Ghazal
7216b3ee 2023-03-15 23:31:49 pkg: adapt to new signature for tun Ain Ghazal
b62e339e 2023-03-16 12:35:53 pkg: go mod tidy Ain Ghazal
b36702e8 2022-11-21 18:19:16 refactor: treat events as uint8 Ain Ghazal
6f718355 2022-11-28 06:05:25 bug: add parse option for compression empty Ain Ghazal
545ba9a1 2023-01-11 21:16:52 docs: add pointer to security audit Ain Ghazal
1e1965a4 2022-12-02 17:34:20 bug: avoid panic with negative block size Ain Ghazal
868a9823 2022-10-28 20:45:45 refactor: use hash.Reset() and Size() Ain Ghazal
691c3efc 2022-10-26 00:03:31 bug: correctly acount for compression offset in cbc mode Ain Ghazal
197ce1a6 2022-10-19 19:07:49 feat: use P_DATA_V2 format Ain Ghazal
52ae13aa 2022-10-11 00:35:48 bug: uTLS does not pick tls min/max version from the passed spec Ain Ghazal
1bf975ce 2022-10-11 00:02:57 harden binary build Ain Ghazal
b8da9955 2022-10-10 23:49:04 bug: validate user input against known list of providers Ain Ghazal
dc6bcedd 2022-10-10 23:39:21 bug: fix file disclosure via error messages Ain Ghazal
5e7586fe 2022-10-10 23:28:06 feat: try a range of ports if the required port is in use Ain Ghazal
9782a376 2022-08-29 11:53:36 bug: incorrect boundary check for non-aead ciphers Ain Ghazal
fc1a97ea 2022-08-29 11:43:54 bug: index out of range in maybeAddCompressPadding Ain Ghazal
7644dbec 2022-08-29 11:26:51 bug: nil pointer dereference on EncryptAndEncodePayload Ain Ghazal
c1af37e7 2022-08-29 11:17:24 bug: integer division by zero Ain Ghazal
8c107d5f 2022-08-29 11:12:36 bug: index out of range in parseServerHardResetPacket Ain Ghazal
7c3d1cad 2022-09-12 17:33:46 feat: parse route and route-gateway options Ain Ghazal
60b4dbb9 2022-09-12 17:34:44 feat: parse auth-user-pass Ain Ghazal
eec494a8 2022-09-09 15:27:18 docs: add riseup ca for convenience Ain Ghazal
d0b8306f 2022-09-01 16:09:45 feat(ping): improvements on data export and error handling Ain Ghazal
bfbf55d4 2022-08-04 11:37:32 feat(ping): allow pinger to reuse an existing vpn.Client connection Ain Ghazal
903660cc 2022-08-25 13:16:53 feat: add observability for tunnel events Ain Ghazal
f2ab8d1d 2022-09-05 13:53:40 docs: fix missing markup in readme Ain Ghazal
76de8e91 2022-08-27 16:59:59 refactor: cleanup public API Ain Ghazal
c0375a91 2022-08-09 00:39:22 feat(ping): gather rtts & ttls Ain Ghazal
deed06cb 2022-08-04 11:37:32 feat: parse inline certs Ain Ghazal
67151c19 2022-08-05 13:03:47 pkg: add target to build x-platform binaries Ain Ghazal
ba33083e 2022-07-11 12:20:33 test: run only integration tests in integration step Ain Ghazal
ac62cf4a 2022-07-11 11:57:10 chore(ci): supress gosec hard failure Ain Ghazal
7666779b 2022-07-11 11:30:00 chore: bump go version to 1.18 Ain Ghazal
7cb21ed3 2022-07-11 11:25:03 chore: update all deps Ain Ghazal
0aca51a3 2022-07-11 11:20:11 feat: improve robustness of extras/pinger (#12) Ain Ghazal
a174f303 2022-07-07 12:01:38 feat: implement custom verification for mutual TLS auth (#10) Ain Ghazal
c8763f6b 2022-06-16 13:43:18 feat: disable max version in TLS Ain Ghazal
849d7b03 2022-06-12 19:49:39 [feat] add uTLS for parroting tls handshake Ain Ghazal
ea507aec 2022-06-13 12:40:05 chore: gofmt Ain Ghazal
700d538e 2022-06-13 12:35:35 style: minor misspellings Ain Ghazal
765b6645 2022-06-09 14:59:19 chore: update import path to be github.com/ooni/minivpn Simone Basso
86bcf725 2022-06-01 22:00:50 wording Ain Ghazal
e80a4e01 2022-05-26 14:02:58 document TLS_NOVERIFY flag Ain Ghazal
84916ce5 2022-05-26 13:49:14 small tests in random places Ain Ghazal
5caabadf 2022-05-26 05:28:55 diminishing returns on options tests Ain Ghazal
17251d04 2022-05-26 05:05:28 small tests for client Ain Ghazal
df9f658f 2022-05-26 04:44:38 test for packet parsing Ain Ghazal
40f61f0c 2022-05-26 03:18:20 some juggling to test tls handshake Ain Ghazal
600a391f 2022-05-26 01:22:44 tests for failure loading tls certs Ain Ghazal
364ba44f 2022-05-25 23:18:42 tests for handleIncoming, corner cases in tls Ain Ghazal
300814b7 2022-05-25 17:56:45 get rid of stop method (YAGNI) Ain Ghazal
f8126867 2022-05-25 17:53:32 more transport tests Ain Ghazal
ffec75f6 2022-05-25 16:04:43 small refactor in transport for testability Ain Ghazal
a3bc3976 2022-05-25 02:29:18 more dialer tests Ain Ghazal
359d23ff 2022-05-25 00:52:23 first tests for dialer Ain Ghazal
96c7379c 2022-05-24 22:00:52 test tlsconn.Write Ain Ghazal
9b9b0d98 2022-05-24 12:58:36 simplify long read function Ain Ghazal
e251a9d3 2022-05-24 12:21:42 test transport r/w packet Ain Ghazal
e677f59a 2022-05-24 11:14:00 test tls trasnport proxy methods Ain Ghazal
96294d1d 2022-05-24 02:32:41 test handshake with mocks Ain Ghazal
77fe0769 2022-05-24 00:53:17 test for muxer.Read Ain Ghazal
03f36130 2022-05-23 22:34:38 add gosec check Ain Ghazal
1433260a 2022-05-23 22:31:02 fix gosec errors Ain Ghazal
9a1f7c82 2022-05-23 10:07:52 add linter target Ain Ghazal
5979b5dc 2022-05-20 22:21:42 add more tests for packet.go Ain Ghazal
e9a344a0 2022-05-20 21:25:14 test readPacket udp, new tls conn Ain Ghazal
41a73bdd 2022-05-20 21:02:18 test tls init Ain Ghazal
4a0cf812 2022-05-20 16:27:26 add coverage check to the pipeline Ain Ghazal
ac91a59f 2022-05-20 14:37:21 test newMuxer Ain Ghazal
0a46fd6d 2022-05-20 02:04:25 simplify dialer Ain Ghazal
3828d75c 2022-05-20 01:17:31 more tests on data Ain Ghazal
3e5c34b1 2022-05-19 14:34:00 add -race to the test-short target Ain Ghazal
9ab7f04a 2022-05-19 14:12:55 test a few more funcs in options.go Ain Ghazal
d774059a 2022-05-19 12:53:31 cleanup Ain Ghazal
d4bdff95 2022-05-19 10:53:44 vpn.Client is a net.Conn Ain Ghazal
2279fa72 2022-05-19 01:11:57 tests for decompress Ain Ghazal
72102646 2022-05-18 01:15:11 cleanup Ain Ghazal
8a6804b2 2022-05-18 01:01:25 test encryptAndEncodePayloadNonAEAD Ain Ghazal
8b4acec2 2022-05-17 23:19:02 test compression stub and padding Ain Ghazal
54224e6e 2022-05-17 22:01:46 add tests for key generation, make keysource fixed size Ain Ghazal
2be9e8d7 2022-05-17 13:28:30 tests: aes encrypt Ain Ghazal
7cf2e470 2022-05-17 02:32:38 simplify while-true loop Ain Ghazal
bee1bc81 2022-05-17 02:17:34 tests for encrypt aes-gcm Ain Ghazal
97f269e4 2022-05-16 19:19:57 refactor: plaintext data encoding Ain Ghazal
a3cf4076 2022-05-16 15:36:29 refactor: encrypted data decoding Ain Ghazal
8888fdc0 2022-05-13 17:55:05 add tests for packet.go Ain Ghazal
3371cda3 2022-05-12 18:07:54 add net.Conn mocks Simone Basso
3a64a90d 2022-05-12 17:57:27 refactor: pure functions into the implementer Ain Ghazal
853b74b1 2022-05-12 14:17:57 be less verbose Ain Ghazal
0dca1f3a 2022-05-12 14:10:20 packet tests Ain Ghazal
47eacb4b 2022-05-12 13:05:28 document methods, reorder for coherence Ain Ghazal
3a1ba7b4 2022-05-12 12:51:03 use custom type for packetID too Ain Ghazal
a08bc3ce 2022-05-11 20:39:25 fix and add tests Ain Ghazal
c662d146 2022-05-11 17:30:13 handle errors on decrypt Ain Ghazal
8638f0d9 2022-05-11 17:18:57 pass tunnel to muxer Ain Ghazal
bf91fd97 2022-05-11 17:18:01 boundary check for acks Ain Ghazal
b5b0eec6 2022-05-11 16:40:38 consolidate files Ain Ghazal
950fe85c 2022-05-11 16:08:28 capture errors on packet parsing Ain Ghazal
f428fa01 2022-05-11 14:16:30 add to controlHandler interface, docs Ain Ghazal
0ad16372 2022-05-11 13:25:05 move readpacket funcs to transport.go Ain Ghazal
0f893631 2022-05-11 12:41:24 keep no state in control Ⓐ Ain Ghazal
9b4a663f 2022-05-10 21:59:05 remove errors.go Ain Ghazal
bd2aeb9c 2022-05-10 21:57:17 move keys funcs to data.go Ain Ghazal
61b553d1 2022-05-10 21:54:54 delete unused file Ain Ghazal
4968bfa8 2022-05-10 21:51:36 use logger interface Ain Ghazal
3df9dc59 2022-05-10 12:33:55 refactor: newMuxer & data channel Ain Ghazal
de5cfe2e 2022-05-09 20:10:03 initial attempt at muxer/control split Ain Ghazal
2e63d6c1 2022-05-06 22:30:33 refactor key initialization Ain Ghazal
cf84e440 2022-05-05 05:13:39 refactor: packet handling Ain Ghazal
0b250892 2022-05-05 00:56:11 refactor: packet parsing Ain Ghazal
00f6f728 2022-05-05 00:52:53 add utilities to parse packets Ain Ghazal
f4d87ffd 2022-05-04 19:11:36 add new data channel interface Simone Basso
e6ed04c4 2022-05-04 01:16:41 bug: the server can send padding on the options string Ain Ghazal
90cc454c 2022-05-04 00:49:45 refactor: new abstractions Simone Basso
512c1af2 2022-05-03 16:08:07 dump bad decrypt Ain Ghazal
ab3c5dde 2022-05-03 15:19:10 fix ndt7 runs Ain Ghazal
b2a80bce 2022-05-03 15:21:33 refactor(bytes): changes after code review (#6) Simone Basso
68700b3b 2022-05-03 12:40:49 fix tests Ain Ghazal
350ff51d 2022-05-03 01:54:10 cleanup & fix tests Ain Ghazal
be4238be 2022-05-03 01:23:54 add tests for pkcs7 (un)padding Ain Ghazal
dc743185 2022-05-02 23:42:39 add test for encodeOptionString Ain Ghazal
09b7f640 2022-05-02 22:39:47 wrap errors in options Ain Ghazal
a516a443 2022-05-02 22:05:25 convert to method Ain Ghazal
65e6af76 2022-05-02 22:01:34 refactor bytes functions after review Ain Ghazal
5ca1cad3 2022-05-02 15:47:40 refactor: changes after code review Simone Basso
7bc5e54c 2022-05-02 21:12:39 add authors, todo Ain Ghazal
60d0e9c5 2022-05-02 15:58:20 wip: close client conn Ain Ghazal
f2abd184 2022-05-02 15:25:06 accept flags for the ndt7 client Ain Ghazal
663b4666 2022-05-02 15:24:05 use semaphore on the first client reads too Ain Ghazal
12bd8e65 2022-04-29 21:52:24 wip: further cleanup and fixes on tcp framing Ain Ghazal
b8cba04e 2022-04-29 21:48:09 add global flags Ain Ghazal
4b4782ff 2022-04-29 21:47:41 profile url grab Ain Ghazal
1ebd105f 2022-04-29 02:58:10 add semaphore to read function Ain Ghazal
e1e06fc3 2022-04-29 02:20:15 wip: debug tcp framing Ain Ghazal
735345b9 2022-04-29 02:19:00 wait as a memoryless process Ain Ghazal
d7e349b6 2022-04-27 22:39:12 configure obfs4 via the vpn config file Ain Ghazal
63e20055 2022-04-27 21:57:54 make socks5 port configurable Ain Ghazal
89db1864 2022-04-27 21:46:17 make ndt7 server mandatory Ain Ghazal
91d92f60 2022-04-27 21:45:49 pin obfs4 version pre-elligator fix Ain Ghazal
f0f197eb 2022-04-27 20:11:17 ignore bad read size on tcp mode Ain Ghazal
a93ffa68 2022-04-27 01:30:45 ignore binary Ain Ghazal
21257dae 2022-04-27 01:29:44 add license identifier for vendored code Ain Ghazal
44f1b31f 2022-04-27 01:12:13 first attempt at obfs4-wrapped openvpn connection Ain Ghazal
7cb0fe64 2022-04-26 18:24:04 add upload measurement too Ain Ghazal
6e269595 2022-04-26 15:13:58 ndt7 client integration Ain Ghazal
45cd7b67 2022-04-26 13:02:07 docs Ain Ghazal
dc390f4e 2022-04-22 21:28:17 support tcp mode Ain Ghazal
d5428c2e 2022-03-31 01:37:34 unit tests Ain Ghazal
1d9745d9 2022-03-30 22:30:49 add strangelove targets for nDPI based QA Ain Ghazal
5bc8141a 2022-03-30 22:06:53 small test additions Ain Ghazal
42dfd88c 2022-03-25 20:05:24 filternet: test block-all Ain Ghazal
e5f14fd3 2022-03-24 21:00:32 cosmetic changes Ain Ghazal
c74e25c2 2022-03-24 20:25:28 add TODO about possible sensitivity to local conditions Ain Ghazal
de6b23c5 2022-03-24 14:13:44 first take at qa tests with filternet Ain Ghazal
a6e689f3 2022-03-23 21:35:45 add unit tests for option parsing Ain Ghazal
ab8d11f6 2022-03-23 20:44:47 document integration tests Ain Ghazal
23e45c31 2022-03-23 19:55:02 use docker image in github actions Ain Ghazal
acb1e038 2022-03-22 21:50:24 add convenience makefile targets Ain Ghazal
82517dde 2022-03-22 21:41:48 skip integration test in short mode Ain Ghazal
ebba400c 2022-03-22 21:37:41 complete integration test Ain Ghazal
79ae7ba6 2022-03-22 19:45:05 fetch config from docker in a go test Ain Ghazal
27b03940 2022-03-21 20:38:56 add env file for aes-256-cbc Ain Ghazal
8507d910 2022-03-21 20:16:36 add target for testing against docker image Ain Ghazal
f73b3fec 2022-03-21 19:48:40 end processing config file Ain Ghazal
fd98646e 2022-03-18 23:00:32 add convenience script to extract key blocks Ain Ghazal
fd247422 2022-03-18 22:18:25 boilerplate for docker-based integration tests Ain Ghazal
463a06d9 2022-03-17 11:57:19 use 1.3 as version max by default Ain Ghazal
101400b3 2022-03-16 22:34:29 allow to reuse client in raw dialer Ain Ghazal
290d1515 2022-03-14 22:44:45 expose stats in pinger Ain Ghazal
3155b664 2022-03-14 22:15:35 fix build (example) Ain Ghazal
dfa31909 2022-03-14 22:04:13 revert to use gopacket for icmp Ain Ghazal
a71dbef8 2022-03-11 23:41:27 add todo about lack of access to ttl Ain Ghazal
6e38de46 2022-03-10 21:31:50 refactor: move ping to extras Ain Ghazal
338242a2 2022-03-07 23:33:48 dial error Ain Ghazal
d5145739 2022-03-07 15:47:28 simple workflow Ain Ghazal
11509119 2022-03-07 14:01:36 reduce cyclomatic complexity Ain Ghazal
11d52c84 2022-03-06 21:35:07 use pkg.go.dev ref Ain Ghazal
dfbf2e0e 2022-03-06 21:29:29 add raw pinger example Ain Ghazal
b2a99588 2022-03-05 21:37:40 go lint Ain Ghazal
1cb173aa 2022-03-05 21:09:53 camel case Ain Ghazal
1413b9f4 2022-03-05 18:58:25 remove cruft Ain Ghazal
673ed37f 2022-03-05 18:52:50 go report card Ain Ghazal
a6ee483d 2022-03-04 19:29:49 add link to godocs Ain Ghazal
a7f8c9df 2022-03-04 19:27:25 make cipher private Ain Ghazal
7ec20d5e 2022-03-03 22:15:54 docs Ain Ghazal
a54434bd 2022-03-03 22:09:51 minor fixes Ain Ghazal
7968a871 2022-03-03 21:59:17 socks5 proxy Ain Ghazal
01673f5f 2022-03-03 17:00:14 add urlgrabber example Ain Ghazal
7684d3aa 2022-03-03 16:14:53 document dialer funcs Ain Ghazal
8b178884 2022-03-03 13:46:52 remove cruft Ain Ghazal
8fdcc783 2022-03-03 13:35:09 expose tun mtu in rawdialer Ain Ghazal
c3ba838b 2022-03-03 13:20:12 refactor Ain Ghazal
48676b89 2022-03-03 03:11:36 let's embrace gvisor netstack Ain Ghazal
6b4dd2f7 2022-02-28 15:00:02 wrap tls errors Ain Ghazal
ce71360f 2022-02-28 14:44:35 use copy Ain Ghazal
aa703bc9 2022-02-28 14:41:54 style Ain Ghazal
9e6ddf69 2022-02-28 14:38:59 remove unneeded channel Ain Ghazal
f5154489 2022-02-28 14:27:59 stub errors for each connection stage Ain Ghazal
df4505b9 2022-02-28 14:02:47 use dialer & net.PacketConn Ain Ghazal
aa2fa621 2022-02-25 13:08:21 fix data races Ain Ghazal
02feaedc 2022-02-25 12:53:47 cancellable context Ain Ghazal
ab2b08f8 2022-02-24 14:21:45 add link to mysteriumnetwork/go-openvpn in disclaimer Ain Ghazal
898783b1 2022-02-23 19:51:28 some more docs Ain Ghazal
1a084958 2022-02-23 19:23:46 be more idiomatic Ain Ghazal
c87662d8 2022-02-23 19:06:53 getopt version Ain Ghazal
32492175 2022-02-23 18:59:22 print stats Ain Ghazal
7db3b77e 2022-02-23 13:38:35 take user/pass from config file Ain Ghazal
aca25746 2022-02-23 12:59:50 refactor options usage Ain Ghazal
a09cfae6 2022-02-23 01:34:53 hack no more Ain Ghazal
3c6e6741 2022-02-23 00:41:30 use selects Ain Ghazal
46395c0e 2022-02-22 20:31:23 add notes about compression, bootstrap Ain Ghazal
e8e6c8e9 2022-02-22 20:26:01 add makefile for convenience Ain Ghazal
be15c371 2022-02-22 20:13:47 make cert&ca paths relative to config folder Ain Ghazal
af953b40 2022-02-22 20:13:05 add script to bootstrap irl providers Ain Ghazal
ff81a611 2022-02-21 23:43:44 support no compression frame at all Ain Ghazal
dd8e5361 2022-02-21 01:06:09 support empty compression stub Ain Ghazal
9d114149 2022-02-18 13:13:56 add flag for tls13 Ain Ghazal
2cac3101 2022-02-18 01:19:13 no compression Ain Ghazal
96ec8afc 2022-02-18 01:09:27 refactor & fail less drastically Ain Ghazal
65e90523 2022-02-18 00:37:59 key and cert were switched Ain Ghazal
33a18d9c 2022-02-17 15:00:46 add warning Ain Ghazal
00059b26 2022-02-17 05:30:50 AES-128-GCM Ain Ghazal
5fc8b8e6 2022-02-16 20:17:52 refactor for aead Ain Ghazal
2a05413a 2022-02-16 19:50:50 support SHA256, SHA512 Ain Ghazal
f7112645 2022-02-16 19:04:58 support AES-256-GCM Ain Ghazal
78b8e97e 2022-02-16 00:00:52 get client from options Ain Ghazal
04cd3fe0 2022-02-15 21:40:09 parse config file Ain Ghazal
dc58e776 2022-02-15 15:31:59 ignore more Ain Ghazal
c95ee269 2022-02-15 13:14:56 get certificates from cli Ain Ghazal
964b06b5 2022-02-14 14:05:24 getopt Ain Ghazal
361de53e 2022-02-11 14:54:17 wait until done Ain Ghazal
2059c1dc 2022-02-11 13:59:26 pinger done chan Ain Ghazal
460cbf7f 2022-02-10 15:29:39 add readme Ain Ghazal
2db4479b 2022-02-05 16:19:51 cleanup Ain Ghazal
7ea2c7e5 2022-02-05 15:39:50 decode icmp reply Ain Ghazal
8eea30c5 2022-02-05 15:27:56 add license Ain Ghazal
95880092 2022-02-05 12:52:36 fix encryption hmac, ping works now Ain Ghazal
61795e22 2022-02-05 01:57:27 wip: pinger icmp payload Ain Ghazal
bf62c1c6 2022-02-04 22:32:58 parse tunnel ip Ain Ghazal
96986858 2022-02-04 22:12:01 DataHandler interface Ain Ghazal
a4a8a314 2022-02-02 22:41:53 be less noisy Ain Ghazal
1d269038 2022-02-02 22:32:49 send encrypted ping response Ain Ghazal
dadc2587 2022-02-02 22:10:27 implement aes data encryption Ain Ghazal
c73649bb 2022-02-02 16:25:54 ugly workaround for out-of-order tls records Ain Ghazal
d23b5f1c 2022-02-02 15:15:11 aes decryption of data packets Ain Ghazal
fdc09719 2022-02-02 14:18:48 pass data from tls wrapper to data channel Ain Ghazal
29625927 2022-01-17 22:28:39 initial implementation Ain Ghazal
e5dd852f 2022-01-17 21:55:30 initial commit Ain Ghazal