Raw Fileserver - Releases

← App details

Nextcloud 33

Raw Fileserver 0.5.2
Release Details
UpdatedMarch 12, 2026, 3:16 a.m.
Changelog

Added

  • Readme-aio.md: step-by-step patch guide for Nextcloud AIO / Docker users; linked from the Installation section of Readme.md.

Fixed

  • Requests to /apps/files_sharing_raw/{token} (and /{token}/{path}, /rss, /u/{userId}/{path}) on installations with the rootUrlApps patch applied now correctly 307-redirect to the canonical /raw/... or /rss/... URL. Previously, these URLs returned Nextcloud's own 404 because the routes ceased to exist once the patch was active.
  • /raw/rss is now redirected to the canonical /rss URL when root aliases are active.
  • CspManager: /rss-prefixed request paths are now correctly normalized to /apps/files_sharing_raw/rss/... before CSP rule matching, consistent with /raw/... handling.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEDDCCAvQCAhMAMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzAzMDgxMDM5WhcNMzYwNjA4MDgxMDM5WjAcMRowGAYD
VQQDDBFmaWxlc19zaGFyaW5nX3JhdzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAJ9xzncYWefoqk4VmoKM8oiyr6ILqMizV8HwShbm73f5n1xGiTtFMkYb
U+vyqKA7Ckyt9PcbHphVWWFpZEwJuK/l7KqYeoFV5KiMomyXbkA5tkoOyz1MZveZ
t+YzgcL7+oEFAkjcUf+L+jU0DVVnkI7VDxwJfPgZmBIkCByyOfOCLJ1r8sBgOCI6
RTqajwnSOIh3UgDdC1bt8tQAYbJzOmxKpIFXJdyXH6ol1OXGdjbbUPHd0krESUAd
W3jlhKDrMNLu4YBzsuNN/FT4mKCEsiNd2qXfRRxNIFgITq5eWqqqfE5tM8FL7WNT
xy1gtlmZsaV2SXIddRKeWc09Ly6E9KhDOEPuUfkvRt61XbHuGDgonfZfUn/AuvT9
T/2B9Wujv/vlbH79tLV3K7f8Opcb5CmzbTPpOAG3TmfyFTcyhnPTqrb3Y3sWAl1o
Hm/iCvI9wTFeO0D/a7fTluEhcC3fFprnYWFN+XMqqV5EfxTTloEhAWIhbqDEFcPo
/RbExB6uCcCCX8bWKp4n6012WTSawSAVwBi6hy8+wQlSIbtw3gWRbvMeCQxoePCt
Np9GKkb5UKaEFGTIMMNrnTqlFAEk33HymTeIzvERPrzwr2KHkKjNG8hOAFptYadz
D/N6E3mt402EFe4buBwXHjjSQxig787hfdffwYE7OUHYSVzuI78hAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBADH8JwKxF3DcmzF6BwNxS9/jJJrV3X8CfePPH/qxIRhl
LtIimc0/tTAqGEYH86iPP022HDTeZCUC7p5hrU2N9QN6sabPSEiU6w48BVv+XC0i
h39K66gelm9HS7e+gOEVLM1YNVAKwxhKgiYoEkafe+FOPb87FIshOZiirunkuyoL
hnZmtTsEPP6yaQ2XCB9c/Ipmb3x5HkZuco0ONBo8eqZm/QBjYszLUY0Notx1zzUA
D/U0qO5svzPwneZVKYshte0l4Fc+gNGUiBynfJ5AUvCKeS0UCqiyheSRs9kG+/+6
KnBAhKP1yXLE7Fr+f5TXtC4KjjMj7GYbtL+Bl9wwC4o=
-----END CERTIFICATE-----
SignaturejK7XiPe+RfrfjYtsOOnPcz7jTagiJBqXSdxfjNeY05UwSVg65XHE68S4EWiDqtmn
KyZlfNTroq3SLJDzsWSVgHBq+qn7iu2sZ9OrrPRkGW92OKPlZrkiTnNyNWLlgj9g
oJbG2wik0vWemuB09xBQ7c729Mliy6d7FGw346XWNP6WgqNolQqQVmgV967hJhVm
1by478T4iATiro++LuxL+RogZF3GrkmatFqeOwc37yaPt5PLpH0RcVzuu3+yrjAD
OPCiUVe0DWU2Z6rGAe1rqubjNHopCjbdQMaivdoePJGMKrcs1PLq3jdIqeXphhKs
Bx3NwkNndksRerUg2vx11YqS/POszSADHTAROyXJ9qYoOgYjLNzfXypHeJYkI2qX
qft1F9gt2kCR6oPh5UuYYB5jfzMuNshnobT1IA11rO+WQlLcOiSgL/BMsDbPpoLP
5zwTmJI4dWNpFTVuKr6qTae5+6w1ZDX0H2Lm2wNOhrCV7lxayjfVMw5CNaz147k6
OH/viJOkfJUBmezDhHMeHbVgbokxLKFZArjGBSPmyhRN1CwujJo0N9l0Q4QHPuzt
Qp2yc9BmjhVnsDg5fmHFt89hgYMAAtGV6TZwid5Ty6BNn62u/plwSZ8DtX3/AlD1
/l4+NIK0mI4pVbJhclda2OOutsEkHLaBvKvC7hq7VxY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.6.0
Raw Fileserver 0.5.1
Release Details
UpdatedMarch 5, 2026, 5:05 a.m.
Changelog

