No firewall setup needed for Shadowsocks
This commit is contained in:
@@ -235,7 +235,7 @@ func _main(background context.Context, args []string) int { //nolint:gocognit,go
|
||||
wg.Add(1)
|
||||
go tinyproxyLooper.Run(ctx, wg)
|
||||
|
||||
shadowsocksLooper := shadowsocks.NewLooper(firewallConf, allSettings.ShadowSocks, logger, defaultInterface)
|
||||
shadowsocksLooper := shadowsocks.NewLooper(allSettings.ShadowSocks, logger, defaultInterface)
|
||||
restartShadowsocks := shadowsocksLooper.Restart
|
||||
wg.Add(1)
|
||||
go shadowsocksLooper.Run(ctx, wg)
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/firewall"
|
||||
"github.com/qdm12/gluetun/internal/settings"
|
||||
"github.com/qdm12/golibs/logging"
|
||||
shadowsockslib "github.com/qdm12/ss-server/pkg"
|
||||
@@ -22,7 +21,6 @@ type Looper interface {
|
||||
}
|
||||
|
||||
type looper struct {
|
||||
firewallConf firewall.Configurator
|
||||
settings settings.ShadowSocks
|
||||
settingsMutex sync.RWMutex
|
||||
logger logging.Logger
|
||||
@@ -46,10 +44,8 @@ func (l *looper) logAndWait(ctx context.Context, err error) {
|
||||
}
|
||||
}
|
||||
|
||||
func NewLooper(firewallConf firewall.Configurator, settings settings.ShadowSocks,
|
||||
logger logging.Logger, defaultInterface string) Looper {
|
||||
func NewLooper(settings settings.ShadowSocks, logger logging.Logger, defaultInterface string) Looper {
|
||||
return &looper{
|
||||
firewallConf: firewallConf,
|
||||
settings: settings,
|
||||
logger: logger.WithPrefix("shadowsocks: "),
|
||||
defaultInterface: defaultInterface,
|
||||
@@ -106,7 +102,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
|
||||
|
||||
l.setEnabled(true)
|
||||
|
||||
var previousPort uint16
|
||||
for ctx.Err() == nil {
|
||||
for !l.isEnabled() {
|
||||
// wait for a signal to re-enable
|
||||
@@ -129,18 +124,6 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
|
||||
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())
|
||||
|
||||
waitError := make(chan error)
|
||||
|
||||
Reference in New Issue
Block a user