This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/slskd/slskd](https://slskd.org)
([source](https://togithub.com/slskd/slskd)) | minor | `0.20.1` ->
`0.21.0` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>slskd/slskd (ghcr.io/slskd/slskd)</summary>
### [`v0.21.0`](https://togithub.com/slskd/slskd/releases/tag/0.21.0)
[Compare
Source](https://togithub.com/slskd/slskd/compare/0.20.1...0.21.0)
### 🎉 Managed Blacklist (P2P Blocklists), UMASK and File Permissions
#### Managed Blacklist
A managed blacklist (also called a blocklist) can be specified to
disallow interaction with known undesirable actors. Users whose IP
address matches an entry on this list are functionally the same as users
added to the [User Blacklist](#user-blacklist) described above and are
disallowed any interactions with shares or files.
Blacklists/blocklists designed for use with other P2P applications (such
as BitTorrent) are supported; specifically the P2P, DAT, and CIDR
formats.
When enabled, the specified file is validated by reading the first few
lines of the file to automatically detect the format. If the file
doesn't exist, can't be read, the format can't be detected, or if it
contains any lines that don't match the format, the application will
exit. Similarly, if the file changes while the application is running
and there's an issue, the application will exit.
Note that the contents of the blacklist are stored in memory to ensure
performance, and this will increase the amount of memory used,
potentially significantly if the blacklist is large.
| Command-Line | Environment Variable | Description |
| -------------------- | -------------------- |
------------------------------ |
| `--enable-blacklist` | `BLACKLIST` | Enable the managed blacklist |
| `--blacklist-file` | `BLACKLIST_FILE` | The path to the blacklist file
|
```yaml
blacklist:
enabled: true
file: <path to file containing CIDRs to blacklist>
```
#### UMASK and File Permissions
On [Unix-like](https://en.wikipedia.org/wiki/Unix-like) operating
systems, slskd creates downloaded files with permissions dictated by the
[umask](https://en.wikipedia.org/wiki/Umask) of the process, usually
022, which translates to a file mode of 644; read/write for the owner
and read for the group and all others.
Users wishing to create files with different permissions can change the
umask value before launching the application (e.g. `umask 000 &
./slskd`), and the file mode will be changed accordingly.
When running within a docker container the environment variable
`SLSKD_UMASK` can be used to change the umask for the process within the
container, and this will in turn change the resulting file mode on a
mounted volume.
Users can optionally configure alternative permissions for files by
setting the file permission mode option. It's not possible to supersede
the configured umask value; setting a mode of 777, for example, will
have no effect with a umask of 022.
These options have no effect on Windows.
| Command-Line | Environment Variable | Description |
| ------------------------ | -----------------------------|
--------------------------------------------------------------------------------
|
| n/a | `SLSKD_UMASK` | When running within the slskd Docker container,
the umask for the process |
| `--file-permission-mode` | `SLSKD_FILE_PERMISSION_MODE` | The
permissions to apply to newly created files (chmod syntax, non-Windows
only) |
##### **YAML**
```yaml
permissions:
file:
mode: 644 # not for Windows, chmod syntax, e.g. 644, 777. can't escalate beyond umask
```
#### What's Changed
- Add support for CIDR blacklist files by
[@​gsuberland](https://togithub.com/gsuberland) in
[https://github.com/slskd/slskd/pull/1062](https://togithub.com/slskd/slskd/pull/1062)
- Bump follow-redirects from 1.15.4 to 1.15.6 in /src/web by
[@​dependabot](https://togithub.com/dependabot) in
[https://github.com/slskd/slskd/pull/1099](https://togithub.com/slskd/slskd/pull/1099)
- Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /src/web by
[@​dependabot](https://togithub.com/dependabot) in
[https://github.com/slskd/slskd/pull/1103](https://togithub.com/slskd/slskd/pull/1103)
- Bump express from 4.18.2 to 4.19.2 in /src/web by
[@​dependabot](https://togithub.com/dependabot) in
[https://github.com/slskd/slskd/pull/1104](https://togithub.com/slskd/slskd/pull/1104)
- Add FileAccess to FileExists attribute, test files for access by
[@​jpdillingham](https://togithub.com/jpdillingham) in
[https://github.com/slskd/slskd/pull/1114](https://togithub.com/slskd/slskd/pull/1114)
- Bump ejs from 3.1.9 to 3.1.10 in /src/web by
[@​dependabot](https://togithub.com/dependabot) in
[https://github.com/slskd/slskd/pull/1123](https://togithub.com/slskd/slskd/pull/1123)
- Add support for blacklist files by
[@​jpdillingham](https://togithub.com/jpdillingham) in
[https://github.com/slskd/slskd/pull/1100](https://togithub.com/slskd/slskd/pull/1100)
- Simplify file service by
[@​jpdillingham](https://togithub.com/jpdillingham) in
[https://github.com/slskd/slskd/pull/1125](https://togithub.com/slskd/slskd/pull/1125)
- Add the ability to configure Unix file permissions to be applied to
newly downloaded files by
[@​jpdillingham](https://togithub.com/jpdillingham) in
[https://github.com/slskd/slskd/pull/1128](https://togithub.com/slskd/slskd/pull/1128)
- Fix crash with "An unknown, invalid, or unsupported option or level
was specified in a getsockopt or setsockopt call" on Windows 10 < 1709,
Server 2012 R2, or earlier by
[@​jpdillingham](https://togithub.com/jpdillingham) in
[https://github.com/slskd/slskd/pull/1134](https://togithub.com/slskd/slskd/pull/1134)
- Add retry loop to initial server connection (fixes crash when starting
the application while the Soulseek server is unreachable) by
[@​jpdillingham](https://togithub.com/jpdillingham) in
[https://github.com/slskd/slskd/pull/1135](https://togithub.com/slskd/slskd/pull/1135)
**Full Changelog**:
https://github.com/slskd/slskd/compare/0.20.1...0.21.0
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zODIuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tZXJnZSIsInVwZGF0ZS9kb2NrZXIvZ2VuZXJhbC9ub24tbWFqb3IiXX0=-->