Added

  • Admin setup check (Settings → Administration → Overview): warns when files_sharing_raw is not yet registered in Nextcloud core's rootUrlApps list, with a direct link to the documentation.

Changed

  • patch-route-parser.sh: now auto-detects the Nextcloud root by walking up the directory tree until occ is found; prompts interactively if auto-detection fails.
  • Built JS assets (js/) removed from git tracking; generated by the build process and excluded via .gitignore.

Fixed

  • Readme: Installation and Updating sections restructured; webserver offload security warning added; table of contents completed.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEDDCCAvQCAhMAMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzAzMDgxMDM5WhcNMzYwNjA4MDgxMDM5WjAcMRowGAYD
VQQDDBFmaWxlc19zaGFyaW5nX3JhdzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAJ9xzncYWefoqk4VmoKM8oiyr6ILqMizV8HwShbm73f5n1xGiTtFMkYb
U+vyqKA7Ckyt9PcbHphVWWFpZEwJuK/l7KqYeoFV5KiMomyXbkA5tkoOyz1MZveZ
t+YzgcL7+oEFAkjcUf+L+jU0DVVnkI7VDxwJfPgZmBIkCByyOfOCLJ1r8sBgOCI6
RTqajwnSOIh3UgDdC1bt8tQAYbJzOmxKpIFXJdyXH6ol1OXGdjbbUPHd0krESUAd
W3jlhKDrMNLu4YBzsuNN/FT4mKCEsiNd2qXfRRxNIFgITq5eWqqqfE5tM8FL7WNT
xy1gtlmZsaV2SXIddRKeWc09Ly6E9KhDOEPuUfkvRt61XbHuGDgonfZfUn/AuvT9
T/2B9Wujv/vlbH79tLV3K7f8Opcb5CmzbTPpOAG3TmfyFTcyhnPTqrb3Y3sWAl1o
Hm/iCvI9wTFeO0D/a7fTluEhcC3fFprnYWFN+XMqqV5EfxTTloEhAWIhbqDEFcPo
/RbExB6uCcCCX8bWKp4n6012WTSawSAVwBi6hy8+wQlSIbtw3gWRbvMeCQxoePCt
Np9GKkb5UKaEFGTIMMNrnTqlFAEk33HymTeIzvERPrzwr2KHkKjNG8hOAFptYadz
D/N6E3mt402EFe4buBwXHjjSQxig787hfdffwYE7OUHYSVzuI78hAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBADH8JwKxF3DcmzF6BwNxS9/jJJrV3X8CfePPH/qxIRhl
LtIimc0/tTAqGEYH86iPP022HDTeZCUC7p5hrU2N9QN6sabPSEiU6w48BVv+XC0i
h39K66gelm9HS7e+gOEVLM1YNVAKwxhKgiYoEkafe+FOPb87FIshOZiirunkuyoL
hnZmtTsEPP6yaQ2XCB9c/Ipmb3x5HkZuco0ONBo8eqZm/QBjYszLUY0Notx1zzUA
D/U0qO5svzPwneZVKYshte0l4Fc+gNGUiBynfJ5AUvCKeS0UCqiyheSRs9kG+/+6
KnBAhKP1yXLE7Fr+f5TXtC4KjjMj7GYbtL+Bl9wwC4o=
-----END CERTIFICATE-----
SignatureRsDUc4H6y+MtENBy0heLw+5xJdsNcumBzgzj90Aa5D1+8cOvWGFJV36ygkGsAnVQ
eKmYYQn1ytdjjpVBOMz9BqedasVE1aCrVHG475OXJqaS905vFPCYEEYCc9oEgX/c
mwXRkdMMdseOr8u9A1LXDZ1v9fTNN/uhkiusUf8/S4RPKHqckiIOtYUtXJFPwc56
zC1kesQg4s/Ar8WAXk9GYtDL6HhYHLFpCDiO1qZCHgeoBtk2pE7PUFesk9JZW+vd
XEH64CHPNqr7+uz8LWdHd4ofpYh9iaLRQ4Own78/SqDp7+HNDdlQ52ebfGVIeJlf
fMFG5ivhgqG6+lB4DtnPQzw/ZXx9ChPoNFrEo+NWFtHZTMhIV6/deKjeZeIwxgy9
Ecn0OFgaX/TJJwd5FUWYberJAd9OVDJwKIWSdiVsrF1pPKOFtApSo/PplwqOnM5R
xEY+cEGyhCPXU2diHs9BcMo1iIRV7EmUWqaOdsUA1OF8mpkUc6z1Y0HTJuIm4P4T
35FyT4+ChhDr7C8YOy3qpugRU56K+1C9TAJLXEJPISp4qKY/5CLEJdBeA7XRqu0j
5Rf3ftN3+6RXFFo1P9Iyagi98rg7rrqO1aFQ6Zxj6pnW5QumfyQyuTve/0WHIKG4
R9VKWGNlFb/5slf/cpvTUkdwc56ZNNtakkUdBvvSKGc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.6.0
Raw Fileserver 0.5.0
Release Details
UpdatedMarch 3, 2026, 12:04 p.m.
Changelog

