Skip to content

garryfan2013/goget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goget

"goget" is a golang project that could be used for file downloading management

Features:

  1. Support http/ftp protocol
  2. Multi-job management(status/progress query, stop/start control)
  3. Multi-task(like thread,but actually goroutine) downloading for single job
  4. Job resuming from break-point

Howto

build

go get github.com/garryfan2013/goget
cd $GOPATH/src/garryfan2013/goget
go build
cd ./cli
go build

Server daemon

./goget

CLI

list all jobs

./cli -L

list single job

./cli -l JOB_ID

Add a job, this command succeeds will output the JOB_ID

./cli -a URL -c TASK_COUNT -o SAVE_PATH -u USERNAME -p PASSWD

Start a job

./cli -s JOB_ID

Stop a job

./cli -S JOB_OD

Delete a job

./cli -d JOB_ID

Todo

  1. Provide web interface for convinient management
  2. Dynamically adjust task count according to statistics
  3. Summary some golang specified knowledge and skill

Special thanks

  1. RPC package - grpc
  2. Ftp client package
  3. Simple kv store - boltDB
  4. Uuuid package - go.uuid
  5. Router package - gorilla/mux

About

A simple project for file downloading written in go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published