A download tools for clawing the ebooks from internets.

Overview

bookhunter

Downloading books from talebook, www.sanqiu.cc This is totally rewrite fork compare to its original version.

Development

  1. Go Releaser is used for releasing and local building
  2. golangci-lint is used for code style.
  3. goimports-reviser is used for sorting imports.

Feature

Download books from Talebook

  1. Download from previous progress.
  2. Register account on website.
  3. Bypass the ratelimit from cloudflare.
Usage:
  bookhunter talebook [command]

Available Commands:
  download    Download the book from talebook.
  register    Register account on talebook.

Flags:
  -h, --help   help for talebook

Use "bookhunter talebook [command] --help" for more information about a command.

Download books from Sanqiu

  1. Find all the books update from www.sanqiu.cc.
  2. Download required formats from 189 cloud drive.
  3. Download required formats from aliyun drive.
  4. Record the download progress for crontab jobs.
Usage:
  bookhunter sanqiu [flags]

Flags:
  -c, --cookie string         The cookie file name you want to use, it would be saved under the download directory. (default "cookies")
      --debug                 Enable debug mode
  -d, --download string       The book directory you want to use, default would be current working directory. (default "/Users/jianyun/GolandProjects/bookhunter")
  -f, --format strings        The file formats you want to download. (default [EPUB,MOBI,PDF])
  -h, --help                  help for sanqiu
  -i, --initial int           The book id you want to start download. It should exceed 0. (default 1)
  -g, --progress string       The download progress file name you want to use, it would be saved under the download directory. (default "progress")
      --refreshToken string   The refreshToken for AliYun Drive.
  -n, --rename                Rename the book file by book ID.
  -r, --retry int             The max retry times for timeout download request. (default 5)
  -t, --thread int            The number of download threads. (default 1)
  -o, --timeout duration      The max pending time for download request. (default 10m0s)
  -a, --user-agent string     Set User-Agent for download request. (default "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36")
  -w, --website string        The website for sanqiu. You don't need to override the default url. (default "https://www.sanqiu.cc")

Download books from my Telegram groups.

  1. Download all the valid book formats from a telegram channel.
  2. Record the download progress for crontab jobs.
  3. Support proxy from terminal environments.
Usage:
  bookhunter telegram [flags]

Flags:
      --appHash appHash      The appHash for telegram. How to get appHash please refer to https://core.telegram.org/api/obtaining_api_id.
      --appID appID          The appID for telegram. How to get appID please refer to https://core.telegram.org/api/obtaining_api_id.
  -k, --channelID string     The channelId for telegram.
  -c, --cookie string        The cookie file name you want to use, it would be saved under the download directory. (default "cookies")
  -d, --download string      The book directory you want to use, default would be current working directory. (default "/Users/Yufan")
  -f, --format strings       The file formats you want to download. (default [EPUB,MOBI,PDF])
  -h, --help                 help for telegram
  -i, --initial int          The book id you want to start download. It should exceed 0. (default 1)
  -b, --mobile string        The mobile number for your telegram account, default (+86).
  -g, --progress string      The download progress file name you want to use, it would be saved under the download directory. (default "progress")
      --refresh              Refresh the login session.
  -n, --rename               Rename the book file by book ID.
  -r, --retry int            The max retry times for timeout download request. (default 5)
  -s, --sessionPath string   The session file for telegram. (default "cookies")
  -t, --thread int           The number of download threads. (default 1)
  -o, --timeout duration     The max pending time for download request. (default 10m0s)
  -a, --user-agent string    Set User-Agent for download request. (default "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36")

Example command: bookhunter telegram --appID 12345 --appHash xxxxx -k https://t.me/MothLib

Please refer Creating your Telegram Application to obtain your appID and appHash.

Download books from Sobooks.

TODO

Install

Homebrew (for macOS, Linux)

brew tap bibliolater/tap
brew install bookhunter

Scope (for Windows)

scoop bucket add bibliolater https://github.com/bibliolater/scoop-bucket.git
scoop install bibliolater/bookhunter

Manually

Download the latest release in release page. Choose related tarball by your running environment.

Usage

Execute bookhunter -h to see how to use this download tools.