Breaking Changes

  • App renamed from raw to files_sharing_raw; PHP namespace from OCA\Raw to OCA\FilesSharingRaw. All routes are now exclusively available under the /raw/ root alias (requires files_sharing_raw entry in Nextcloud core RouteParser.php). Config keys (raw_*) are unchanged.
  • Routes without root alias removed: /apps/raw/s/{token}, /apps/raw/{token}, /apps/raw/{token}/{path}, /apps/raw/u/{userId}/{path}. Private access now requires /raw/u/{userId}/{path}.

Added

  • UI-based raw share management (Files sidebar integration):
  • "Enable raw link" toggle in the share's Advanced settings panel.
  • REST API: GET/POST /api/v1/raw-share/{shareId}, GET /api/v1/raw-shares/{fileId}, GET /api/v1/raw-public-url
  • DB table raw_shares: stores per-share enabled state and optional custom CSP override per share.
  • ShareDeletedListener: auto-purges DB entry on share deletion.
  • ShareUpdatedListener: handles token rotation and share updates.
  • FilesLoadAdditionalScriptsListener: injects sidebar JS bundle into the Files app.
  • DB-based share authorization (additive to config allowlist):
  • Config (allowed_raw_tokens, allowed_raw_token_wildcards) retains highest priority.
  • UI toggle creates a DB row that additively allows the share.
  • Canonical URL redirect: when files_sharing_raw is in rootUrlApps, requests to /apps/files_sharing_raw/{token}/... are 307-redirected to canonical /raw/{token}/...
  • PublicUrlBuilder service + PublicUrlController (/api/v1/raw-public-url) for generating canonical raw URLs.
  • Per-share DB CSP override: CspManager reads a custom CSP string from the DB for raw-enabled shares (priority: config token > DB CSP > path/extension/mimetype rules).
  • CSP preset selector in the Files sidebar: choose from predefined CSP templates (Server default, Sandbox, Images only, Documents, Audio/Video) or enter a custom policy.
  • raw_only flag per share: mark a share as raw-only to block the standard Nextcloud /s/{token} share page; only the /raw/{token} URL remains active. ShareRawOnlyMiddleware enforces this globally.
  • CSP editor group restriction: the Edit CSP option in the sidebar three-dot menu is only visible to members of a configurable group (default: admin). Users outside the group cannot change a share's CSP via the API — existing values are silently preserved. Configure via: occ config:app:set files_sharing_raw csp_editor_group --value="raw_csp_allowed"
  • patch-route-parser.sh: idempotent helper script to add files_sharing_raw to the rootUrlApps constant in Nextcloud core RouteParser.php.
  • IBootstrap interface implemented; event listeners registered via register() (modern Nextcloud pattern).
  • SPDX copyright/license headers added to all source files.

Fixed

  • Canonical URL redirect uses 307 (Temporary Redirect) instead of 301 (Permanent Redirect) to prevent permanent browser caching.

