You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
kayos@tcp.direct dcabc3f136
Fix: nil dereference in DNS resolver
4 months ago
.gitignore Add: .gitignore 11 months ago
LICENSE Add: LICENSE 4 months ago
README.md Fix typo 4 months ago
api.go Cached relay map 5 months ago
check.go Finally do the thing we set out to do in the beginning >_> 4 months ago
check_test.go Finally do the thing we set out to do in the beginning >_> 4 months ago
go.mod Improve testing 5 months ago
go.sum Refactor 5 months ago
relays.go Finally do the thing we set out to do in the beginning >_> 4 months ago
relays_test.go Finally do the thing we set out to do in the beginning >_> 4 months ago
sox.go Fix: nil dereference in DNS resolver 4 months ago
sox_test.go Add count and change timeout 4 months ago

README.md

mullsox

GoDoc Go Report Card IRC

mullsox is an overengineered toolkit to work with the mullvad API. It's designed for use when already connected to a mullvad VPN endpoint.

More specifically, it was built to help the user make use of all of the SOCKS proxies that are available via the internal 10.0.0.0/8 subnet while connected to mullvad servers. this allows you to utilize somewhere around 75-100 different outgoing IP addresses via SOCKS proxies all while only connected to one mullvad VPN server.

5 5 5 5 5

mullsox works great with prox5.

example of usage with prox5:

p5 := NewProxyEngine()
mc := mullsox.NewChecker()

if err := mc.Update(); err != nil {
	println(err.Error())
        return
}

incoming, _ := mc.GetAndVerifySOCKS()

var count = 0
for line := range incoming {
        if p5.LoadSingleProxy(line.String()) {
                count++
        }
}

if count == 0 {
        println("failed to load any proxies")
        return
}

if err := p5.Start(); err != nil {
        println(err.Error())
        return
}