Issues
  • version subcommand can not show program version

    version subcommand can not show program version

    image

    How did i install bookhunter?

    go install  github.com/bibliolater/[email protected]
    

    What is my computer platform?

    Windows 10 
    

    Which version of your golang compile?

    go version go1.18 windows/amd64
    
    opened by hellojukay 2
  • Support telegram's channel file download

    Support telegram's channel file download

    Support for downloading book from the telegram channel.

    TODO list

    • [x] Implement telegram user login with account password.
    • [x] Implement to get channel message using channel name.
    • [x] Support telegram API frequency control, need to increase the wait when each minute call exceeds the limit
    • [x] Support parallel download.
    opened by jianyun8023 1
  • [sanqiu] Support downloading books from aliyun drive

    [sanqiu] Support downloading books from aliyun drive

    Sanqiu provides a variety of web addresses to download, the current 189cloud shared links are very slow to parse and download. Resolving aliyun drive is a viable solution.

    bookhunter sanqiu -f epub --refreshToken xxxxxx

    opened by jianyun8023 0
Owner
BookStairs
Books are the ladder of human progress. We build stairs on top of books.
BookStairs
tmux-wormhole - download files and directories with tmux!

tmux-wormhole Use tmux and magic wormhole to get things from your remote computer to your tmux. If tmux has DISPLAY set, open the file locally! Demo U

Graham Clark 41 Jun 29, 2022
📷 Command-line utility to download all photos from Instagram

Instagram Downloader This is a simple command-line tool, written in Go, to download all images from an Instagram account. Getting Started Install inst

Gregory Schier 21 May 31, 2022
A small utility command line application that can recursively download Notion pages

notionbackup A small utility command line application that can recursively download Notion pages. I needed something scriptable that could periodicall

Shayan 51 Jun 24, 2022
📥 Command-line tool to download videos from hanime.tv

hanime Command-line tool to download videos from hanime.tv Requirements Installation Install via go get Install from source Install from release Usage

私はレオンです 26 Jun 18, 2022
A golang CLI tool to download malware from a variety of sources.

mlget _____ _____ _____ _____ _____ /\ \

null 84 Jun 15, 2022
A terminal-based download manager written in Go!

goload-manager About A terminal-based download manager written in Go! This project uses grab for downloading and tcell for the terminal interface. Hea

Manolis Skouris 4 Oct 7, 2021
This is the tool to download files from qiniu cruster manually.

This is the tool to download files from qiniu cruster manually. toCheck = []string{ sealPath, filepath.Join(cachePath, "p_aux"), filepath.Join(cachePa

lyswifter 1 Nov 25, 2021
Download and install binaries from GitHub Releases, interactively.

bget Download and install binary files from GitHub Releases. Preview Install For Mac/Linux users, you can use Homebrew to install it: brew install ego

EGOIST 213 Jun 25, 2022
Downloader written in golang to download the public data files from RUC Paraguay.

rucpy-downloader Downloader written in golang to download the public data files(RUC Paraguay) from set.gov.py. The downloader will download the public

bitebait 1 Dec 6, 2021
CLI tool to upload object to s3-compatible storage backend and set download policy for it.

typora-s3 CLI tool to upload object to s3-compatible storage backend and set download policy for it. Build $ git clone https://github.com/fengxsong/ty

fengxsong 0 Dec 29, 2021
Little golang app that allows you to download a youtube video as mp3, and optionally embed ID3 tags -Cover Art, Artist ...-

yt2mp3 Little golang app that allows you to download a youtube video as mp3, and optionally embed ID3 tags -Cover Art, Artist ...- Instructions At the

null 0 Dec 25, 2021
Mass download all github repositories(public & private) of an organization, ideally in a few seconds.

Git Mass Mass download all github repositories(public & private) of an organization, ideally in a few seconds. Writing this as a simple bash script wo

Nithin Jois 0 Dec 27, 2021
Command-line program to download videos from YouTube.com and other video sites

youtube-dl - download videos from youtube.com or other video platforms INSTALLATION DESCRIPTION OPTIONS CONFIGURATION OUTPUT TEMPLATE FORMAT SELECTION

youtube-dl 111.1k Jun 26, 2022
You-Get is a tiny command-line utility to download media contents (videos, audios, images) from the Web,

You-Get NOTICE: Read this if you are looking for the conventional "Issues" tab. You-Get is a tiny command-line utility to download media contents (vid

Mort Yao 44.3k Jun 26, 2022
An easy to use go program to download videos from Reddit

Gedditsave Download videos from reddit from the command line. Use guide geddit -

Solaris 30 Jun 5, 2022
An easy to use go program to download videos from Reddit.

Gettit Download videos from reddit from the command line. Use guide gettit -u post_url Example : gettit -u https://www.reddit.com/r/programminghorror/

Solaris 30 Jun 5, 2022
Gowget - A simple wget tool built using golang to download files from the internet whether it is zip

gowget wget built using golang About: A simple wget tool built using golang to d

Krisna Pranav 3 May 21, 2022
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.

ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to

Dipto Chakrabarty 2 Jan 2, 2022