ooni / minivpn

A minimalistic OpenVPN implementation in Go
GNU General Public License v3.0
36 stars 6 forks source link

refactor: remove legacy package #71

Closed ainghazal closed 4 months ago

ainghazal commented 4 months ago

This commit deletes the legacy implementation that was still around under vpn/.

Practically all the functionality has been moved to the public pkg/tunnel package, which contains the public API now.

The test binary can now be found in the same path as before, cmd/minivpn, although the cli flags have changed. Behavior-wise, however, there are bits that I have not still ported (gvisor-based tun device). They will be ported on a per-need basis, but at least we're cleaning up the tree of the unused codebase for now.

I am also bumping go.mod and go.sum, minivpn now requires go 1.21. This dependency could probably be relaxed (the main component that is pulling 1.21 dep now is the library I'm using to get the exit gateway, and that could be easily ported to use 1.20 or lower, but in any case 1.20 is not officially supported anymore, so I guess it's fine to start depending on 1.21 at this point).

Checklist

ainghazal commented 4 months ago

closing in favor of #72, needed to merge main