diff --git a/server/settings/btsets.go b/server/settings/btsets.go index 7720efb..3b7cedd 100644 --- a/server/settings/btsets.go +++ b/server/settings/btsets.go @@ -51,6 +51,9 @@ type BTSets struct { SslPort int SslCert string SslKey string + + // Reader + ResponsiveMode bool // enable Responsive reader (don't wait pieceComplete) } func (v *BTSets) String() string { diff --git a/server/torr/stream.go b/server/torr/stream.go index 240f771..055ba5c 100644 --- a/server/torr/stream.go +++ b/server/torr/stream.go @@ -53,6 +53,9 @@ func (t *Torrent) Stream(fileID int, req *http.Request, resp http.ResponseWriter } reader := t.NewReader(file) + if sets.BTsets.ResponsiveMode { + reader.SetResponsive() + } host, port, err := net.SplitHostPort(req.RemoteAddr) if sets.BTsets.EnableDebug { diff --git a/web/src/components/Settings/SecondarySettingsComponent.jsx b/web/src/components/Settings/SecondarySettingsComponent.jsx index 7097476..5ee7e93 100644 --- a/web/src/components/Settings/SecondarySettingsComponent.jsx +++ b/web/src/components/Settings/SecondarySettingsComponent.jsx @@ -34,6 +34,7 @@ export default function SecondarySettingsComponent({ settings, inputForm }) { UploadRateLimit, ConnectionsLimit, PeersListenPort, + ResponsiveMode, SslPort, SslCert, SslKey, @@ -200,6 +201,11 @@ export default function SecondarySettingsComponent({ settings, inputForm }) { label={t('SettingsDialog.EnableDebug')} labelPlacement='start' /> + } + label={t('SettingsDialog.ResponsiveMode')} + labelPlacement='start' + />
{t('SettingsDialog.RetrackersMode')}