Changed

  • Requirement bump: PHP min-version 8.0 → 8.1, Nextcloud min-version 26 → 32.
  • CspManager: all URL forms (/raw/..., /rss/...) normalized to /apps/files_sharing_raw/... before CSP matching rules are applied.
  • PubPageController: share type now validated (must be SHARE_TYPE_LINK); non-directory shares accessed with a sub-path return plain 404 instead of throwing an exception; dead wrapper methods removed.
  • Readme restructured into feature-oriented chapters.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEDDCCAvQCAhMAMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzAzMDgxMDM5WhcNMzYwNjA4MDgxMDM5WjAcMRowGAYD
VQQDDBFmaWxlc19zaGFyaW5nX3JhdzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAJ9xzncYWefoqk4VmoKM8oiyr6ILqMizV8HwShbm73f5n1xGiTtFMkYb
U+vyqKA7Ckyt9PcbHphVWWFpZEwJuK/l7KqYeoFV5KiMomyXbkA5tkoOyz1MZveZ
t+YzgcL7+oEFAkjcUf+L+jU0DVVnkI7VDxwJfPgZmBIkCByyOfOCLJ1r8sBgOCI6
RTqajwnSOIh3UgDdC1bt8tQAYbJzOmxKpIFXJdyXH6ol1OXGdjbbUPHd0krESUAd
W3jlhKDrMNLu4YBzsuNN/FT4mKCEsiNd2qXfRRxNIFgITq5eWqqqfE5tM8FL7WNT
xy1gtlmZsaV2SXIddRKeWc09Ly6E9KhDOEPuUfkvRt61XbHuGDgonfZfUn/AuvT9
T/2B9Wujv/vlbH79tLV3K7f8Opcb5CmzbTPpOAG3TmfyFTcyhnPTqrb3Y3sWAl1o
Hm/iCvI9wTFeO0D/a7fTluEhcC3fFprnYWFN+XMqqV5EfxTTloEhAWIhbqDEFcPo
/RbExB6uCcCCX8bWKp4n6012WTSawSAVwBi6hy8+wQlSIbtw3gWRbvMeCQxoePCt
Np9GKkb5UKaEFGTIMMNrnTqlFAEk33HymTeIzvERPrzwr2KHkKjNG8hOAFptYadz
D/N6E3mt402EFe4buBwXHjjSQxig787hfdffwYE7OUHYSVzuI78hAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBADH8JwKxF3DcmzF6BwNxS9/jJJrV3X8CfePPH/qxIRhl
LtIimc0/tTAqGEYH86iPP022HDTeZCUC7p5hrU2N9QN6sabPSEiU6w48BVv+XC0i
h39K66gelm9HS7e+gOEVLM1YNVAKwxhKgiYoEkafe+FOPb87FIshOZiirunkuyoL
hnZmtTsEPP6yaQ2XCB9c/Ipmb3x5HkZuco0ONBo8eqZm/QBjYszLUY0Notx1zzUA
D/U0qO5svzPwneZVKYshte0l4Fc+gNGUiBynfJ5AUvCKeS0UCqiyheSRs9kG+/+6
KnBAhKP1yXLE7Fr+f5TXtC4KjjMj7GYbtL+Bl9wwC4o=
-----END CERTIFICATE-----
SignaturehJm0u0gtDyPr2kpl+A0rDSCmB+VF9X2k7s8VoE0V0dVEgkVAP0IvXrShiTYeNhr/
6YNer6gcZ038QSMrSHvjhHVzeC146rWyasiIjgxQGPTW9Zt3Eh/Yv8011kCNtflh
jR3Fs4jeXhgRA5sKNc8nHs05o2SM3AWA0MVYna7Xzzr5w4VQ7pR96ufbuuIhkSr+
40Ygxir2NyE1DgvNRKt4dmo3Sd99s5PP+zyr/g58Mjuzs1NFzermvvNaG63jKwPW
hXS6WflbijbXFhpu3Yjyy6NuCCN3DNHL5vexjwN4fHQz9sJZIqlCNITmLndZyz+T
dyV891iPf0Y4w61p1pP64OIEqoROJ+xgj+PmuYxjlnacA+Ht5tk6crtzD4mKpml1
oup6emhizLQrlTt4jZ/hr4rYPGIgo+v4o120UhPfj4VPm96Yc3SC73cfAWz+kRH3
oc+oyqUEvUnHvDoKdjazklPa4NDq1MLdxQAlO8rfVP7xrjjOnnTZRlILfNUt7Rzc
3UEbPoccm7vxoMoZqCW46Pte7TtVmCtq5Z6Vxwfb1OoGsyEQ+R/7Lf61OsqUcn8e
VIdAoQfICEbJGmTBEHTgGj8F759+rsdjJEFbfANugysFehttuI4+1UY2stLd8Cso
qM0g9LD79cuOj+q9u0RPF9ZFcVFKMDtum7ayM6dNal0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0

