2021-08-18 22:01:04 +00:00
|
|
|
package vpn
|
2021-07-28 08:35:44 -07:00
|
|
|
|
|
|
|
|
import (
|
2023-09-23 12:57:12 +02:00
|
|
|
"github.com/qdm12/gluetun/internal/configuration/settings"
|
|
|
|
|
"github.com/qdm12/gluetun/internal/portforward/service"
|
2021-07-28 08:35:44 -07:00
|
|
|
)
|
|
|
|
|
|
2023-09-23 12:57:12 +02:00
|
|
|
func (l *Loop) startPortForwarding(data tunnelUpData) (err error) {
|
|
|
|
|
partialUpdate := service.Settings{
|
2021-08-19 23:22:55 +00:00
|
|
|
PortForwarder: data.portForwarder,
|
|
|
|
|
Interface: data.vpnIntf,
|
2023-09-23 12:57:12 +02:00
|
|
|
ServerName: data.serverName,
|
|
|
|
|
VPNProvider: data.portForwarder.Name(),
|
2021-07-28 08:35:44 -07:00
|
|
|
}
|
2023-09-23 12:57:12 +02:00
|
|
|
return l.portForward.UpdateWith(partialUpdate)
|
2021-07-28 08:35:44 -07:00
|
|
|
}
|
|
|
|
|
|
2023-09-23 12:57:12 +02:00
|
|
|
func (l *Loop) stopPortForwarding(vpnProvider string) (err error) {
|
|
|
|
|
partialUpdate := service.Settings{
|
|
|
|
|
VPNProvider: vpnProvider,
|
|
|
|
|
UserSettings: settings.PortForwarding{
|
|
|
|
|
Enabled: ptrTo(false),
|
|
|
|
|
},
|
2021-07-28 08:35:44 -07:00
|
|
|
}
|
2023-09-23 12:57:12 +02:00
|
|
|
return l.portForward.UpdateWith(partialUpdate)
|
2021-07-28 08:35:44 -07:00
|
|
|
}
|