
Security News
AI Agent Lands PRs in Major OSS Projects, Targets Maintainers via Cold Outreach
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.
A user-friendly CLI tool for seamless interaction with S3-compatible object storage. Manage files, directories, and buckets with intuitive commands.
一款轻量、高效的命令行工具,助您轻松管理本地与 S3 兼容的云对象存储服务。
stashx 是一款功能强大的跨平台命令行工具,旨在将您从繁琐的网页控制台操作中解放出来。通过它,开发者和团队可以更高效、更安全地在终端中管理云存储桶和文件,完美支持 AWS S3 及任何 S3 兼容的服务(如腾讯云 COS、阿里云 OSS 等)。
configure 命令轻松管理和切换不同环境(如 dev, staging, prod)的配置。push)、下载 (pull) 和删除 (rm)。push 和 pull 命令在未指定远程/本地路径时,可智能推断目标路径。push 和 pull 命令支持 --include 和 --exclude 选项,通过 Glob 模式精确控制文件。pull) 和删除 (rm) 操作中可使用 Glob 模式进行灵活的文件匹配。--recursive 标志轻松上传整个目录。push, pull, rm 等敏感操作前,使用 --dry-run 预览变更,确保万无一失。确保您已安装 Node.js (推荐 LTS 版本),然后执行以下命令进行全局安装:
npm install -g stashx
安装完成后,您就可以在终端的任何位置使用 stashx 命令了。
在使用前,您需要至少创建一个配置文件来存储云服务的凭证。
stashx configure set
工具会引导您输入以下信息:
default, work-cos)。ap-guangzhou)。https://cos.ap-guangzhou.myqcloud.com。https://<your-domain>/<object-key> 格式的链接。配置完成后,即可开始管理您的云存储。
列出所有存储桶:
stashx ls
列出默认存储桶中的对象:
# 如果您在配置文件中设置了 default bucket
stashx ls
# 或者手动指定存储桶
stashx ls --bucket my-bucket
上传一个本地文件夹到存储桶:
# 智能推断远程路径为 my-local-folder/
stashx push ./my-local-folder/ --bucket my-bucket --recursive
# 或者手动指定远程路径
stashx push ./my-local-folder/ remote-folder/ --bucket my-bucket --recursive
stashx configure - 管理配置文件stashx configure set <name>: 创建或更新一个配置文件。stashx configure list: 列出所有已保存的配置文件。stashx configure get <name>: 显示指定配置文件的详细信息。stashx configure delete <name>: 删除一个指定的配置文件。stashx ls [remote_prefix] - 列出存储桶或对象stashx ls
stashx ls --bucket <bucket-name>
stashx ls my-folder/ --bucket <bucket-name>
stashx push <local-path> [remote-key] - 上传文件或目录stashx push ./local-file.txt --bucket <bucket-name>
stashx push ./local-file.txt remote-file.txt --bucket <bucket-name>
stashx push ./local-dir/ --bucket my-bucket --recursive
stashx push ./local-dir/ remote-dir/ --bucket my-bucket --recursive
stashx push ./local-dir/ --bucket my-bucket --recursive --exclude "*.log,temp/**"
stashx push ./local-dir/ --bucket my-bucket --recursive --include "*.jpg,images/**"
stashx push ./local-dir/ remote-dir/ --bucket my-bucket --recursive --dry-run
stashx pull <remote-key> [local-path] - 下载对象stashx pull remote-file.txt --bucket <bucket-name>
stashx pull remote-file.txt ./local-file.txt --bucket <bucket-name>
stashx pull "logs/*.log" --bucket <bucket-name>
stashx pull "my-folder/**" --bucket my-bucket --exclude "*.tmp,cache/**"
stashx pull "my-folder/**" --bucket my-bucket --include "*.json,data/**"
stashx pull "logs/*.log" ./retrieved-logs/ --bucket <bucket-name> --dry-run
stashx rm <remote-key> - 删除对象stashx rm path/to/remote-file.txt --bucket <bucket-name>
stashx rm "images/old-*.jpg" --bucket <bucket-name>
stashx rm path/to/file.txt --bucket <bucket-name> --force
stashx rb <bucket-name> - 删除存储桶stashx rb <bucket-name>
--profile, -p <name>: 使用指定的配置文件 (默认为 default)。--bucket, -b <name>: 指定本次操作的目标存储桶。--recursive, -r: 递归操作目录 (仅 push 命令支持)。--exclude, -e <patterns...>: 排除符合 Glob 模式的文件或对象。--include, -i <patterns...>: 只包含符合 Glob 模式的文件或对象。--dry-run: 预览操作,不实际执行。--help: 显示帮助信息。本项目基于 MIT License 开源。
FAQs
A user-friendly CLI tool for seamless interaction with S3-compatible object storage. Manage files, directories, and buckets with intuitive commands.
We found that stashx demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.

Research
/Security News
Chrome extension CL Suite by @CLMasters neutralizes 2FA for Facebook and Meta Business accounts while exfiltrating Business Manager contact and analytics data.

Security News
After Matplotlib rejected an AI-written PR, the agent fired back with a blog post, igniting debate over AI contributions and maintainer burden.