Nextcloud 32

Raw Fileserver 0.5.2
Release Details
UpdatedMarch 12, 2026, 3:16 a.m.
Changelog

Added

  • Readme-aio.md: step-by-step patch guide for Nextcloud AIO / Docker users; linked from the Installation section of Readme.md.

Fixed

  • Requests to /apps/files_sharing_raw/{token} (and /{token}/{path}, /rss, /u/{userId}/{path}) on installations with the rootUrlApps patch applied now correctly 307-redirect to the canonical /raw/... or /rss/... URL. Previously, these URLs returned Nextcloud's own 404 because the routes ceased to exist once the patch was active.
  • /raw/rss is now redirected to the canonical /rss URL when root aliases are active.
  • CspManager: /rss-prefixed request paths are now correctly normalized to /apps/files_sharing_raw/rss/... before CSP rule matching, consistent with /raw/... handling.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEDDCCAvQCAhMAMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzAzMDgxMDM5WhcNMzYwNjA4MDgxMDM5WjAcMRowGAYD
VQQDDBFmaWxlc19zaGFyaW5nX3JhdzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAJ9xzncYWefoqk4VmoKM8oiyr6ILqMizV8HwShbm73f5n1xGiTtFMkYb
U+vyqKA7Ckyt9PcbHphVWWFpZEwJuK/l7KqYeoFV5KiMomyXbkA5tkoOyz1MZveZ
t+YzgcL7+oEFAkjcUf+L+jU0DVVnkI7VDxwJfPgZmBIkCByyOfOCLJ1r8sBgOCI6
RTqajwnSOIh3UgDdC1bt8tQAYbJzOmxKpIFXJdyXH6ol1OXGdjbbUPHd0krESUAd
W3jlhKDrMNLu4YBzsuNN/FT4mKCEsiNd2qXfRRxNIFgITq5eWqqqfE5tM8FL7WNT
xy1gtlmZsaV2SXIddRKeWc09Ly6E9KhDOEPuUfkvRt61XbHuGDgonfZfUn/AuvT9
T/2B9Wujv/vlbH79tLV3K7f8Opcb5CmzbTPpOAG3TmfyFTcyhnPTqrb3Y3sWAl1o
Hm/iCvI9wTFeO0D/a7fTluEhcC3fFprnYWFN+XMqqV5EfxTTloEhAWIhbqDEFcPo
/RbExB6uCcCCX8bWKp4n6012WTSawSAVwBi6hy8+wQlSIbtw3gWRbvMeCQxoePCt
Np9GKkb5UKaEFGTIMMNrnTqlFAEk33HymTeIzvERPrzwr2KHkKjNG8hOAFptYadz
D/N6E3mt402EFe4buBwXHjjSQxig787hfdffwYE7OUHYSVzuI78hAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBADH8JwKxF3DcmzF6BwNxS9/jJJrV3X8CfePPH/qxIRhl
LtIimc0/tTAqGEYH86iPP022HDTeZCUC7p5hrU2N9QN6sabPSEiU6w48BVv+XC0i
h39K66gelm9HS7e+gOEVLM1YNVAKwxhKgiYoEkafe+FOPb87FIshOZiirunkuyoL
hnZmtTsEPP6yaQ2XCB9c/Ipmb3x5HkZuco0ONBo8eqZm/QBjYszLUY0Notx1zzUA
D/U0qO5svzPwneZVKYshte0l4Fc+gNGUiBynfJ5AUvCKeS0UCqiyheSRs9kG+/+6
KnBAhKP1yXLE7Fr+f5TXtC4KjjMj7GYbtL+Bl9wwC4o=
-----END CERTIFICATE-----
SignaturejK7XiPe+RfrfjYtsOOnPcz7jTagiJBqXSdxfjNeY05UwSVg65XHE68S4EWiDqtmn
KyZlfNTroq3SLJDzsWSVgHBq+qn7iu2sZ9OrrPRkGW92OKPlZrkiTnNyNWLlgj9g
oJbG2wik0vWemuB09xBQ7c729Mliy6d7FGw346XWNP6WgqNolQqQVmgV967hJhVm
1by478T4iATiro++LuxL+RogZF3GrkmatFqeOwc37yaPt5PLpH0RcVzuu3+yrjAD
OPCiUVe0DWU2Z6rGAe1rqubjNHopCjbdQMaivdoePJGMKrcs1PLq3jdIqeXphhKs
Bx3NwkNndksRerUg2vx11YqS/POszSADHTAROyXJ9qYoOgYjLNzfXypHeJYkI2qX
qft1F9gt2kCR6oPh5UuYYB5jfzMuNshnobT1IA11rO+WQlLcOiSgL/BMsDbPpoLP
5zwTmJI4dWNpFTVuKr6qTae5+6w1ZDX0H2Lm2wNOhrCV7lxayjfVMw5CNaz147k6
OH/viJOkfJUBmezDhHMeHbVgbokxLKFZArjGBSPmyhRN1CwujJo0N9l0Q4QHPuzt
Qp2yc9BmjhVnsDg5fmHFt89hgYMAAtGV6TZwid5Ty6BNn62u/plwSZ8DtX3/AlD1
/l4+NIK0mI4pVbJhclda2OOutsEkHLaBvKvC7hq7VxY=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.6.0
Raw Fileserver 0.5.1
Release Details
UpdatedMarch 5, 2026, 5:05 a.m.
Changelog

