release: v1.1.3 — dual-domain separation and URL options
Add admin/image domain separation with host isolation middleware, optional hide-folder public URLs, GitHub release update check, and Lucky/Nginx deployment docs. Switch license to GPL-3.0-only.
This commit is contained in:
1 parent
55effa204e
commit
d8c1303c32
41 files changed
+2170
-299
No files matched your search
+30
-4
@@ -83,6 +83,17 @@
|
||||
"passwordPlaceholder": "Set login password",
|
||||
"confirmPlaceholder": "Enter password again",
|
||||
"allowRegistration": "Allow user registration",
|
||||
"domainSeparation": "Separate admin and image domains",
|
||||
"domainSeparationHint": "Admin and API use the site URL; image links use a dedicated image URL",
|
||||
"domainSeparationProxyHint": "Point both domains to this host and reverse-proxy to port 6892 (Nginx, Caddy, NPM, etc.)",
|
||||
"domainSeparationProxyExample": "View example",
|
||||
"siteBaseUrl": "Site URL",
|
||||
"siteBaseUrlHint": "No trailing slash; admin UI, API docs, and Twikoo upload endpoint",
|
||||
"siteBaseUrlPlaceholder": "https://admin.example.com",
|
||||
"imageBaseUrl": "Image URL",
|
||||
"imageBaseUrlHint": "No trailing slash; public image link prefix",
|
||||
"imageBaseUrlPlaceholder": "https://pic.example.com",
|
||||
"domainSeparationInvalid": "Enter valid site and image URLs with different hostnames",
|
||||
"migrateSubmit": "Complete migration",
|
||||
"initSubmit": "Create and continue",
|
||||
"migrateSuccess": "Migration complete",
|
||||
@@ -176,10 +187,22 @@
|
||||
"accessControl": "Access control",
|
||||
"refererHint": "Referer hotlink protection; comma-separated hostnames, empty = no restriction",
|
||||
"refererPlaceholder": "example.com, www.example.com",
|
||||
"linkGeneration": "Link generation",
|
||||
"imageBaseUrlHint": "Public URL prefix for generated links; use your public domain behind a reverse proxy",
|
||||
"linkGeneration": "Domains & links",
|
||||
"domainSeparationActive": "Domain separation enabled: image host serves images only; site host serves admin and API",
|
||||
"siteBaseUrl": "Site URL",
|
||||
"siteBaseUrlHint": "No trailing slash; admin UI, API docs, and Twikoo upload endpoint",
|
||||
"siteBaseUrlPlaceholder": "https://admin.example.com",
|
||||
"siteBaseUrlActive": "Active: {url}",
|
||||
"imageBaseUrl": "Image URL",
|
||||
"imageBaseUrlHint": "No trailing slash; public image link prefix",
|
||||
"imageBaseUrlSingleHint": "No trailing slash; leave empty to use the current request host; single-domain setups do not need a site URL",
|
||||
"imageBaseUrlPlaceholder": "https://pic.example.com",
|
||||
"imageBaseUrlActive": "Active: {url}",
|
||||
"hideFolderInUrl": "Hide folder in image URLs",
|
||||
"hideFolderInUrlHint": "Links become /2026/08/file.webp without the images/ prefix; legacy full paths still work",
|
||||
"hideFolderConfirmTitle": "Hide folder prefix in URLs?",
|
||||
"hideFolderConfirmDesc": "If two folders share the same year/month/filename (e.g. images/2026/08/a.webp and blog/2026/08/a.webp), the short URL /2026/08/a.webp resolves to the images folder first—you may get the wrong file. Enable only with a single upload folder or globally unique filenames.",
|
||||
"hideFolderConfirmEnable": "Enable anyway",
|
||||
"badgeEnv": ".env",
|
||||
"badgeSaved": "Saved",
|
||||
"badgeDefault": "Default",
|
||||
@@ -189,6 +212,7 @@
|
||||
"tokenNone": "Not configured",
|
||||
"apiTokenLine": "API Token · {source} ·",
|
||||
"viewReleases": "View releases",
|
||||
"updateAvailable": "Update available: {version}",
|
||||
"unsavedChanges": "Unsaved changes",
|
||||
"manageToken": "Manage token",
|
||||
"envOverride": "Overridden by environment variable; cannot edit in UI",
|
||||
@@ -390,12 +414,14 @@
|
||||
"upload": {
|
||||
"title": "Upload images",
|
||||
"descAdmin": "Upload one or more images. Use image field; folder creates directory if missing. Also accepts file, files, type.",
|
||||
"descUser": "Upload one or more images via image field. Also accepts file, files. Stored under images/."
|
||||
"descUser": "Upload one or more images via image field. Also accepts file, files. Stored under images/.",
|
||||
"curlCustomFolder": "# Upload to custom folder blog/"
|
||||
},
|
||||
"list": {
|
||||
"title": "List images",
|
||||
"descAdmin": "Paginated gallery; optional folder filter. limit default 20, max 100.",
|
||||
"descUser": "Paginated list of your images. limit default 20, max 100."
|
||||
"descUser": "Paginated list of your images. limit default 20, max 100.",
|
||||
"curlFolderFilter": "# Filter by folder"
|
||||
},
|
||||
"search": {
|
||||
"title": "Search images",
|
||||
|
||||
+30
-4
@@ -83,6 +83,17 @@
|
||||
"passwordPlaceholder": "设置登录密码",
|
||||
"confirmPlaceholder": "再次输入密码",
|
||||
"allowRegistration": "允许其他用户注册",
|
||||
"domainSeparation": "启用后台与图片域名分离",
|
||||
"domainSeparationHint": "管理后台与 API 使用网站域名,图片直链使用独立图片域名",
|
||||
"domainSeparationProxyHint": "需将两个域名解析到本机,并通过 Nginx、Caddy、NPM 等反代到端口 6892",
|
||||
"domainSeparationProxyExample": "查看示例",
|
||||
"siteBaseUrl": "网站域名",
|
||||
"siteBaseUrlHint": "末尾不加 /;管理后台、API 文档与 Twikoo 上传地址",
|
||||
"siteBaseUrlPlaceholder": "https://admin.example.com",
|
||||
"imageBaseUrl": "图片域名",
|
||||
"imageBaseUrlHint": "末尾不加 /;生成图片直链地址",
|
||||
"imageBaseUrlPlaceholder": "https://pic.example.com",
|
||||
"domainSeparationInvalid": "请填写有效的网站域名与图片域名,且两者不能相同",
|
||||
"migrateSubmit": "完成迁移",
|
||||
"initSubmit": "创建并进入",
|
||||
"migrateSuccess": "账号迁移完成",
|
||||
@@ -176,10 +187,22 @@
|
||||
"accessControl": "访问控制",
|
||||
"refererHint": "Referer 防盗链,逗号分隔允许引用的域名,留空不限制",
|
||||
"refererPlaceholder": "example.com, www.example.com",
|
||||
"linkGeneration": "链接生成",
|
||||
"imageBaseUrlHint": "生成图片链接的 URL 前缀,内网访问建议填公网域名",
|
||||
"linkGeneration": "域名与链接",
|
||||
"domainSeparationActive": "已启用域名分离:图片域仅出图,管理域提供后台与 API",
|
||||
"siteBaseUrl": "网站域名",
|
||||
"siteBaseUrlHint": "末尾不加 /;管理后台、API 文档与 Twikoo 上传地址",
|
||||
"siteBaseUrlPlaceholder": "https://admin.example.com",
|
||||
"siteBaseUrlActive": "当前生效:{url}",
|
||||
"imageBaseUrl": "图片域名",
|
||||
"imageBaseUrlHint": "末尾不加 /;生成图片直链地址",
|
||||
"imageBaseUrlSingleHint": "末尾不加 /;留空则使用当前访问域名;单域名部署无需填写网站域名",
|
||||
"imageBaseUrlPlaceholder": "https://pic.example.com",
|
||||
"imageBaseUrlActive": "当前生效:{url}",
|
||||
"hideFolderInUrl": "隐藏直链目录前缀",
|
||||
"hideFolderInUrlHint": "开启后链接为 /2026/08/xxx.webp,不含 images/ 等目录名;旧链接仍可用",
|
||||
"hideFolderConfirmTitle": "确认隐藏目录前缀?",
|
||||
"hideFolderConfirmDesc": "开启后不同目录下若存在相同年月与文件名(如 images/2026/08/a.webp 与 blog/2026/08/a.webp),短链接 /2026/08/a.webp 将优先解析到 images 目录,可能访问到非预期的图片。仅单一上传目录或文件名全局唯一时建议开启。",
|
||||
"hideFolderConfirmEnable": "仍要开启",
|
||||
"badgeEnv": ".env",
|
||||
"badgeSaved": "已保存",
|
||||
"badgeDefault": "默认",
|
||||
@@ -189,6 +212,7 @@
|
||||
"tokenNone": "未配置",
|
||||
"apiTokenLine": "API Token · {source} ·",
|
||||
"viewReleases": "查看发行版",
|
||||
"updateAvailable": "有新版本 {version}",
|
||||
"unsavedChanges": "有未保存的更改",
|
||||
"manageToken": "管理 Token",
|
||||
"envOverride": "该项已由环境变量覆盖,无法在后台修改",
|
||||
@@ -390,12 +414,14 @@
|
||||
"upload": {
|
||||
"title": "上传图片",
|
||||
"descAdmin": "上传单张或多张图片。字段 image 传图片,folder 指定目录(不存在则自动创建);仍兼容 file、files、type。",
|
||||
"descUser": "上传单张或多张图片。字段 image 传图片;仍兼容 file、files。图片固定存入 images/ 目录。"
|
||||
"descUser": "上传单张或多张图片。字段 image 传图片;仍兼容 file、files。图片固定存入 images/ 目录。",
|
||||
"curlCustomFolder": "# 上传到自定义目录 blog/"
|
||||
},
|
||||
"list": {
|
||||
"title": "获取图片列表",
|
||||
"descAdmin": "分页列出图库,folder 可筛选目录,limit 默认 20、最大 100。",
|
||||
"descUser": "分页列出您的图库,limit 默认 20、最大 100。"
|
||||
"descUser": "分页列出您的图库,limit 默认 20、最大 100。",
|
||||
"curlFolderFilter": "# 按目录筛选"
|
||||
},
|
||||
"search": {
|
||||
"title": "搜索图片",
|
||||
|
||||
Reference in new issue
Block a user