LC044 / LC044/TrailSnap

[Feature] 网络文件夹扫描:支持云盘与网络协议接入

Open
#43 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement status: candidate
Dominant language
Python
Stars
739
Forks
97
Avg merge
10h 3m
Merged PRs (30d)
82

Description

背景与目标

用户的照片可能分散存储在各种网盘和网络存储中,如百度网盘、阿里云盘、OneDrive、SMB 共享目录、WebDAV 服务器等。打通这些数据源,让 TrailSnap 能够统一管理和分析跨平台的照片资产。

功能范围

云盘服务
  • 百度网盘(开放 API)
  • 阿里云盘(OAuth2.0)
  • OneDrive(Microsoft Graph API)
  • Google Drive
  • Dropbox
网络文件协议
  • SMB/CIFS(Windows 网络共享、NAS 常用)
  • WebDAV(许多 NAS 和云服务支持)
  • FTP/SFTP
核心模块
  1. 连接管理 - OAuth2.0 授权流程、账号凭据安全存储、连接状态检测
  2. 文件扫描 - 递归扫描、仅扫描图片、增量扫描、进度展示
  3. 元数据提取 - 文件名、路径、EXIF、GPS、与本地库去重(文件哈希)
  4. 预览与导入 - 缩略图预览、选择性导入、仅索引或复制到本地

技术方案

Storage Adapter Layer
├── BaiduPCS / Aliyun / OneDrive / Google Drive / Dropbox
├── SMB / WebDAV / SFTP
↓
Unified File Indexer(文件列表抽象层、去重检测、元数据标准化)
↓
TrailSnap Photo Store(导入或仅保持引用)

优先级

- 大幅扩展数据源,提升应用价值

相关文档

设计文档:/docs/dev/feature-proposals


This issue tracks the feature proposal for network folder/cloud storage scanning.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the design documents under /docs/dev/feature-proposals and compare them with the proposed Storage Adapter Layer and Unified File Indexer. The proposal covers multiple cloud services and network protocols, authentication, scanning, metadata, deduplication, previews, and import behavior; scope and an initial implementation target would need to be defined before work can be considered done.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, cloud, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.