Added

  • Admin setup check (Settings → Administration → Overview): warns when files_sharing_raw is not yet registered in Nextcloud core's rootUrlApps list, with a direct link to the documentation.

Changed

  • patch-route-parser.sh: now auto-detects the Nextcloud root by walking up the directory tree until occ is found; prompts interactively if auto-detection fails.
  • Built JS assets (js/) removed from git tracking; generated by the build process and excluded via .gitignore.

Fixed

  • Readme: Installation and Updating sections restructured; webserver offload security warning added; table of contents completed.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEDDCCAvQCAhMAMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzAzMDgxMDM5WhcNMzYwNjA4MDgxMDM5WjAcMRowGAYD
VQQDDBFmaWxlc19zaGFyaW5nX3JhdzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAJ9xzncYWefoqk4VmoKM8oiyr6ILqMizV8HwShbm73f5n1xGiTtFMkYb
U+vyqKA7Ckyt9PcbHphVWWFpZEwJuK/l7KqYeoFV5KiMomyXbkA5tkoOyz1MZveZ
t+YzgcL7+oEFAkjcUf+L+jU0DVVnkI7VDxwJfPgZmBIkCByyOfOCLJ1r8sBgOCI6
RTqajwnSOIh3UgDdC1bt8tQAYbJzOmxKpIFXJdyXH6ol1OXGdjbbUPHd0krESUAd
W3jlhKDrMNLu4YBzsuNN/FT4mKCEsiNd2qXfRRxNIFgITq5eWqqqfE5tM8FL7WNT
xy1gtlmZsaV2SXIddRKeWc09Ly6E9KhDOEPuUfkvRt61XbHuGDgonfZfUn/AuvT9
T/2B9Wujv/vlbH79tLV3K7f8Opcb5CmzbTPpOAG3TmfyFTcyhnPTqrb3Y3sWAl1o
Hm/iCvI9wTFeO0D/a7fTluEhcC3fFprnYWFN+XMqqV5EfxTTloEhAWIhbqDEFcPo
/RbExB6uCcCCX8bWKp4n6012WTSawSAVwBi6hy8+wQlSIbtw3gWRbvMeCQxoePCt
Np9GKkb5UKaEFGTIMMNrnTqlFAEk33HymTeIzvERPrzwr2KHkKjNG8hOAFptYadz
D/N6E3mt402EFe4buBwXHjjSQxig787hfdffwYE7OUHYSVzuI78hAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBADH8JwKxF3DcmzF6BwNxS9/jJJrV3X8CfePPH/qxIRhl
LtIimc0/tTAqGEYH86iPP022HDTeZCUC7p5hrU2N9QN6sabPSEiU6w48BVv+XC0i
h39K66gelm9HS7e+gOEVLM1YNVAKwxhKgiYoEkafe+FOPb87FIshOZiirunkuyoL
hnZmtTsEPP6yaQ2XCB9c/Ipmb3x5HkZuco0ONBo8eqZm/QBjYszLUY0Notx1zzUA
D/U0qO5svzPwneZVKYshte0l4Fc+gNGUiBynfJ5AUvCKeS0UCqiyheSRs9kG+/+6
KnBAhKP1yXLE7Fr+f5TXtC4KjjMj7GYbtL+Bl9wwC4o=
-----END CERTIFICATE-----
SignatureRsDUc4H6y+MtENBy0heLw+5xJdsNcumBzgzj90Aa5D1+8cOvWGFJV36ygkGsAnVQ
eKmYYQn1ytdjjpVBOMz9BqedasVE1aCrVHG475OXJqaS905vFPCYEEYCc9oEgX/c
mwXRkdMMdseOr8u9A1LXDZ1v9fTNN/uhkiusUf8/S4RPKHqckiIOtYUtXJFPwc56
zC1kesQg4s/Ar8WAXk9GYtDL6HhYHLFpCDiO1qZCHgeoBtk2pE7PUFesk9JZW+vd
XEH64CHPNqr7+uz8LWdHd4ofpYh9iaLRQ4Own78/SqDp7+HNDdlQ52ebfGVIeJlf
fMFG5ivhgqG6+lB4DtnPQzw/ZXx9ChPoNFrEo+NWFtHZTMhIV6/deKjeZeIwxgy9
Ecn0OFgaX/TJJwd5FUWYberJAd9OVDJwKIWSdiVsrF1pPKOFtApSo/PplwqOnM5R
xEY+cEGyhCPXU2diHs9BcMo1iIRV7EmUWqaOdsUA1OF8mpkUc6z1Y0HTJuIm4P4T
35FyT4+ChhDr7C8YOy3qpugRU56K+1C9TAJLXEJPISp4qKY/5CLEJdBeA7XRqu0j
5Rf3ftN3+6RXFFo1P9Iyagi98rg7rrqO1aFQ6Zxj6pnW5QumfyQyuTve/0WHIKG4
R9VKWGNlFb/5slf/cpvTUkdwc56ZNNtakkUdBvvSKGc=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.1.0,<8.6.0
Raw Fileserver 0.5.0
Release Details
UpdatedMarch 3, 2026, 12:04 p.m.
Changelog

