This project is only active on GitHub (https://github.com/ghinknet/richkago), repositories on any other platform are mirror
Richka for python is here (https://github.com/ghinknet/richka)
import "github.com/ghinknet/richkago"
and run script in your code, for example:
package main
import (
"fmt"
"github.com/ghinknet/richkago"
"time"
)
func main() {
controller := richkago.NewController()
go func() {
// Start download
timeUsed, fileSize, err := richkago.Download("https://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os-images/raspios_lite_arm64/images/raspios_lite_arm64-2024-11-19/2024-11-19-raspios-bookworm-arm64-lite.img.xz", "2024-11-19-raspios-bookworm-arm64-lite3.img.xz", controller)
if err != nil {
fmt.Println("Download failed:", err)
return
}
// Print result
fmt.Printf("Time used: %.2f seconds\n", timeUsed)
fmt.Printf("Speed: %.2f MiB/s\n", float64(fileSize)/timeUsed/1024/1024)
}()
// Monitor progress
for controller.Status() != 0 && controller.Status() != -3 {
if controller.Status() == 1 {
fmt.Printf("Download Progress: %.2f%%\r", controller.Progress())
}
time.Sleep(100 * time.Millisecond)
}
if controller.Status() == 0 {
fmt.Println("Download completed.")
}
}
Then you'll get a file from Internet :D.