update stun proxy

This commit is contained in:
Simon Ding
2025-05-08 17:07:54 +08:00
parent ead022e17d
commit f59a0682c6
2 changed files with 16 additions and 1 deletions

View File

@@ -12,11 +12,20 @@ import (
)
func (s *Engine) stunProxyDownloadClient() error {
return s.StartStunProxy("")
}
func (s *Engine) StartStunProxy(name string) error {
downloaders := s.db.GetAllDonloadClients()
for _, d := range downloaders {
if !d.Enable {
continue
}
if name != "" && d.Name != name {
continue
}
if d.Implementation != downloadclients.ImplementationQbittorrent { //TODO only support qbittorrent for now
continue
@@ -41,4 +50,4 @@ func (s *Engine) stunProxyDownloadClient() error {
}
return nil
}
}

View File

@@ -236,6 +236,12 @@ func (s *Server) AddDownloadClient(c *gin.Context) (interface{}, error) {
}); err != nil {
return nil, errors.Wrap(err, "save downloader")
}
if in.UseNatTraversal {
if err := s.core.StartStunProxy(in.Name); err!= nil {
return nil, errors.Wrap(err, "start stun proxy")
}
}
return nil, nil
}