Breaking Changes

  • App renamed from raw to files_sharing_raw; PHP namespace from OCA\Raw to OCA\FilesSharingRaw. All routes are now exclusively available under the /raw/ root alias (requires files_sharing_raw entry in Nextcloud core RouteParser.php). Config keys (raw_*) are unchanged.
  • Routes without root alias removed: /apps/raw/s/{token}, /apps/raw/{token}, /apps/raw/{token}/{path}, /apps/raw/u/{userId}/{path}. Private access now requires /raw/u/{userId}/{path}.

Added

  • UI-based raw share management (Files sidebar integration):
  • "Enable raw link" toggle in the share's Advanced settings panel.
  • REST API: GET/POST /api/v1/raw-share/{shareId}, GET /api/v1/raw-shares/{fileId}, GET /api/v1/raw-public-url
  • DB table raw_shares: stores per-share enabled state and optional custom CSP override per share.
  • ShareDeletedListener: auto-purges DB entry on share deletion.
  • ShareUpdatedListener: handles token rotation and share updates.
  • FilesLoadAdditionalScriptsListener: injects sidebar JS bundle into the Files app.
  • DB-based share authorization (additive to config allowlist):
  • Config (allowed_raw_tokens, allowed_raw_token_wildcards) retains highest priority.
  • UI toggle creates a DB row that additively allows the share.
  • Canonical URL redirect: when files_sharing_raw is in rootUrlApps, requests to /apps/files_sharing_raw/{token}/... are 307-redirected to canonical /raw/{token}/...
  • PublicUrlBuilder service + PublicUrlController (/api/v1/raw-public-url) for generating canonical raw URLs.
  • Per-share DB CSP override: CspManager reads a custom CSP string from the DB for raw-enabled shares (priority: config token > DB CSP > path/extension/mimetype rules).
  • CSP preset selector in the Files sidebar: choose from predefined CSP templates (Server default, Sandbox, Images only, Documents, Audio/Video) or enter a custom policy.
  • raw_only flag per share: mark a share as raw-only to block the standard Nextcloud /s/{token} share page; only the /raw/{token} URL remains active. ShareRawOnlyMiddleware enforces this globally.
  • CSP editor group restriction: the Edit CSP option in the sidebar three-dot menu is only visible to members of a configurable group (default: admin). Users outside the group cannot change a share's CSP via the API — existing values are silently preserved. Configure via: occ config:app:set files_sharing_raw csp_editor_group --value="raw_csp_allowed"
  • patch-route-parser.sh: idempotent helper script to add files_sharing_raw to the rootUrlApps constant in Nextcloud core RouteParser.php.
  • IBootstrap interface implemented; event listeners registered via register() (modern Nextcloud pattern).
  • SPDX copyright/license headers added to all source files.

Fixed

  • Canonical URL redirect uses 307 (Temporary Redirect) instead of 301 (Permanent Redirect) to prevent permanent browser caching.

Changed

  • Requirement bump: PHP min-version 8.0 → 8.1, Nextcloud min-version 26 → 32.
  • CspManager: all URL forms (/raw/..., /rss/...) normalized to /apps/files_sharing_raw/... before CSP matching rules are applied.
  • PubPageController: share type now validated (must be SHARE_TYPE_LINK); non-directory shares accessed with a sub-path return plain 404 instead of throwing an exception; dead wrapper methods removed.
  • Readme restructured into feature-oriented chapters.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEDDCCAvQCAhMAMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMzAzMDgxMDM5WhcNMzYwNjA4MDgxMDM5WjAcMRowGAYD
