#reddit #image #command-line-tool #cli

app gert

用于从 Reddit 下载媒体的 CLI 工具

9 个版本

0.2.6 2023 年 11 月 11 日
0.2.5 2023 年 11 月 4 日
0.2.4 2023 年 9 月 11 日
0.2.3 2023 年 6 月 8 日
0.1.1 2022 年 11 月 6 日

#856 in 命令行工具

MIT 许可证

72KB
1.5K SLoC

Gert

一个从 Reddit 下载媒体的命令行工具

  • 支持
    • Reddit:PNG/JPG 图像,GIF,图片画廊,视频
    • Giphy:GIF
    • Imgur:直接图片,GIFV 和相册
    • Gfycat/Redgifs:GIF
    • Streamable:视频
  • 从 Imgur/Gfycat/Redgifs 下载的 GIF 将作为 mp4 格式

安装

先决条件

ffmpeg 是软依赖,安装说明请参考此 链接

您可以跳过它,但没有它

  • Reddit 自身的视频(v.redd.it)将没有声音
  • GIF 不会自动转换为 .mp4

使用 cargo

如果您已经安装了 Rust,可以使用 cargo 安装

cargo install gert

使用 homebrew

brew tap mcdallas/gert
brew install gert

GitHub 发布

只需获取适用于您操作系统的最新 版本

运行

只需使用(多个)-s 标志传递您想要从中下载媒体的子版块的名称

gert -s wallpapers -s earthporn

gert4

要下载单个帖子/集合的媒体,只需传递帖子的 URL

gert https://old.reddit.com/r/wallpapers/comments/tckky1/some_walls_from_my_collections_vol6/

命令行选项

Simple CLI tool to download media from Reddit

USAGE:
    gert [FLAGS] [OPTIONS] <URL> --subreddit <SUBREDDIT>...

FLAGS:
    -c, --conserve-gifs     Disable gif to mp4 conversion
        --debug             Show the current config being used
    -r, --dry-run           Dry run and print the URLs of saved media to download
    -h, --help              Prints help information
    -H, --human-readable    Use human readable names for files
    -V, --version           Prints version information

OPTIONS:
    -e, --from-env <ENV_FILE>         Set a custom .env style file with secrets
    -f, --feed <feed>                 Feed to download from [default: hot]  [possible values: hot, new, top, rising]
    -l, --limit <LIMIT>               Limit the number of posts to download [default: 25]
    -m, --match <MATCH>               Pass a regular expresion to filter the title of the post
    -o, --output <DATA_DIR>           Directory to save the media to [default: .]
    -p, --period <PERIOD>             Time period to download from [default: day]  [possible values: now, hour, day,
                                      week, month, year, all]
    -s, --subreddit <SUBREDDIT>...    Download media from these subreddits
    -u, --upvotes <NUM>               Minimum number of upvotes to download [default: 0]

ARGS:
    <URL>    URL of a single post to download

可选的 Reddit 认证

认证不是必需的,但如果您想获得更慷慨的速率限制,您可以在 Reddit 中创建一个新的应用程序并将凭证传递给 gert

  1. https://www.reddit.com/prefs/apps 创建一个新的脚本应用程序
    • 在页面底部点击“创建应用程序”
    • 为您的应用程序输入一个名称,例如:gert
    • 将应用程序类型选择为“脚本”
    • 设置 "https://127.0.0.1:8080" 或任何其他重定向 URL
    • 点击“创建应用程序”- 您应该会看到应用程序已创建
    • 在您的应用程序名称下方,您应该会看到一个随机字符串 - 那就是您的客户端 ID
    • 在“密钥”字段旁边的随机字符串是您的客户端密钥
  2. 复制返回的客户端 ID 和客户端密钥信息
  3. 创建一个 .env 文件,包含以下键,例如 gert.env
CLIENT_ID="<client_id>"
CLIENT_SECRET="<client_secret>"
USERNAME="<username>"
PASSWORD="<password>"

注意:如果您启用了双因素认证,请确保您设置了 PASSWORD=<password>:<2FA_TOTP_token> 代替

致谢

基于 https://github.com/manojkarthick/reddsaver

依赖项

~17–32MB
~516K SLoC