Projects STRLCPY afrog Commits 27c1423b
🤬
  • ■ ■ ■ ■ ■ ■
    cmd/afrog/main.go
    skipped 1 lines
    2 2   
    3 3  import (
    4 4   "fmt"
     5 + "github.com/zan8in/afrog/pkg/utils"
    5 6   "os"
    6 7   
    7 8   "github.com/urfave/cli/v2"
    skipped 25 lines
    33 34   }
    34 35   
    35 36   app.Action = func(c *cli.Context) error {
    36  - 
    37  - title := log.LogColor.Vulner(runner.ShowBanner() + " - V" + config.Version)
    38  - 
    39 37   upgrade := upgrade.New()
    40 38   upgrade.UpgradeAfrogPocs()
    41 39   
     40 + showBanner(upgrade.LastestAfrogVersion)
     41 + 
    42 42   defconfig := log.LogColor.Low("Default Conf " + options.Config.GetConfigPath())
    43 43   defpocdir := log.LogColor.Low("Default Pocs " + poc.GetPocPath())
    44 44   
    45  - fmt.Println(title + "\r\n" + defconfig + "\r\n" + defpocdir + " v" + upgrade.LastestVersion + "")
     45 + fmt.Println(defconfig + "\r\n" + defpocdir + " v" + upgrade.LastestVersion + "")
    46 46   
    47 47   htemplate.Filename = options.Output
    48 48   if err := htemplate.New(); err != nil {
    skipped 36 lines
    85 85   }
    86 86  }
    87 87   
    88  -func PrintTraceInfo(result *core.Result) {
    89  - for i, v := range result.AllPocResult {
    90  - log.Log().Info(fmt.Sprintf("\r\n%s(%d)\r\n%s\r\n\r\n%s(%d)\r\n%s\r\n", "Request:", i, v.ReadFullResultRequestInfo(), "Response:", i, v.ReadFullResultResponseInfo()))
     88 +func showBanner(afrogLatestversion string) {
     89 + title := log.LogColor.Vulner(runner.ShowBanner() + " - V" + config.Version)
     90 + old := ""
     91 + if utils.Compare(afrogLatestversion, ">", config.Version) {
     92 + old = log.LogColor.Critical(" (outdated)")
     93 + old += log.LogColor.Title(" --> https://github.com/zan8in/afrog/releases/tag/v" + afrogLatestversion)
    91 94   }
     95 + fmt.Println(title + old)
    92 96  }
    93 97   
  • ■ ■ ■ ■ ■
    pkg/upgrade/upgrade.go
    skipped 14 lines
    15 15  )
    16 16   
    17 17  type Upgrade struct {
    18  - HomeDir string
    19  - CurrVersion string
    20  - RemoteVersion string
    21  - LastestVersion string
     18 + HomeDir string
     19 + CurrVersion string
     20 + RemoteVersion string
     21 + LastestVersion string
     22 + LastestAfrogVersion string
    22 23  }
    23 24   
    24 25  const (
    skipped 1 lines
    26 27   upPathName = "/afrog-pocs"
    27 28   upPath = "/afrog-pocs.zip"
    28 29   upRemoteVersion = "/version"
     30 + afrogVersion = "/afrog.version"
    29 31  )
    30 32   
    31 33  func New() *Upgrade {
    skipped 21 lines
    53 55   u.CurrVersion = curVersion
    54 56   u.RemoteVersion = strings.TrimSpace(string(remoteVersion))
    55 57   
     58 + u.LastestAfrogVersion, _ = getAfrogVersion()
     59 + 
    56 60   return utils.Compare(strings.TrimSpace(string(remoteVersion)), ">", curVersion), nil
     61 +}
     62 + 
     63 +func getAfrogVersion() (string, error) {
     64 + resp, err := http.Get(upHost + afrogVersion)
     65 + if err != nil {
     66 + return "", errors.New("failed to get remote version number")
     67 + }
     68 + defer resp.Body.Close()
     69 + 
     70 + afrogversion, err := ioutil.ReadAll(resp.Body)
     71 + if err != nil {
     72 + return "", errors.New("failed to get remote version number")
     73 + }
     74 + return strings.TrimSpace(string(afrogversion)), nil
    57 75  }
    58 76   
    59 77  func (u *Upgrade) UpgradeAfrogPocs() {
    skipped 43 lines
Please wait...
Page is in error, reload to recover