VQQDDBFmaWxlc19zaGFyaW5nX3JhdzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAJ9xzncYWefoqk4VmoKM8oiyr6ILqMizV8HwShbm73f5n1xGiTtFMkYb
U+vyqKA7Ckyt9PcbHphVWWFpZEwJuK/l7KqYeoFV5KiMomyXbkA5tkoOyz1MZveZ
t+YzgcL7+oEFAkjcUf+L+jU0DVVnkI7VDxwJfPgZmBIkCByyOfOCLJ1r8sBgOCI6
RTqajwnSOIh3UgDdC1bt8tQAYbJzOmxKpIFXJdyXH6ol1OXGdjbbUPHd0krESUAd
W3jlhKDrMNLu4YBzsuNN/FT4mKCEsiNd2qXfRRxNIFgITq5eWqqqfE5tM8FL7WNT
xy1gtlmZsaV2SXIddRKeWc09Ly6E9KhDOEPuUfkvRt61XbHuGDgonfZfUn/AuvT9
T/2B9Wujv/vlbH79tLV3K7f8Opcb5CmzbTPpOAG3TmfyFTcyhnPTqrb3Y3sWAl1o
Hm/iCvI9wTFeO0D/a7fTluEhcC3fFprnYWFN+XMqqV5EfxTTloEhAWIhbqDEFcPo
/RbExB6uCcCCX8bWKp4n6012WTSawSAVwBi6hy8+wQlSIbtw3gWRbvMeCQxoePCt
Np9GKkb5UKaEFGTIMMNrnTqlFAEk33HymTeIzvERPrzwr2KHkKjNG8hOAFptYadz
D/N6E3mt402EFe4buBwXHjjSQxig787hfdffwYE7OUHYSVzuI78hAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBADH8JwKxF3DcmzF6BwNxS9/jJJrV3X8CfePPH/qxIRhl
LtIimc0/tTAqGEYH86iPP022HDTeZCUC7p5hrU2N9QN6sabPSEiU6w48BVv+XC0i
h39K66gelm9HS7e+gOEVLM1YNVAKwxhKgiYoEkafe+FOPb87FIshOZiirunkuyoL
hnZmtTsEPP6yaQ2XCB9c/Ipmb3x5HkZuco0ONBo8eqZm/QBjYszLUY0Notx1zzUA
D/U0qO5svzPwneZVKYshte0l4Fc+gNGUiBynfJ5AUvCKeS0UCqiyheSRs9kG+/+6
KnBAhKP1yXLE7Fr+f5TXtC4KjjMj7GYbtL+Bl9wwC4o=
-----END CERTIFICATE-----
SignaturehJm0u0gtDyPr2kpl+A0rDSCmB+VF9X2k7s8VoE0V0dVEgkVAP0IvXrShiTYeNhr/
6YNer6gcZ038QSMrSHvjhHVzeC146rWyasiIjgxQGPTW9Zt3Eh/Yv8011kCNtflh
jR3Fs4jeXhgRA5sKNc8nHs05o2SM3AWA0MVYna7Xzzr5w4VQ7pR96ufbuuIhkSr+
40Ygxir2NyE1DgvNRKt4dmo3Sd99s5PP+zyr/g58Mjuzs1NFzermvvNaG63jKwPW
hXS6WflbijbXFhpu3Yjyy6NuCCN3DNHL5vexjwN4fHQz9sJZIqlCNITmLndZyz+T
dyV891iPf0Y4w61p1pP64OIEqoROJ+xgj+PmuYxjlnacA+Ht5tk6crtzD4mKpml1
oup6emhizLQrlTt4jZ/hr4rYPGIgo+v4o120UhPfj4VPm96Yc3SC73cfAWz+kRH3
oc+oyqUEvUnHvDoKdjazklPa4NDq1MLdxQAlO8rfVP7xrjjOnnTZRlILfNUt7Rzc
3UEbPoccm7vxoMoZqCW46Pte7TtVmCtq5Z6Vxwfb1OoGsyEQ+R/7Lf61OsqUcn8e
VIdAoQfICEbJGmTBEHTgGj8F759+rsdjJEFbfANugysFehttuI4+1UY2stLd8Cso
qM0g9LD79cuOj+q9u0RPF9ZFcVFKMDtum7ayM6dNal0=
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.1.0