WIP: stun proxy

This commit is contained in:
Simon Ding
2025-05-07 18:16:10 +08:00
parent 5375f66018
commit 9719c6a7c9
10 changed files with 557 additions and 57 deletions

View File

@@ -61,6 +61,23 @@ func (c *Client) GetAll() ([]pkg.Torrent, error) {
return res, nil
}
func (c *Client) GetListenPort() (int, error) {
pref, err := c.c.Preferences()
if err != nil {
return 0, errors.Wrap(err, "get preferences")
}
return pref.ListenPort, nil
}
func (c *Client) SetListenPort(port int) error {
ok, err := c.c.SetPreferences(map[string]any{"listen_port": port})
if !ok || err != nil {
return errors.Wrap(err, "set preferences")
}
return nil
}
func (c *Client) Download(link, hash, dir string) (pkg.Torrent, error) {
err := c.c.DownloadLinks([]string{link}, qbt.DownloadOptions{Savepath: &dir, Category: &c.category})
if err != nil {

View File

@@ -11,10 +11,17 @@ func Test1(t *testing.T) {
log.Errorf("new client error: %v", err)
t.Fail()
}
all, err := c.GetAll()
for _, t := range all {
name, _ := t.Name()
log.Infof("torrent: %+v", name)
log.Infof("new client success: %v", c)
port, err := c.GetListenPort()
if err != nil {
log.Errorf("get listen port error: %v", err)
t.Fail()
} else {
log.Infof("listen port: %d", port)
err := c.SetListenPort(port + 1)
if err!= nil {
log.Errorf("set listen port error: %v", err)
t.Fail()
}
}
}