{"id":13457277,"url":"https://github.com/Kuingsmile/PicList","last_synced_at":"2025-03-24T12:31:14.887Z","repository":{"id":91030592,"uuid":"584656916","full_name":"Kuingsmile/PicList","owner":"Kuingsmile","description":"An image upload and manage tool, base on PicGo","archived":false,"fork":false,"pushed_at":"2024-05-23T01:23:38.000Z","size":14828,"stargazers_count":1652,"open_issues_count":0,"forks_count":69,"subscribers_count":12,"default_branch":"dev","last_synced_at":"2024-05-23T03:01:14.287Z","etag":null,"topics":["alioss","electron","element-plus","github","imgur","imgur-uploader","picgo","qiniu","s3","smms","tencent-cos","upyun","vue","webdav","webdav-client"],"latest_commit_sha":null,"homepage":"https://piclist.cn","language":"TypeScript","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/Kuingsmile.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"supported_format.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://paypal.me/Kuingsmile"]}},"created_at":"2023-01-03T07:10:02.000Z","updated_at":"2024-06-02T04:38:38.152Z","dependencies_parsed_at":"2024-02-07T14:48:10.634Z","dependency_job_id":"4c1f00bf-84a4-4a4a-b37a-55ba1927a43a","html_url":"https://github.com/Kuingsmile/PicList","commit_stats":null,"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuingsmile%2FPicList","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuingsmile%2FPicList/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuingsmile%2FPicList/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuingsmile%2FPicList/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kuingsmile","download_url":"https://codeload.github.com/Kuingsmile/PicList/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221967390,"owners_count":16909097,"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":["alioss","electron","element-plus","github","imgur","imgur-uploader","picgo","qiniu","s3","smms","tencent-cos","upyun","vue","webdav","webdav-client"],"created_at":"2024-07-31T08:01:38.150Z","updated_at":"2025-03-24T12:31:14.873Z","avatar_url":"https://github.com/Kuingsmile.png","language":"TypeScript","funding_links":["https://paypal.me/Kuingsmile"],"categories":["TypeScript","Vue",":package: Project using PicGo-Core"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"https://imgx.horosama.com/admin_uploads/2022/10/2022_10_05_633d79e401694.png\" alt=\"PicList Logo\"\u003e\r\n  \u003ch1\u003ePicList\u003c/h1\u003e\r\n  \u003cp\u003e\u003cstrong\u003ePowerful cloud storage and image hosting management tool\u003c/strong\u003e\u003c/p\u003e\r\n  \u003ca href=\"https://github.com/Kuingsmile/PicList/actions\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/code%20style-standard-green.svg?style=flat-square\" alt=\"Code Style\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/Kuingsmile/PicList/releases\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/github/downloads/Kuingsmile/PicList/total.svg?style=flat-square\" alt=\"Downloads\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/Kuingsmile/PicList/releases/latest\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/github/release/Kuingsmile/PicList.svg?style=flat-square\" alt=\"Release\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/div\u003e\r\n\r\n![Repository Stats](https://repobeats.axiom.co/api/embed/9e4ec90b7b50f8e9c10d77439e49e26b303fabed.svg \"Repobeats analytics image\")\r\n\r\n[简体中文](https://github.com/Kuingsmile/PicList/blob/dev/README_cn.md) | English\r\n\r\n## 📑 Table of Contents\r\n\r\n- [📑 Table of Contents](#-table-of-contents)\r\n- [Introduction](#introduction)\r\n- [How to Migrate from PicGo](#how-to-migrate-from-picgo)\r\n- [PicList-Core](#piclist-core)\r\n- [Key Features](#key-features)\r\n- [Integration Guides](#integration-guides)\r\n  - [VSCode Integration](#vscode-integration)\r\n  - [Typora Integration](#typora-integration)\r\n    - [**Version 1.6.0-dev and above**](#version-160-dev-and-above)\r\n    - [**Version \\\u003c 1.6.0-dev**](#version--160-dev)\r\n  - [Obsidian Integration](#obsidian-integration)\r\n  - [Docker Integration](#docker-integration)\r\n    - [Using docker run](#using-docker-run)\r\n    - [Using docker-compose](#using-docker-compose)\r\n- [Supported Platforms](#supported-platforms)\r\n- [Download and Install](#download-and-install)\r\n  - [Direct Download](#direct-download)\r\n  - [Scoop (Windows)](#scoop-windows)\r\n  - [Homebrew (macOS)](#homebrew-macos)\r\n  - [Mac Special Instructions](#mac-special-instructions)\r\n- [Screenshots](#screenshots)\r\n- [Development](#development)\r\n  - [Prerequisites](#prerequisites)\r\n  - [Getting Started](#getting-started)\r\n  - [Development Mode](#development-mode)\r\n  - [Production Build](#production-build)\r\n- [Related Projects](#related-projects)\r\n- [Community](#community)\r\n- [License](#license)\r\n- [Star Me](#star-me)\r\n\r\n## Introduction\r\n\r\nPicList is an efficient cloud storage and image hosting management tool built upon PicGo with extensive enhancements. It combines complete image hosting capabilities with comprehensive cloud storage management features, offering:\r\n\r\n- All original PicGo functionality plus compatibility with most PicGo plugins\r\n- Extended built-in image hosting platforms (WebDav, local hosting, SFTP, etc.)\r\n- Cloud-synchronized file deletion in album view\r\n- Comprehensive cloud storage management with file operations, search, and previews\r\n- Built-in image processing tools (watermarks, compression, scaling, rotation, format conversion)\r\n\r\n## How to Migrate from PicGo\r\n\r\nPicList `V1.5.0` and above provide a `one-click migration` function. Enter the `Settings` page, click the button next to `Migrate from PicGo`, then restart the application for changes to take effect.\r\n\r\n## PicList-Core\r\n\r\nPicList uses a modified version of PicGo-Core called [PicList-core](https://github.com/Kuingsmile/PicList-Core), adapted for cloud deletion and extended with features like:\r\n\r\n- Watermark addition\r\n- Image compression, scaling, rotation, and format conversion\r\n- CLI command support\r\n- Built-in upload server via `picgo-server` command\r\n\r\nTo use PicList-core separately, visit [GitHub repo](https://github.com/Kuingsmile/PicList-Core) or the [npm package](https://www.npmjs.com/package/piclist).\r\n\r\n## Key Features\r\n\r\n- **Complete Compatibility**: Works with Typora, Obsidian, and most PicGo plugins\r\n- **Extended Platform Support**: Added WebDav, Lsky Pro, local hosting, SFTP, and account-based Imgur uploads\r\n- **Cloud-Sync Album**: Delete images from storage alongside local entries\r\n- **Advanced Album Features**: Search, sort, and batch URL modification\r\n- **Built-in Image Tools**: Add watermarks, compress, scale, rotate, and convert formats\r\n- **Form Upload**: Share across multiple computers\r\n- **Config Synchronization**: Save settings to GitHub/Gitee/Gitea repositories\r\n- **Cloud Management**: Browse directories, search files, batch operations, and more\r\n- **Multi-format Previews**: View images, videos, text files, and Markdown files (see [supported formats](https://github.com/Kuingsmile/PicList/blob/dev/supported_format.md))\r\n- **Batch Operations**: Rename cloud files with regular expressions\r\n- **Link Sharing**: Generate pre-signed URLs for private storage buckets\r\n- **Usability Improvements**: Auto-updates, multiple startup modes, UI enhancements, and more\r\n\r\n## Integration Guides\r\n\r\n### VSCode Integration\r\n\r\nInstall the [VS-PicList](https://marketplace.visualstudio.com/items?itemName=Kuingsmile.vs-piclist) plugin, which integrates directly with PicList desktop software and supports a variety of uploads and cloud deletion operations in VSCode.\r\n\r\n### Typora Integration\r\n\r\n#### **Version 1.6.0-dev and above**\r\n\r\n**Typora 1.6.0-dev and later versions natively support PicList.** For versions below 1.10.6, set Typora's language to Chinese.\r\n\r\nIf your Typora version is below 1.8.0, set both the PicList and PicGo (app) upload service paths to your PicList installation path.\r\n\r\n[Typora download link](https://typora.io/releases/all)\r\n\r\n#### **Version \u003c 1.6.0-dev**\r\n\r\nFor Windows, in Typora settings:\r\n1. Set upload service to `PicGo(app)`\r\n2. Set `PicGo path` to your PicList installation path\r\n\r\n![Typora configuration](https://user-images.githubusercontent.com/96409857/226522101-b3531b7b-534c-4149-b527-8738d4ebb041.png)\r\n\r\nAlternatively, install PicList-core with `npm install piclist` and set the upload service to `PicGo-Core (command line)`.\r\n\r\n### Obsidian Integration\r\n\r\n1. Install the \"Image auto upload Plugin\" from community plugins\r\n2. Set the default uploader to PicGo(app)\r\n3. Configure PicGo server as `http://127.0.0.1:36677/upload`\r\n4. For cloud deletion support, set the deletion interface to `http://127.0.0.1:36677/delete`\r\n\r\n![Obsidian configuration](https://user-images.githubusercontent.com/96409857/226522718-8378c480-9fb4-4785-87e1-d59808862016.png)\r\n\r\n### Docker Integration\r\n\r\n#### Using docker run\r\n\r\n```bash\r\ndocker run -d \\\r\n  --name piclist \\\r\n  --restart always \\\r\n  -p 36677:36677 \\\r\n  -v \"./piclist:/root/.piclist\" \\\r\n  kuingsmile/piclist:latest \\\r\n  node /usr/local/bin/picgo-server -k piclist123456\r\n```\r\nChange `./piclist` to your config directory path and `piclist123456` to your preferred secret key.\r\n\r\n#### Using docker-compose\r\n\r\n```yaml\r\nversion: '3.3'\r\n\r\nservices:\r\n  node:\r\n    image: 'kuingsmile/piclist:latest'\r\n    container_name: piclist\r\n    restart: always\r\n    ports:\r\n      - 36677:36677\r\n    volumes:\r\n      - './piclist:/root/.piclist'\r\n    command: node /usr/local/bin/picgo-server -k piclist123456\r\n```\r\n\r\nRun with `docker-compose up -d`\r\n\r\n## Supported Platforms\r\n\r\n|          Platform          | Album Cloud Deletion | Cloud Storage Management |\r\n| :------------------------: | :------------------: | :----------------------: |\r\n|       Built-in AList       |          ✔️           |            ✔️             |\r\n|           SM.MS            |          ✔️           |            ✔️             |\r\n|           Github           |          ✔️           |            ✔️             |\r\n|           Imgur            |          ✔️           |            ✔️             |\r\n|       Tencent COS V5       |          ✔️           |            ✔️             |\r\n|         Aliyun OSS         |          ✔️           |            ✔️             |\r\n|           Upyun            |          ✔️           |            ✔️             |\r\n|           Qiniu            |          ✔️           |            ✔️             |\r\n| S3 API compatible platform |          ✔️           |            ✔️             |\r\n|           WebDAV           |          ✔️           |            ✔️             |\r\n|           Local            |          ✔️           |            ✔️             |\r\n|       Built-in SFTP        |          ✔️           |            ✔️             |\r\n|         Doge Cloud         |          ✔️           |            ✔️             |\r\n|    PicList(Lasso-Doll)     |          ✔️           |            ✔️             |\r\n|          Lsky Pro          |          ✔️           |            ✔️             |\r\n|    Custom API platform     |          ×           |            ×             |\r\n\r\n**Supported Plugins with Cloud Deletion:**\r\n\r\n- [picgo-plugin-s3](https://github.com/wayjam/picgo-plugin-s3)\r\n- [picgo-plugin-alist](https://github.com/jinzhi0123/picgo-plugin-alist)\r\n- [picgo-plugin-huawei-uploader](https://github.com/YunfengGao/picgo-plugin-huawei-uploader)\r\n- [picgo-plugin-dogecloud](https://github.com/w4j1e/picgo-plugin-dogecloud)\r\n\r\n## Download and Install\r\n\r\n### Direct Download\r\n\r\n[Download the latest release](https://github.com/Kuingsmile/PicList/releases/latest)\r\n\r\n### Scoop (Windows)\r\n\r\n```bash\r\nscoop bucket add lemon https://github.com/hoilc/scoop-lemon\r\nscoop install lemon/piclist\r\n```\r\n\r\n### Homebrew (macOS)\r\n\r\n```bash\r\n# Install\r\nbrew install piclist --cask\r\n\r\n# Uninstall\r\nbrew uninstall piclist\r\n```\r\n\r\n### Mac Special Instructions\r\n\r\nIf you encounter \"file is damaged\" messages or have issues opening on macOS, upgrade to PicList V1.4.1 or above. All Mac installation packages since V1.4.1 are signed with a developer certificate and won't trigger \"malicious software\" warnings.\r\n\r\n## Screenshots\r\n\r\n![Upload interface](https://github.com/Kuingsmile/PicList/assets/96409857/1b76c0c4-753c-4d66-aa24-f805f9c2da15)\r\n![Album view](https://github.com/Kuingsmile/PicList/assets/96409857/56cf838a-a2eb-40af-96d4-1ffea25400af)\r\n![Cloud management](https://github.com/Kuingsmile/PicList/assets/96409857/bca7688a-e07f-4e80-9edd-c224298fa8ab)\r\n![Settings](https://github.com/Kuingsmile/PicList/assets/96409857/3e48e03d-b0b2-49e2-92a6-a52e0884677d)\r\n![Image editing](https://github.com/Kuingsmile/PicList/assets/96409857/29de0046-1aef-4b28-95a6-b26c6e297c6f)\r\n![File preview](https://github.com/Kuingsmile/PicList/assets/96409857/e1c04488-2d3a-4e8f-aa26-ce41d0a383e2)\r\n\r\n## Development\r\n\r\n### Prerequisites\r\n\r\n1. Node.js and Git environment\r\n2. Knowledge of npm\r\n3. Xcode for Mac or Visual Studio for Windows\r\n\r\n### Getting Started\r\n\r\n```bash\r\ngit clone https://github.com/Kuingsmile/PicList.git\r\ncd PicList\r\nyarn  # Do not use npm install\r\n```\r\n\r\nTo contribute, see the [contribution guide](https://github.com/Kuingsmile/PicList/blob/dev/CONTRIBUTING_EN.md).\r\n\r\n### Development Mode\r\n\r\n```bash\r\nyarn run dev\r\n```\r\n\r\nDevelopment mode has hot-reload but may be unstable. If the process crashes, exit with `Ctrl+C` and restart.\r\n\r\nNote: The PicList application icon will appear in your taskbar/system tray while in development mode.\r\n\r\n### Production Build\r\n\r\n```bash\r\nyarn run build\r\n```\r\n\r\nThe built installer will be available in the `dist_electron` directory.\r\n\r\nFor network issues with electron-builder, set the mirror:\r\n\r\n**Linux/macOS:**\r\n```bash\r\nexport ELECTRON_MIRROR=\"https://npmmirror.com/mirrors/electron/\"\r\n```\r\n\r\n**Windows:**\r\n```cmd\r\nset ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/\r\n```\r\n\r\n## Related Projects\r\n\r\n- [PicList-Core](https://github.com/Kuingsmile/PicList-Core): Core library based on PicGo-Core for CLI and development\r\n- [PicHoro](https://github.com/Kuingsmile/PicHoro): Mobile app companion for PicList\r\n- [VS-PicList](https://github.com/Kuingsmile/vs-PicList/): VSCode plugin for PicList\r\n\r\n## Community\r\n\r\nJoin our Telegram group for questions and discussion:\r\n\r\n[PicList TG Group](https://t.me/+rq8y7wsj7Pg5ZTg1)\r\n\r\n![TG QR Code](https://pichoro.msq.pub/wechat.png)\r\n\r\n## License\r\n\r\nThis project is open source under the MIT license.\r\n\r\n[MIT](https://opensource.org/licenses/MIT)\r\n\r\nCopyright (c) 2017-present Molunerfinn  \r\nCopyright (c) 2023-present Kuingsmile\r\n\r\n## Star Me\r\n\r\n[![GitHub stars](https://img.shields.io/github/stars/kuingsmile/PicList?logo=github\u0026style=social)](https://github.com/kuingsmile/PicList/stargazers)\r\n\r\n[![Stargazers over time](https://starchart.cc/kuingsmile/PicList.svg)](https://github.com/kuingsmile/PicList/stargazers)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKuingsmile%2FPicList","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKuingsmile%2FPicList","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKuingsmile%2FPicList/lists"}