https://github.com/yunginnanet/mullsox
mullsox is an overengineered toolkit to work with the mullvad API. It's designed for use when already connected to a mullvad VPN endpoint.
https://github.com/yunginnanet/mullsox
mullvad proxy proxy-list socks socks5 stealth vpn
Last synced: 5 months ago
JSON representation
mullsox is an overengineered toolkit to work with the mullvad API. It's designed for use when already connected to a mullvad VPN endpoint.
- Host: GitHub
- URL: https://github.com/yunginnanet/mullsox
- Owner: yunginnanet
- License: mit
- Created: 2022-05-01T05:39:46.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-05T01:21:51.000Z (almost 2 years ago)
- Last Synced: 2025-10-13T20:45:19.245Z (8 months ago)
- Topics: mullvad, proxy, proxy-list, socks, socks5, stealth, vpn
- Language: Go
- Homepage:
- Size: 223 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mullsox
[](https://pkg.go.dev/git.tcp.direct/kayos/mullsox) [](https://goreportcard.com/report/github.com/yunginnanet/mullsox) [](ircs://ircd.chat:6697/#tcpdirect)
mullsox is an overengineered toolkit to work with the [mullvad](https://mullvad.net/) 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](https://mullvad.net/en/help/socks5-proxy/) 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.
### usage
```golang
package main
import (
"time"
"git.tcp.direct/kayos/mullsox"
"git.tcp.direct/kayos/mullsox/mullvad"
)
func main() {
fetcher := mullvad.NewChecker()
socksCh, errCh := mullsox.GetAndVerifySOCKS(fetcher)
// or, with options:
/*
socksCh, errCh := mullsox.GetAndVerifySOCKS(fetcher,
mullsox.CheckerWorkerLimit(25),
mullsox.CheckerTimeout(3*time.Second),
)
*/
go func() {
for err := range errCh {
println(err.Error())
}
}()
for sock := range socksCh {
println(sock.String())
}
fmt.Printf("loaded %d p")
}
```
##### 5 5 5 5 5
mullsox works great with [prox5](https://git.tcp.direct/kayos/prox5).