{"id":21212185,"url":"https://github.com/yanranxiaoxi/smooth-files-gallery","last_synced_at":"2025-07-10T09:31:31.491Z","repository":{"id":38354370,"uuid":"339712818","full_name":"yanranxiaoxi/Smooth-Files-Gallery","owner":"yanranxiaoxi","description":"以最省心的方式搭建文件共享库","archived":false,"fork":false,"pushed_at":"2022-09-30T07:25:50.000Z","size":4610,"stargazers_count":39,"open_issues_count":0,"forks_count":17,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-06T19:57:05.178Z","etag":null,"topics":["file-sharing","php","single-file"],"latest_commit_sha":null,"homepage":"https://demo.smoothfilesgallery.soraharu.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yanranxiaoxi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-17T12:13:09.000Z","updated_at":"2023-03-06T19:57:05.179Z","dependencies_parsed_at":"2022-07-14T03:20:42.028Z","dependency_job_id":null,"html_url":"https://github.com/yanranxiaoxi/Smooth-Files-Gallery","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanranxiaoxi%2FSmooth-Files-Gallery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanranxiaoxi%2FSmooth-Files-Gallery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanranxiaoxi%2FSmooth-Files-Gallery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanranxiaoxi%2FSmooth-Files-Gallery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yanranxiaoxi","download_url":"https://codeload.github.com/yanranxiaoxi/Smooth-Files-Gallery/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225629733,"owners_count":17499295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file-sharing","php","single-file"],"created_at":"2024-11-20T21:08:07.084Z","updated_at":"2025-07-10T09:31:31.486Z","avatar_url":"https://github.com/yanranxiaoxi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smooth Files Gallery\n\n⭐ 以最省心的方式搭建文件共享库 ⭐\n\n[![jsDelivr](https://data.jsdelivr.com/v1/package/npm/smooth-files-gallery/badge?style=rounded)](https://www.jsdelivr.com/package/npm/smooth-files-gallery)\n\n## ✨ 特性\n\n- 1️⃣ 单个文件，只需将它放入服务器上的任何目录中\n- 🔎 实时搜索和排序文件\n- 📃 可实时切换的高级列表和库布局\n- 🗺️ 预览照片的 IPTC、EXIF 和 GPS 地图\n- ☁️ 使用缓存机制和 CDN 快速加载\n- 🌲 高级递归导航显示整个目录结构\n- ✒️ 出色的代码高亮，用于查看和编辑代码格式\n- 🔐 登录以保护目录访问\n- 🔤 多语言界面支持，自动检测浏览器语言\n- 📝 在线上传、下载、编辑文件\n- 📁 压缩文件夹打包下载（Zip）\n- 🌎️ 全景图预览\n- 🛠 更多特性开发中\n\n## ✔️ 要求\n\n- PHP 5.5 或更高版本\n- PHP 插件\n  - 启用 PHP [GD](https://www.php.net/manual/book.image.php) 拓展以调整图像大小\n  - 启用 PHP [EXIF](https://www.php.net/manual/book.exif.php) 拓展以读取图像数据\n  - PHP `iptcparse()` 读取图像 IPTC 元数据\n  - PHP `ZipArchive` 用于在下载文件夹中的所有文件时压缩存档\n  - PHP `mime_content_type()` 或 `finfo_file()` 来获取服务器上的文件 MIME 类型（安全性）\n  - PHP `exif_imagetype()` 来验证上传的图像（安全性）\n  - PHP `session_start()` 并正确配置了 `session_save_path` 登录机制\n  - PHP `ini_get()` 和 `ini_set()` 用于各种功能\n  - FFmpeg 命令行工具以及用于视频缩略图的 PHP `exec()`\n  - 足够的 PHP `memory_limit` 来调整图像大小\n  - PHP `file_uploads` 启用了上传机制\n  - PHP `upload_max_filesize` 与最大文件上传大小匹配\n  - PHP [mbstring](https://www.php.net/manual/book.mbstring.php)，用于包含具有多字节字符编码的元数据的图像\n- 支持所有 **现代浏览器**（无法在 Internet Explorer 上运行）\n- 虽然本应用是本地的单个文件，但它仍然需要 **互联网连接** 以从 CDN 加载 JavaScript 与 CSS\n\n## ⚙️ 部署\n\n1. 下载 [index.php](https://gitlab.soraharu.com/XiaoXi/Smooth-Files-Gallery/-/raw/master/index.php?inline=false) 并上传至服务器\n2. 你已经完成了部署的所有步骤，现在即可开始使用 😆\n\n## ⚙️ 容器部署\n\n```bash\npodman container run \\\n    --detach \\\n    --name=files-gallery \\\n    --quiet \\\n    --replace \\\n    --restart=always \\\n    --tls-verify \\\n    --volume=/dir/files-gallery/config/:/var/www/html/_files/config/ \\\n    --volume=/dir/files-gallery/plugins/:/var/www/html/_files/plugins/ \\\n    --volume=/dir/files-gallery/files/:/var/www/files/ \\\n    --volume=/dir/files-gallery/cache/:/var/www/html/_files/cache/ \\\n    docker.io/yanranxiaoxi/smooth-files-gallery:latest\n```\n\n请为 `/dir/files-gallery/config/` 和 `/dir/files-gallery/cache/` 目录赋予写入权限。如若希望使用文件上传功能，则 `/dir/files-gallery/files/` 目录也需要写入权限。\n\n## 📜 开源许可\n\n本项目支持个人及非商业社会团体免费使用所有功能（不可删除授权窗口）。\n\n个人（支持个人商用）及非商业社会团体可支付 **[$2.99]** 获取永久使用授权。\n\n商业用途企业需支付 **[$79]** 以获取永久使用授权。\n\n用于开源项目及公益组织可使用以下授权码：\n\n```\nF1-3DOE-FKI4-JMQM-JHUT-1SVV-G0J1\n```\n\n该授权码并非永久可用，建议发送邮件请求获取免费的专属使用授权。\n\n基于 [MIT License](https://choosealicense.com/licenses/mit/) 许可进行开源。但包含附加条件，未获取永久使用授权的个人、团体 **不属于** 许可的开源对象。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanranxiaoxi%2Fsmooth-files-gallery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyanranxiaoxi%2Fsmooth-files-gallery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanranxiaoxi%2Fsmooth-files-gallery/lists"}