Rewrite of the entrypoint in Golang (#71)
- General improvements
- Parallel download of only needed files at start
- Prettier console output with all streams merged (openvpn, unbound, shadowsocks etc.)
- Simplified Docker final image
- Faster bootup
- DNS over TLS
- Finer grain blocking at DNS level: malicious, ads and surveillance
- Choose your DNS over TLS providers
- Ability to use multiple DNS over TLS providers for DNS split horizon
- Environment variables for DNS logging
- DNS block lists needed are downloaded and built automatically at start, in parallel
- PIA
- A random region is selected if the REGION parameter is left empty (thanks @rorph for your PR)
- Routing and iptables adjusted so it can work as a Kubernetes pod sidecar (thanks @rorph for your PR)
This commit is contained in:
31
internal/pia/modify_test.go
Normal file
31
internal/pia/modify_test.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package pia
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
loggingMocks "github.com/qdm12/golibs/logging/mocks"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_ModifyLines(t *testing.T) {
|
||||
t.Parallel()
|
||||
original, err := ioutil.ReadFile("testdata/ovpn.golden")
|
||||
require.NoError(t, err)
|
||||
originalLines := strings.Split(string(original), "\n")
|
||||
expected, err := ioutil.ReadFile("testdata/ovpn.modified.golden")
|
||||
require.NoError(t, err)
|
||||
expectedLines := strings.Split(string(expected), "\n")
|
||||
|
||||
var port uint16 = 3000
|
||||
IPs := []net.IP{net.IP{100, 10, 10, 10}, net.IP{100, 20, 20, 20}}
|
||||
logger := &loggingMocks.Logger{}
|
||||
logger.On("Info", "%s: adapting openvpn configuration for server IP addresses and port %d", logPrefix, port).Once()
|
||||
c := &configurator{logger: logger}
|
||||
modifiedLines := c.ModifyLines(originalLines, IPs, port)
|
||||
assert.Equal(t, expectedLines, modifiedLines)
|
||||
logger.AssertExpectations(t)
|
||||
}
|
||||
Reference in New Issue
Block a user