Panda1847/social-media-downloader
GitHub: Panda1847/social-media-downloader
一款跨平台命令行工具,整合多种下载引擎,支持从 20 多个社交媒体平台批量抓取图文视频内容和元数据。
Stars: 2 | Forks: 0
# 📱 社交媒体下载器






**一个强大的命令行工具,用于从 20 多个社交媒体平台下载内容**
[功能](#-features) • [安装](#-installation) • [使用](#-usage) • [文档](#-documentation) • [贡献](#-contributing)
## 🌟 概述
Social Media Downloader 是一款专业级的开源工具,专为 Android (Termux) 和 Linux 系统设计。它提供了一个简化的命令行界面,用于从主要社交媒体平台下载图片、视频、快拍(Stories)和元数据——**无需图形界面**。
该项目基于 `gallery-dl` 和 `instaloader` 等行业标准工具构建,为普通用户和 OSINT 专业人士提供了直观的菜单系统和自动化工作流程。
### ✨ 为什么选择这个工具?
- 🚀 **支持 20+ 平台** - Instagram, Facebook, TikTok, Twitter, Reddit 等
- 📱 **移动优先设计** - 通过 Termux 针对 Android 设备进行了优化
- 🎯 **无需 GUI** - 纯命令行界面
- 🔒 **注重隐私** - 所有凭据均存储在本地
- ⚡ **快速高效** - 支持断点续传的并行下载
- 🎨 **用户友好** - 带有彩色输出的交互式菜单
- 📦 **一键设置** - 自动化安装脚本
- 🔧 **高度可配置** - 广泛的自定义选项
## 🎯 功能
### 核心功能
| 功能 | 描述 |
|---------|-------------|
| **多平台支持** | 从 Instagram, Facebook, TikTok, Twitter, Reddit, Tumblr 和 20 多个其他网站下载 |
| **内容类型** | 照片、视频、快拍、Reels、IGTV、精选集、头像等 |
| **元数据提取** | 说明文字、评论、地理标签、时间戳、点赞数和用户信息 |
| **身份验证** | 支持登录以访问私密档案和受限内容 |
| **批量处理** | 同时从多个账户或 URL 下载 |
| **断点续传** | 自动继续中断的下载 |
| **智能检测** | 自动检测用户名变更 |
### 平台特定功能
#### 📸 Instagram
- ✅ 帖子 (照片 & 视频)
- ✅ 快拍 & 精选集
- ✅ Reels & IGTV
- ✅ 头像
- ✅ 评论 & 地理标签
- ✅ 粉丝/关注列表
- ✅ 私密档案支持
#### 📘 Facebook
- ✅ 公开照片
- ✅ 相册
- ✅ 头像
- ✅ 视频
- ⚠️ 受限于 Facebook 的限制
#### 🎵 TikTok
- ✅ 用户视频
- ✅ 档案信息
- ✅ 趋势内容
#### 🐦 Twitter/X
- ✅ 媒体下载
- ✅ 推文图片 & 视频
#### 🌐 通用
- ✅ Reddit, Tumblr, Flickr
- ✅ DeviantArt, Pinterest
- ✅ YouTube (通过 yt-dlp)
## 📦 安装说明
### 适用于 Android (Termux)
#### 前置条件
- Android 设备 (任意版本)
- [Termux](https://f-droid.org/packages/com.termux/) (需从 F-Droid 安装)
- 网络连接
- 约 200MB 可用存储空间
#### 快速安装
```
# 1. 从 F-Droid 安装 Termux
# 下载:https://f-droid.org/packages/com.termux/
# 2. 打开 Termux 并授予存储权限
termux-setup-storage
# 3. Clone 此 repository
pkg install git -y
git clone https://github.com/Panda1847/social-media-downloader.git
cd social-media-downloader
# 4. 运行 setup 脚本(仅需一次)
chmod +x scripts/termux_setup.sh
./scripts/termux_setup.sh
# 5. 启动 downloader
./scripts/social_media_downloader.sh
```
### 适用于 Linux
```
# 1. Clone repository
git clone https://github.com/Panda1847/social-media-downloader.git
cd social-media-downloader
# 2. 安装 dependencies
sudo apt update
sudo apt install python3 python3-pip git wget curl -y
pip3 install gallery-dl instaloader requests
# 3. 运行 downloader
chmod +x scripts/social_media_downloader.sh
./scripts/social_media_downloader.sh
```
## 🚀 使用说明
### 交互式菜单 (推荐)
启动交互式菜单以获得引导式体验:
```
./scripts/social_media_downloader.sh
```
**菜单选项:**
```
================================================
Social Media Downloader for Android/Termux
================================================
Choose a platform:
1) 📸 Instagram
2) 📘 Facebook
3) 🎵 TikTok
4) 🐦 Twitter/X
5) 🌐 Any URL (Universal)
6) 📁 View Downloads
7) ⚙️ Settings
8) ❌ Exit
```
### 快速下载
用于快速、单命令下载:
```
./scripts/quick_download.sh "https://instagram.com/username"
```
### 手动命令
#### Instagram 示例
```
# 下载公开 profile 的所有 posts
instaloader username
# 使用登录下载(针对私有 profiles)
instaloader --login=your_username target_username
# 下载 stories
instaloader --stories username
# 下载 stories、highlights 和 tagged posts
instaloader --stories --highlights --tagged username
# 下载时包含 comments 和 geotags
instaloader --comments --geotags username
# 仅下载 profile picture
instaloader --no-posts --no-videos username
```
#### 通用下载 (任意平台)
```
# 基本下载
gallery-dl "URL"
# 带 authentication
gallery-dl -u "username" -p "password" "URL"
# 仅获取 URLs(不下载)
gallery-dl -g "URL"
# 自定义 output 目录
gallery-dl -D ~/Downloads/my_folder "URL"
# 详细输出
gallery-dl -v "URL"
```
#### Facebook 示例
```
# 下载照片
gallery-dl "https://facebook.com/username/photos"
# 使用登录下载
gallery-dl -u "email" -p "password" "https://facebook.com/username/photos"
# 下载 profile picture
gallery-dl "https://facebook.com/username/avatar"
# 下载 albums
gallery-dl "https://facebook.com/username/photos_albums"
```
## 📖 文档
`docs/` 目录中提供了完整的文档:
| 文档 | 描述 |
|----------|-------------|
| [ANDROID_INSTRUCTIONS.md](docs/ANDROID_INSTRUCTIONS.md) | 完整的 Android/Termux 设置指南 |
| [TOOLS_REFERENCE.md](docs/TOOLS_REFERENCE.md) | 详细的工具文档和对比 |
| [facebook_gallery_dl_guide.md](docs/facebook_gallery_dl_guide.md) | Facebook 特定使用指南 |
| [EXAMPLES.md](examples/EXAMPLES.md) | 真实使用案例 |
| [FAQ.md](docs/FAQ.md) | 常见问题解答 |
| [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) | 常见问题及解决方案 |
## 🎨 示例
### 示例 1:下载 Instagram 档案
```
./scripts/social_media_downloader.sh
# 选择:1 (Instagram)
# 输入 username:nasa
# 选择选项:1 (所有 posts)
# 需要登录?:n
```
### 示例 2:下载私密 Instagram
```
./scripts/social_media_downloader.sh
# 选择:1 (Instagram)
# 输入 username:private_account
# 选择选项:1 (所有 posts)
# 需要登录?:y
# 您的 Instagram username:your_username
# (在提示时输入 password)
```
### 示例 3:下载 TikTok 视频
```
./scripts/quick_download.sh "https://tiktok.com/@username"
```
### 示例 4:批量下载多个档案
```
# 创建包含 URLs 的文件
cat > urls.txt << EOF
https://instagram.com/user1
https://instagram.com/user2
https://instagram.com/user3
EOF
# 下载全部
gallery-dl -i urls.txt
```
更多示例请见 [examples/EXAMPLES.md](examples/EXAMPLES.md)
## 📁 项目结构
```
social-media-downloader/
├── README.md # This file
├── LICENSE # MIT License
├── CONTRIBUTING.md # Contribution guidelines
├── CHANGELOG.md # Version history
├── .gitignore # Git ignore rules
│
├── scripts/ # Main scripts
│ ├── termux_setup.sh # One-time setup script
│ ├── social_media_downloader.sh # Interactive menu
│ └── quick_download.sh # Quick download script
│
├── docs/ # Documentation
│ ├── ANDROID_INSTRUCTIONS.md # Android setup guide
│ ├── TOOLS_REFERENCE.md # Tool documentation
│ ├── facebook_gallery_dl_guide.md # Facebook guide
│ ├── FAQ.md # FAQ
│ └── TROUBLESHOOTING.md # Troubleshooting
│
├── examples/ # Usage examples
│ ├── EXAMPLES.md # Example scenarios
│ ├── config_examples/ # Configuration examples
│ └── scripts/ # Example scripts
│
└── .github/ # GitHub specific files
├── workflows/ # CI/CD workflows
├── ISSUE_TEMPLATE/ # Issue templates
└── PULL_REQUEST_TEMPLATE.md # PR template
```
## 🔧 配置
### 保存凭据 (可选)
创建配置文件以避免重复输入密码:
```
mkdir -p ~/.config/gallery-dl
nano ~/.config/gallery-dl/config.json
```
添加你的凭据:
```
{
"extractor": {
"instagram": {
"username": "your_instagram_username",
"password": "your_instagram_password"
},
"facebook": {
"username": "your_facebook_email",
"password": "your_facebook_password"
},
"twitter": {
"username": "your_twitter_username",
"password": "your_twitter_password"
}
}
}
```
### 自定义下载目录
在设置菜单中修改下载位置或编辑脚本:
```
DOWNLOAD_DIR=~/Downloads/social_media
```
## 📊 平台成功率
基于大量测试:
| 平台 | 成功率 | 备注 |
|----------|-------------|-------|
| Instagram | ✅ 95% | 支持最好,最可靠 |
| TikTok | ✅ 85% | 良好支持 |
| Reddit | ✅ 90% | 优秀支持 |
| Tumblr | ✅ 85% | 良好支持 |
| Twitter/X | ⚠️ 60% | 受限于平台限制 |
| Facebook | ⚠️ 40% | 反爬虫措施严厉 |
## ⚠️ 法律与道德使用
**重要提示:** 本工具仅供教育和授权研究目的使用。
### 准则
- ✅ 仅下载你有权访问的内容
- ✅ 尊重隐私设置和版权
- ✅ 遵守平台服务条款
- ✅ 遵守当地法律法规
- ❌ 请勿用于骚扰、跟踪或非法活动
- ❌ 请勿侵犯知识产权
### 隐私
- 所有凭据均**本地**存储在你的设备上
- 不会向第三方发送任何数据
- 凭据仅用于与社交媒体平台进行身份验证
**使用本工具即表示你同意负责任且合法地使用它。**
## 🐛 故障排除
### 常见问题
**"Command not found" (找不到命令)**
```
chmod +x scripts/social_media_downloader.sh
./scripts/social_media_downloader.sh
```
**"gallery-dl: command not found"**
```
pip3 install gallery-dl instaloader
```
**"Login required" (需要登录)**
- 内容为私密或平台需要身份验证
- 使用登录选项并输入你的凭据
**"Rate limited" (频率限制)**
- 你的下载速度太快
- 请等待 1-2 小时或使用其他网络连接
**Facebook 无法使用**
- Facebook 拥有强大的反爬虫措施
- 尝试登录或改用浏览器
更多解决方案请见 [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)
## 🤝 贡献
欢迎贡献代码!在提交 Pull Request 之前,请阅读我们的[贡献指南](CONTRIBUTING.md)。
### 贡献方式
- 🐛 报告 Bug
- 💡 建议新功能
- 📝 改进文档
- 🔧 提交 Bug 修复
- ✨ 添加新平台支持
### 开发环境设置
```
# Fork 并 clone repository
git clone https://github.com/Panda1847/social-media-downloader.git
cd social-media-downloader
# 创建新 branch
git checkout -b feature/your-feature-name
# 进行更改并测试
# Commit 和 push
git add .
git commit -m "Add your feature"
git push origin feature/your-feature-name
# Open a pull request
```
## 📜 许可证
本项目根据 MIT 许可证授权 - 详见 [LICENSE](LICENSE) 文件。
### 第三方工具
本项目使用以下开源工具:
- [gallery-dl](https://github.com/mikf/gallery-dl) - GPL-2.0 许可证
- [instaloader](https://github.com/instaloader/instaloader) - MIT 许可证
## 🙏 致谢
- **gallery-dl** - 提供了出色的通用下载器
- **instaloader** - 提供了优秀的 Instagram 支持
- **Termux** - 将 Linux 带到了 Android
- 本项目的所有贡献者和用户
## 📞 支持
- 📖 [文档](docs/)
- 🐛 [Issue 跟踪器](https://github.com/Panda1847/social-media-downloader/issues)
- 💬 [讨论区](https://github.com/Panda1847/social-media-downloader/discussions)
## 🗺️ 路线图
### 版本 1.1 (计划中)
- [ ] Web 界面选项
- [ ] Docker 支持
- [ ] 计划任务下载
- [ ] 云存储集成
- [ ] 高级过滤选项
### 版本 1.2 (未来)
- [ ] GUI 应用程序
- [ ] Windows 支持
- [ ] API 端点
- [ ] 数据库集成
- [ ] 分析仪表板
## ⭐ Star 历史
如果你觉得这个项目有用,请考虑给它一个 Star! ⭐
## 📈 统计数据



**由社区用 ❤️ 制作**
[⬆ 返回顶部](#-social-media-downloader)
标签:Android, Bash, BeEF, CLI, DSL, ESC4, Facebook, Gallery-dl, HTTP工具, Instagram, Instaloader, IP 地址批量处理, OSINT, Python, Reddit, Shell脚本, Termux, TikTok, Twitter, WiFi技术, 下载工具, 二进制发布, 元数据, 命令行界面, 图片下载, 应用安全, 开源工具, 数据泄露, 数据获取, 无后门, 无头模式, 爬虫, 社交媒体, 网络调试, 自动化, 视频下载, 逆向工具