File: //etc/nginx/conf.d/dsm.syno-app-portal.SynologyDrive.conf
location ~ ^/d/f/ {
root /usr/syno/synoman;
index index.cgi;
rewrite /d/f/([0-9a-zA-Z_]+\.(txt|cgi))$ /$1 last;
rewrite /d/f/(webman|scripts|synoSDSjslib|synoSDSjslib-compatible-6.x|synohdpack|oauth|webapi)/(.*)$ /$1/$2 last;
rewrite /d/f/([0-9a-zA-Z]+)$ /webapi/entry.cgi?api=SYNO.SynologyDrive.Shard&version=1&method=get&link_id="$1"&sharing_type=simple_sharing break;
include scgi_params;
scgi_pass synoscgi;
}
location ~ ^/d/s/ {
root /usr/syno/synoman;
index index.cgi;
rewrite /d/s/([0-9a-zA-Z]+)/([0-9a-zA-Z_]+\.(txt|cgi))$ /$2 last;
rewrite /d/s/([0-9a-zA-Z]+)/(webman|scripts|synoSDSjslib|synoSDSjslib-compatible-6.x|synohdpack|oauth|webapi|oo|sc)/(.*)$ /$2/$3 last;
rewrite /d/s/([0-9a-zA-Z]+)/([^/]+)$ /webapi/entry.cgi?api=SYNO.SynologyDrive.Shard&version=1&method=get&link_id="$1"&sharing_link="$2"&sharing_type=public_sharing break;
include scgi_params;
scgi_pass synoscgi;
}
location ~ ^/d/r/ {
root /usr/syno/synoman;
index index.cgi;
rewrite /d/r/([0-9a-zA-Z]+)/([0-9a-zA-Z_]+\.(txt|cgi))$ /$2 last;
rewrite /d/r/([0-9a-zA-Z]+)/(webman|scripts|synoSDSjslib|synoSDSjslib-compatible-6.x|synohdpack|oauth|webapi|oo|sc)/(.*)$ /$2/$3 last;
rewrite /d/r/([0-9a-zA-Z]+)/([^/]+)$ /webapi/entry.cgi?api=SYNO.SynologyDrive.Shard&version=1&method=get&link_id="$1"&sharing_link="$2"&sharing_type=file_request break;
include scgi_params;
scgi_pass synoscgi;
}
location ~ ^/oo/r/ {
if ($http_user_agent ~* "facebookexternalhit|SynologyChatBot") {
rewrite /oo/r/([0-9a-zA-Z]+)$ /webapi/entry.cgi?api=SYNO.Office.Shard&version=1&method=get&link_id="$1" break;
}
rewrite /oo/r/([0-9a-zA-Z]+)/synoscgi.sock/(.*)$ /synoscgi.sock/$2 last;
rewrite /oo/r/([0-9a-zA-Z]*)$ /webman/3rdparty/Spreadsheet/index2.html last;
rewrite /oo/r/(webman|scripts|synoSDSjslib|synohdpack|oauth|webapi|oo|sc|synoscgi.sock)/(.*)$ /$1/$2 last;
rewrite /oo/r/([0-9a-zA-Z_]+\.(txt|cgi))$ /$1 last;
include scgi_params;
scgi_pass synoscgi;
}
include /var/packages/Spreadsheet/target/etc/Spreadsheet-variables.conf*;
location ~ ^/webman/3rdparty/Spreadsheet/index2.html {
include /var/packages/Spreadsheet/target/etc/Spreadsheet-webpage.conf*;
rewrite /webman/3rdparty/Spreadsheet/index2.html /webman/3rdparty/Spreadsheet/index2.html break;
}
location ~ ^/oo/t/ {
rewrite /oo/t/([0-9a-zA-Z_.]+)/synoscgi.sock/(.*)$ /synoscgi.sock/$2 last;
rewrite /oo/t/([0-9a-zA-Z_]+\.(txt|cgi))$ /$1 last;
rewrite /oo/t/([0-9a-zA-Z_.]*)$ /webman/3rdparty/Spreadsheet/index2.html last;
rewrite /oo/t/(webman|scripts|synoSDSjslib|synohdpack|oauth|webapi|oo|sc|synoscgi.sock)/(.*)$ /$1/$2 last;
include scgi_params;
scgi_pass synoscgi;
}
location ~ ^/oo/socket.io/sheet/ {
rewrite /oo(/.*) $1 break;
include /var/packages/Spreadsheet/target/etc/Spreadsheet-socket-io-sheet-domain-socket.conf*;
}
location ~ ^/oo/socket.io/doc/ {
rewrite /oo(/.*) $1 break;
include /var/packages/Spreadsheet/target/etc/Spreadsheet-socket-io-doc-domain-socket.conf*;
}
location ~ ^/oo/socket.io/presentation/ {
rewrite /oo(/.*) $1 break;
include /var/packages/Spreadsheet/target/etc/Spreadsheet-socket-io-presentation-domain-socket.conf*;
}
location ~ ^/oo/file/([0-9a-zA-Z_\.]+)/([0-9a-zA-Z_]+)/(?:ver/([0-9a-zA-Z_]+)/)? {
root /usr/syno/synoman;
index index.cgi;
rewrite /oo/file/([0-9a-zA-Z_\.]+)/([0-9a-zA-Z_]+)/(?:ver/([0-9a-zA-Z_]+)/)? /webapi/entry.cgi?api=SYNO.Office.Node.Attachment&version=1&method=get&object_id="$1"&file_id="$2"&ver="$3" break;
include scgi_params;
scgi_pass synoscgi;
}
location ~ ^/(sh|oo)/sharing/ {
rewrite /(sh|oo)/sharing/(.*) /oo/r/$2 permanent;
}