From 4dd1c6e3f49be11107cf5719eba4558a9841f9c3 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Tue, 20 Feb 2024 14:34:37 +0300 Subject: [PATCH 1/7] mod update and bump ver for tag MatriX.129.4 --- server/go.mod | 10 +++++----- server/go.sum | 12 ++++++------ server/version/version.go | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/server/go.mod b/server/go.mod index dc48632..cc62bd4 100644 --- a/server/go.mod +++ b/server/go.mod @@ -2,7 +2,7 @@ module server go 1.20 -replace github.com/anacrolix/torrent v1.54.0 => github.com/tsynik/torrent v1.2.13 +replace github.com/anacrolix/torrent v1.54.1 => github.com/tsynik/torrent v1.2.13 require ( github.com/agnivade/levenshtein v1.1.1 @@ -11,7 +11,7 @@ require ( github.com/anacrolix/log v0.15.0 github.com/anacrolix/missinggo/v2 v2.7.3 github.com/anacrolix/publicip v0.3.0 - github.com/anacrolix/torrent v1.54.0 + github.com/anacrolix/torrent v1.54.1 github.com/gin-contrib/cors v1.5.0 github.com/gin-contrib/location v0.0.2 github.com/gin-gonic/gin v1.9.1 @@ -34,9 +34,9 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alexflint/go-scalar v1.2.0 // indirect github.com/anacrolix/chansync v0.4.0 // indirect - github.com/anacrolix/dht/v2 v2.21.0 // indirect + github.com/anacrolix/dht/v2 v2.21.1 // indirect github.com/anacrolix/ffprobe v1.1.0 // indirect - github.com/anacrolix/generics v0.0.0-20230911070922-5dd7545c6b13 // indirect + github.com/anacrolix/generics v0.0.1 // indirect github.com/anacrolix/missinggo v1.3.0 // indirect github.com/anacrolix/missinggo/perf v1.0.0 // indirect github.com/anacrolix/multiless v0.3.1-0.20221221005021-2d12701f83f7 // indirect @@ -47,7 +47,7 @@ require ( github.com/benbjohnson/immutable v0.4.3 // indirect github.com/bits-and-blooms/bitset v1.13.0 // indirect github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8 // indirect - github.com/bytedance/sonic v1.10.2 // indirect + github.com/bytedance/sonic v1.11.0 // indirect github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect diff --git a/server/go.sum b/server/go.sum index 011c105..d163acf 100644 --- a/server/go.sum +++ b/server/go.sum @@ -30,8 +30,8 @@ github.com/alexflint/go-scalar v1.2.0 h1:WR7JPKkeNpnYIOfHRa7ivM21aWAdHD0gEWHCx+W github.com/alexflint/go-scalar v1.2.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o= github.com/anacrolix/chansync v0.4.0 h1:Md0HM7zYCAO4KwNwgcIRgxNsMxiRuk7D1Ha0Uo+2y60= github.com/anacrolix/chansync v0.4.0/go.mod h1:DZsatdsdXxD0WiwcGl0nJVwyjCKMDv+knl1q2iBjA2k= -github.com/anacrolix/dht/v2 v2.21.0 h1:8nzI+faaynY9jOKmVgdmBZVrTo8B7ZE/LKEgN3Vl/Bs= -github.com/anacrolix/dht/v2 v2.21.0/go.mod h1:SDGC+sEs1pnO2sJGYuhvIis7T8749dDHNfcjtdH4e3g= +github.com/anacrolix/dht/v2 v2.21.1 h1:s1rKkfLLcmBHKv4v/mtMkIeHIEptzEFiB6xVu54+5/o= +github.com/anacrolix/dht/v2 v2.21.1/go.mod h1:SDGC+sEs1pnO2sJGYuhvIis7T8749dDHNfcjtdH4e3g= github.com/anacrolix/dms v1.6.0 h1:v2g1Y+Fc/ICSEc+7M6B92oFcfcqa5LXYPhE4Hcm5tVA= github.com/anacrolix/dms v1.6.0/go.mod h1:5fAMpBcPFG4WQFh91zhf2E7/KYZ3/WmmRAf/WMoL0Q0= github.com/anacrolix/envpprof v0.0.0-20180404065416-323002cec2fa/go.mod h1:KgHhUaQMc8cC0+cEflSgCFNFbKwi5h54gqtVn8yhP7c= @@ -42,8 +42,8 @@ github.com/anacrolix/ffprobe v1.0.0/go.mod h1:BIw+Bjol6CWjm/CRWrVLk2Vy+UYlkgmBZ0 github.com/anacrolix/ffprobe v1.1.0 h1:eKBudnERW9zRJ0+ge6FzkQ0pWLyq142+FJrwRwSRMT4= github.com/anacrolix/ffprobe v1.1.0/go.mod h1:MXe+zG/RRa5OdIf5+VYYfS/CfsSqOH7RrvGIqJBzqhI= github.com/anacrolix/generics v0.0.0-20230113004304-d6428d516633/go.mod h1:ff2rHB/joTV03aMSSn/AZNnaIpUw0h3njetGsaXcMy8= -github.com/anacrolix/generics v0.0.0-20230911070922-5dd7545c6b13 h1:qwOprPTDMM3BASJRf84mmZnTXRsPGGJ8xoHKQS7m3so= -github.com/anacrolix/generics v0.0.0-20230911070922-5dd7545c6b13/go.mod h1:ff2rHB/joTV03aMSSn/AZNnaIpUw0h3njetGsaXcMy8= +github.com/anacrolix/generics v0.0.1 h1:4WVhK6iLb3UAAAQP6I3uYlMOHcp9FqJC9j4n81Wv9Ks= +github.com/anacrolix/generics v0.0.1/go.mod h1:ff2rHB/joTV03aMSSn/AZNnaIpUw0h3njetGsaXcMy8= github.com/anacrolix/log v0.3.0/go.mod h1:lWvLTqzAnCWPJA08T2HCstZi0L1y2Wyvm3FJgwU9jwU= github.com/anacrolix/log v0.6.0/go.mod h1:lWvLTqzAnCWPJA08T2HCstZi0L1y2Wyvm3FJgwU9jwU= github.com/anacrolix/log v0.13.1/go.mod h1:D4+CvN8SnruK6zIFS/xPoRJmtvtnxs+CSfDQ+BFxZ68= @@ -96,8 +96,8 @@ github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8 h1:GKTyiRCL6zVf5wWaq github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8/go.mod h1:spo1JLcs67NmW1aVLEgtA8Yy1elc+X8y5SRW1sFW4Og= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= -github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= -github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= +github.com/bytedance/sonic v1.11.0 h1:FwNNv6Vu4z2Onf1++LNzxB/QhitD8wuTdpZzMTGITWo= +github.com/bytedance/sonic v1.11.0/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= diff --git a/server/version/version.go b/server/version/version.go index aa19600..3f676b1 100644 --- a/server/version/version.go +++ b/server/version/version.go @@ -6,7 +6,7 @@ import ( // "github.com/anacrolix/torrent" ) -const Version = "MatriX.129.3" +const Version = "MatriX.129.4" func GetTorrentVersion() string { bi, ok := debug.ReadBuildInfo() From 433151252760636e7a6208ec5e292dad3648a877 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Thu, 22 Feb 2024 05:49:24 +0300 Subject: [PATCH 2/7] up torrent v1.2.14 --- server/go.mod | 2 +- server/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/go.mod b/server/go.mod index cc62bd4..ca44074 100644 --- a/server/go.mod +++ b/server/go.mod @@ -2,7 +2,7 @@ module server go 1.20 -replace github.com/anacrolix/torrent v1.54.1 => github.com/tsynik/torrent v1.2.13 +replace github.com/anacrolix/torrent v1.54.1 => github.com/tsynik/torrent v1.2.14 require ( github.com/agnivade/levenshtein v1.1.1 diff --git a/server/go.sum b/server/go.sum index d163acf..df3c5ce 100644 --- a/server/go.sum +++ b/server/go.sum @@ -332,8 +332,8 @@ github.com/swaggo/swag v1.16.3/go.mod h1:DImHIuOFXKpMFAQjcC7FG4m3Dg4+QuUgUzJmKjI github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tsynik/torrent v1.2.13 h1:PyOTz6dpzsoIT0IhiEmg6H5VD+mFqF93Q2L9iFyqPtQ= -github.com/tsynik/torrent v1.2.13/go.mod h1:NDxg14AwVqi3PWt1oStYLnyUxHYHX3qGKBAZVh/6Jk8= +github.com/tsynik/torrent v1.2.14 h1:1KdjnSTzVpyCwCNcdgQ/uCFJN59OGK3MxefcegXDBzc= +github.com/tsynik/torrent v1.2.14/go.mod h1:nw/6nj2Zy0/p7AgzUsfpK7WOexDeo1bArDLjeBq1u70= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= From 7837a7316c3c137d3f801bc467e292334636a37e Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Thu, 22 Feb 2024 05:49:46 +0300 Subject: [PATCH 3/7] update docs --- server/docs/docs.go | 6 +++--- server/docs/swagger.json | 6 +++--- server/docs/swagger.yaml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/server/docs/docs.go b/server/docs/docs.go index b2c4f5b..d131ef5 100644 --- a/server/docs/docs.go +++ b/server/docs/docs.go @@ -458,7 +458,7 @@ const docTemplate = `{ }, { "type": "string", - "description": "Get m3u from last play", + "description": "Get M3U from last played file", "name": "fromlast", "in": "query" }, @@ -477,14 +477,14 @@ const docTemplate = `{ }, { "type": "string", - "description": "File index in torrent", + "description": "Set poster link of torrent", "name": "poster", "in": "query", "required": true }, { "type": "string", - "description": "Set poster link of torrent", + "description": "Stream / playlist without authentication", "name": "not_auth", "in": "query", "required": true diff --git a/server/docs/swagger.json b/server/docs/swagger.json index 52ef964..5a6db5f 100644 --- a/server/docs/swagger.json +++ b/server/docs/swagger.json @@ -451,7 +451,7 @@ }, { "type": "string", - "description": "Get m3u from last play", + "description": "Get M3U from last played file", "name": "fromlast", "in": "query" }, @@ -470,14 +470,14 @@ }, { "type": "string", - "description": "File index in torrent", + "description": "Set poster link of torrent", "name": "poster", "in": "query", "required": true }, { "type": "string", - "description": "Set poster link of torrent", + "description": "Stream / playlist without authentication", "name": "not_auth", "in": "query", "required": true diff --git a/server/docs/swagger.yaml b/server/docs/swagger.yaml index fe094f3..09de818 100644 --- a/server/docs/swagger.yaml +++ b/server/docs/swagger.yaml @@ -592,7 +592,7 @@ paths: in: query name: m3u type: string - - description: Get m3u from last play + - description: Get M3U from last played file in: query name: fromlast type: string @@ -605,12 +605,12 @@ paths: name: title required: true type: string - - description: File index in torrent + - description: Set poster link of torrent in: query name: poster required: true type: string - - description: Set poster link of torrent + - description: Stream / playlist without authentication in: query name: not_auth required: true From 89a7f9249e6f734c03494ece2b31dd3073d78f58 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 05:52:17 +0300 Subject: [PATCH 4/7] Bump ip from 1.1.8 to 1.1.9 in /web (#362) Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9. - [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9) --- updated-dependencies: - dependency-name: ip dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/yarn.lock b/web/yarn.lock index d8d09f9..33fd644 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -7063,9 +7063,9 @@ ip-regex@^2.1.0: integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== ip@^1.1.0, ip@^1.1.5: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" - integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + version "1.1.9" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396" + integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ== ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" From 4d2fd19f6544523871480ac1160ac5ef5feeca0e Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Thu, 22 Feb 2024 08:20:52 +0300 Subject: [PATCH 5/7] fix --- server/go.mod | 2 +- server/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/go.mod b/server/go.mod index ca44074..fc9e48e 100644 --- a/server/go.mod +++ b/server/go.mod @@ -2,7 +2,7 @@ module server go 1.20 -replace github.com/anacrolix/torrent v1.54.1 => github.com/tsynik/torrent v1.2.14 +replace github.com/anacrolix/torrent v1.54.1 => github.com/tsynik/torrent v1.2.15 require ( github.com/agnivade/levenshtein v1.1.1 diff --git a/server/go.sum b/server/go.sum index df3c5ce..51382c9 100644 --- a/server/go.sum +++ b/server/go.sum @@ -332,8 +332,8 @@ github.com/swaggo/swag v1.16.3/go.mod h1:DImHIuOFXKpMFAQjcC7FG4m3Dg4+QuUgUzJmKjI github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tsynik/torrent v1.2.14 h1:1KdjnSTzVpyCwCNcdgQ/uCFJN59OGK3MxefcegXDBzc= -github.com/tsynik/torrent v1.2.14/go.mod h1:nw/6nj2Zy0/p7AgzUsfpK7WOexDeo1bArDLjeBq1u70= +github.com/tsynik/torrent v1.2.15 h1:f76Jhtz8MtgCwCBO396hzz9wsuF8+N1OdcB+YNh3d7k= +github.com/tsynik/torrent v1.2.15/go.mod h1:ZDW51KV/sGhccWk3HVpd2YXJvQLDDVByOfYZ7pVRFWc= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= From 26e7956ef9aec0fa88956f42f0362d737e3af093 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Thu, 22 Feb 2024 10:38:14 +0300 Subject: [PATCH 6/7] reformat peers info --- server/server.go | 4 ++-- server/torr/preload.go | 4 ++-- .../components/DialogTorrentDetailsContent/widgets/index.jsx | 2 +- web/src/locales/bg/translation.json | 2 +- web/src/locales/en/translation.json | 2 +- web/src/locales/ru/translation.json | 2 +- web/src/locales/ua/translation.json | 2 +- web/src/locales/zh/translation.json | 2 +- web/src/utils/Utils.js | 5 +++-- 9 files changed, 13 insertions(+), 12 deletions(-) diff --git a/server/server.go b/server/server.go index 4fbaf26..1aece68 100644 --- a/server/server.go +++ b/server/server.go @@ -45,7 +45,7 @@ func Start(port, sslport, sslCert, sslKey string, sslEnabled, roSets, searchWA b l.Close() } if err != nil { - log.TLogln("Port", sslport, "already in use! Please set different port for HTTPS. Abort") + log.TLogln("Port", sslport, "already in use! Please set different ssl port for HTTPS. Abort") os.Exit(1) } } @@ -59,7 +59,7 @@ func Start(port, sslport, sslCert, sslKey string, sslEnabled, roSets, searchWA b l.Close() } if err != nil { - log.TLogln("Port", port, "already in use! Please set different sslport for HTTP. Abort") + log.TLogln("Port", port, "already in use! Please set different port for HTTP. Abort") os.Exit(1) } // remove old disk caches diff --git a/server/torr/preload.go b/server/torr/preload.go index ac18d2b..1b83309 100644 --- a/server/torr/preload.go +++ b/server/torr/preload.go @@ -62,7 +62,7 @@ func (t *Torrent) Preload(index int, size int64) { // Запуск лога в отдельном потоке go func() { for t.Stat == state.TorrentPreload { - stat := fmt.Sprint(file.Torrent().InfoHash().HexString(), " ", utils2.Format(float64(t.PreloadedBytes)), "/", utils2.Format(float64(t.PreloadSize)), " Speed:", utils2.Format(t.DownloadSpeed), " Peers:[", t.Torrent.Stats().ConnectedSeeders, "]", t.Torrent.Stats().ActivePeers, "/", t.Torrent.Stats().TotalPeers) + stat := fmt.Sprint(file.Torrent().InfoHash().HexString(), " ", utils2.Format(float64(t.PreloadedBytes)), "/", utils2.Format(float64(t.PreloadSize)), " Speed:", utils2.Format(t.DownloadSpeed), " Peers:", t.Torrent.Stats().ActivePeers, "/", t.Torrent.Stats().TotalPeers, " [Seeds:", t.Torrent.Stats().ConnectedSeeders, "]") log.TLogln("Preload:", stat) t.AddExpiredTime(time.Second * time.Duration(settings.BTsets.TorrentDisconnectTimeout)) time.Sleep(time.Second) @@ -158,7 +158,7 @@ func (t *Torrent) Preload(index int, size int64) { wg.Wait() } - log.TLogln("End preload:", file.Torrent().InfoHash().HexString(), "Peers:[", t.Torrent.Stats().ConnectedSeeders, "]", t.Torrent.Stats().ActivePeers, "/", t.Torrent.Stats().TotalPeers) + log.TLogln("End preload:", file.Torrent().InfoHash().HexString(), "Peers:", t.Torrent.Stats().ActivePeers, "/", t.Torrent.Stats().TotalPeers, "[ Seeds:", t.Torrent.Stats().ConnectedSeeders, "]") } func (t *Torrent) findFileIndex(index int) *torrent.File { diff --git a/web/src/components/DialogTorrentDetailsContent/widgets/index.jsx b/web/src/components/DialogTorrentDetailsContent/widgets/index.jsx index cf567f3..a8592f1 100644 --- a/web/src/components/DialogTorrentDetailsContent/widgets/index.jsx +++ b/web/src/components/DialogTorrentDetailsContent/widgets/index.jsx @@ -51,7 +51,7 @@ export const PeersWidget = ({ data }) => { return ( From a8187922807eca5a0e5681c0968ebfde70ec378f Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Thu, 22 Feb 2024 10:52:19 +0300 Subject: [PATCH 7/7] extend playable files list --- .../components/DialogTorrentDetailsContent/helpers.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/web/src/components/DialogTorrentDetailsContent/helpers.js b/web/src/components/DialogTorrentDetailsContent/helpers.js index cb164e5..450703e 100644 --- a/web/src/components/DialogTorrentDetailsContent/helpers.js +++ b/web/src/components/DialogTorrentDetailsContent/helpers.js @@ -12,6 +12,7 @@ const playableExtList = [ 'avchd', 'avi', 'drc', + 'dv', 'flv', 'iso', 'm2v', @@ -27,9 +28,9 @@ const playableExtList = [ 'mpeg', 'mpg', 'mpv', + 'mts', 'mxf', 'nsv', - 'ogg', 'ogv', 'ts', 'qt', @@ -46,6 +47,9 @@ const playableExtList = [ 'aiff', 'ape', 'au', + 'dsd', + 'dff', + 'dsf', 'flac', 'gsm', 'it', @@ -55,11 +59,15 @@ const playableExtList = [ 'mod', 'mp3', 'mpa', + 'oga', + 'ogg', + 'opus', 'pls', 'ra', 's3m', 'sid', 'wav', + 'weba', 'wma', 'xm', ]