Skip to content

Commit

Permalink
Merge pull request #8 from adhocore/7-use-chin
Browse files Browse the repository at this point in the history
  • Loading branch information
adhocore authored Oct 24, 2022
2 parents df303f1 + 148c788 commit e9614e1
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 34 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![Donate 15](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square&label=donate+15)](https://www.paypal.me/ji10/15usd)
[![Donate 25](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square&label=donate+25)](https://www.paypal.me/ji10/25usd)
[![Donate 50](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square&label=donate+50)](https://www.paypal.me/ji10/50usd)
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Golang+tool+to+check+internet+speed+right+from+the+terminal&url=https://github.com/adhocore/fast&hashtags=php,jwt,auth)
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Golang+tool+to+check+internet+speed+right+from+the+terminal&url=https://github.com/adhocore/fast&hashtags=golang,terminal,cli,speed-check,fast)


A GO lang command line tool to check internet speed right from the terminal.
Expand All @@ -25,7 +25,7 @@ Install `fast`:
go get -u github.com/adhocore/fast/cmd/fast

# or in recent go versions:
go install github.com/adhocore/fast/cmd/fast@v1.1.0
go install github.com/adhocore/fast/cmd/fast@v1.2.0
```

Finally, make sure `$GOPATH` or `$HOME/go/bin` is in your `$PATH` or `%path%`, then run:
Expand Down
43 changes: 13 additions & 30 deletions cmd/fast/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,43 @@ package main

import (
"flag"
"fmt"
"log"
"sync"
"time"

"github.com/adhocore/chin"
"github.com/adhocore/fast/internal/fast"
)

func main() {
var noUp bool
var wg sync.WaitGroup
var noUp bool

func init() {
flag.BoolVar(&noUp, "noup", false, "Do not show upload speed (shows only download speed)")
flag.Parse()
wg.Add(1)
}

ch := make(chan bool)
func main() {
var wg sync.WaitGroup

go doSpin(ch)
go doFast(ch, &wg, noUp)
s := chin.New().WithWait(&wg)
go s.Start()

wg.Wait()
}
wg.Add(1)
go doFast(s, &wg, noUp)

func doSpin(ch chan bool) {
chars := []string{"+", "\\", "|", "/", "-", "+", "\\", "|", "/", "-"}

for {
outer:
select {
case _, ok := <-ch:
if ok {
fmt.Print("\010")
break outer
}
default:
for _, c := range chars {
fmt.Print(c, "\010")
time.Sleep(50 * time.Millisecond)
}
}
}
wg.Wait()
}

func doFast(ch chan bool, wg *sync.WaitGroup, noUp bool) {
func doFast(s *chin.Chin, wg *sync.WaitGroup, noUp bool) {
defer wg.Done()

start := time.Now()
res, err := fast.Measure(noUp)
ch <- true

if err != nil {
log.Fatalf("error measuring speed: %v", err)
}

s.Stop()
fast.Out(res, start)
}
5 changes: 3 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ module github.com/adhocore/fast
go 1.15

require (
github.com/chromedp/cdproto v0.0.0-20221011223153-490dc4d81f7c
github.com/adhocore/chin v1.0.0
github.com/chromedp/cdproto v0.0.0-20221023212508-67ada9507fb2
github.com/chromedp/chromedp v0.8.6
golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43 // indirect
golang.org/x/sys v0.1.0 // indirect
)
6 changes: 6 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
github.com/adhocore/chin v1.0.0 h1:8B1NOmWY+pvSBXtFFGMbWuB0LbmNa7s0x/xsY6I17SM=
github.com/adhocore/chin v1.0.0/go.mod h1:X6ey2uVyRozOnqd/sFb/k0pxY1tnm+Msigh1m2jlfbg=
github.com/chromedp/cdproto v0.0.0-20220924210414-0e3390be1777/go.mod h1:5Y4sD/eXpwrChIuxhSr/G20n9CdbCmoerOHnuAf0Zr0=
github.com/chromedp/cdproto v0.0.0-20221011223153-490dc4d81f7c h1:JQvTh3Lqw0aGKFu/roG/DTMgqVCmSE6aVOegf+mMNrY=
github.com/chromedp/cdproto v0.0.0-20221011223153-490dc4d81f7c/go.mod h1:5Y4sD/eXpwrChIuxhSr/G20n9CdbCmoerOHnuAf0Zr0=
github.com/chromedp/cdproto v0.0.0-20221023212508-67ada9507fb2 h1:xESwMZNYkDnZf9MUk+6lXfMbpDnEJwlEuIxKYKM1vJY=
github.com/chromedp/cdproto v0.0.0-20221023212508-67ada9507fb2/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs=
github.com/chromedp/chromedp v0.8.6 h1:KobeeqR2dpfKSG1prS3Y6+FbffMmGC6xmAobRXA9QEQ=
github.com/chromedp/chromedp v0.8.6/go.mod h1:nBYHoD6YSNzrr82cIeuOzhw1Jo/s2o0QQ+ifTeoCZ+c=
github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic=
Expand All @@ -21,3 +25,5 @@ golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43 h1:OK7RB6t2WQX54srQQYSXMW8dF5C6/8+oA/s5QBmmto4=
golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

0 comments on commit e9614e1

Please sign in to comment.