No firewall setup needed for Shadowsocks

This commit is contained in:
Quentin McGaw
2020-10-26 02:52:10 +00:00
parent 53fe08ea26
commit 0c81154f36
2 changed files with 2 additions and 19 deletions

View File

@@ -235,7 +235,7 @@ func _main(background context.Context, args []string) int { //nolint:gocognit,go
wg.Add(1) wg.Add(1)
go tinyproxyLooper.Run(ctx, wg) go tinyproxyLooper.Run(ctx, wg)
shadowsocksLooper := shadowsocks.NewLooper(firewallConf, allSettings.ShadowSocks, logger, defaultInterface) shadowsocksLooper := shadowsocks.NewLooper(allSettings.ShadowSocks, logger, defaultInterface)
restartShadowsocks := shadowsocksLooper.Restart restartShadowsocks := shadowsocksLooper.Restart
wg.Add(1) wg.Add(1)
go shadowsocksLooper.Run(ctx, wg) go shadowsocksLooper.Run(ctx, wg)

View File

@@ -6,7 +6,6 @@ import (
"sync" "sync"
"time" "time"
"github.com/qdm12/gluetun/internal/firewall"
"github.com/qdm12/gluetun/internal/settings" "github.com/qdm12/gluetun/internal/settings"
"github.com/qdm12/golibs/logging" "github.com/qdm12/golibs/logging"
shadowsockslib "github.com/qdm12/ss-server/pkg" shadowsockslib "github.com/qdm12/ss-server/pkg"
@@ -22,7 +21,6 @@ type Looper interface {
} }
type looper struct { type looper struct {
firewallConf firewall.Configurator
settings settings.ShadowSocks settings settings.ShadowSocks
settingsMutex sync.RWMutex settingsMutex sync.RWMutex
logger logging.Logger logger logging.Logger
@@ -46,10 +44,8 @@ func (l *looper) logAndWait(ctx context.Context, err error) {
} }
} }
func NewLooper(firewallConf firewall.Configurator, settings settings.ShadowSocks, func NewLooper(settings settings.ShadowSocks, logger logging.Logger, defaultInterface string) Looper {
logger logging.Logger, defaultInterface string) Looper {
return &looper{ return &looper{
firewallConf: firewallConf,
settings: settings, settings: settings,
logger: logger.WithPrefix("shadowsocks: "), logger: logger.WithPrefix("shadowsocks: "),
defaultInterface: defaultInterface, defaultInterface: defaultInterface,
@@ -106,7 +102,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
l.setEnabled(true) l.setEnabled(true)
var previousPort uint16
for ctx.Err() == nil { for ctx.Err() == nil {
for !l.isEnabled() { for !l.isEnabled() {
// wait for a signal to re-enable // wait for a signal to re-enable
@@ -129,18 +124,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
continue continue
} }
if previousPort > 0 {
if err := l.firewallConf.RemoveAllowedPort(ctx, previousPort); err != nil {
l.logger.Error(err)
continue
}
}
if err := l.firewallConf.SetAllowedPort(ctx, settings.Port, l.defaultInterface); err != nil {
l.logger.Error(err)
continue
}
previousPort = settings.Port
shadowsocksCtx, shadowsocksCancel := context.WithCancel(context.Background()) shadowsocksCtx, shadowsocksCancel := context.WithCancel(context.Background())
waitError := make(chan error) waitError := make(chan error)