Projects STRLCPY Osmedeus Commits 8993bede
🤬
  • ■ ■ ■ ■ ■ ■
    README.md
    skipped 15 lines
    16 16   
    17 17  ***
    18 18   
    19  -## Installation
     19 +## 🔥 What is Osmedeus?
     20 + 
     21 +Osmedeus is a Workflow Engine for Offensive Security. It was designed to build a foundation with the capability and flexibility that allows you to build your own reconnaissance system and run it on a large number of targets.
     22 + 
     23 +## 📖 Documentation & FAQ
     24 + 
     25 +You can check out the documentation at [**docs.osmedeus.org**](https://docs.osmedeus.org) and the Frequently Asked Questions at [**here**](https://docs.osmedeus.org/faq) for more information.
     26 + 
     27 + 
     28 +## 📦 Installation
    20 29   
    21 30  > NOTE that you need some essential tools like `curl, wget, git, zip` and login as **root** to start
    22 31   
    23  -```shell
     32 +```bash
    24 33  bash <(curl -fsSL https://raw.githubusercontent.com/osmedeus/osmedeus-base/master/install.sh)
    25 34  ```
    26 35   
    27  -## Build the engine from the source
     36 +### Build the engine from the source
    28 37   
    29 38  Make sure you installed `golang >= v1.17`
    30 39   
    31  -```shell
    32  -mkdir -p $GOPATH/src/github.com/j3ssie
    33  -git clone --depth=1 https://github.com/j3ssie/osmedeus $GOPATH/src/github.com/j3ssie/osmedeus
    34  -cd $GOPATH/src/github.com/j3ssie/osmedeus
    35  -make build
     40 +```bash
     41 +go install -v github.com/j3ssie/osmedeus@latest
    36 42  ```
    37 43   
    38  -or
     44 +Check out [**this page**](https://docs.osmedeus.org/installation/) for more the install on other platforms
    39 45   
    40  -```shell
    41  -go install -v github.com/j3ssie/osmedeus@latest
    42  -```
     46 +## 🚀 Key Features of Osmedeus
     47 +- [x] Significantly speed up your recon process
     48 +- [x] Organize your scan results
     49 +- [x] Efficiently to customize and optimize your recon process
     50 +- [x] Seamlessly integrate with new public and private tools
     51 +- [x] Easy to scale across large number of targets
     52 +- [x] Easy to synchronize the results across many places
    43 53   
    44  -## Usage
     54 +## Usage
    45 55   
    46  -```shell
     56 +```bash
    47 57  # Scan Usage:
    48 58   osmedeus scan -f [flowName] -t [target]
    49 59   osmedeus scan -m [modulePath] -T [targetsFile]
    skipped 34 lines
    84 94   osmedeus utils cron --for --cmd 'osmedeus scan -t example.com'
    85 95  ```
    86 96   
     97 +Check out [**this page**](https://docs.osmedeus.org/installation/usage/) for full usage and the [**Practical Usage**](https://docs.osmedeus.org/installation/practical-usage/) to see how to use Osmedeus in a practical way.
     98 + 
     99 + 
    87 100  ## 💬 Community & Discussion
    88 101   
    89 102  Join Our Discord server [here](https://discord.gg/mtQG2FQsYA)
    90 103   
    91 104  ## 💎 Donation & Sponsor
    92 105   
    93  -<p align="center">
     106 +<h3 align="center">
    94 107   <img alt="Osmedeus" src="https://raw.githubusercontent.com/osmedeus/assets/main/premium-package.gif" />
    95 108   
    96 109   <p align="center"> Check out for a couple of <strong><a href="https://docs.osmedeus.org/donation/">donation methods here</a></strong> to get a <strong><a href="https://docs.osmedeus.org/premium/">premium package</a></strong><p>
    97  -</p>
     110 +</h3>
    98 111   
    99 112  ## License
    100 113   
    skipped 2 lines
  • ■ ■ ■ ■ ■
    core/runtime.go
    skipped 424 lines
    425 425   fileName = args[1].String()
    426 426   }
    427 427   if !utils.FileExists(fileName) {
     428 + utils.DebugF("File %s not found", fileName)
    428 429   return otto.Value{}
    429 430   }
    430 431   
    431 432   messContent := utils.GetFileContent(fileName)
    432  - execution.TeleSendMess(options, messContent, channelType, true)
     433 + if len(messContent) > 4000 {
     434 + execution.TeleSendFile(options, fileName, channelType)
     435 + } else {
     436 + execution.TeleSendMess(options, messContent, channelType, true)
     437 + }
     438 + 
    433 439   return otto.Value{}
    434 440   })
    435 441   
    skipped 16 lines
  • ■ ■ ■ ■ ■
    execution/noti.go
    skipped 44 lines
    45 45   if !utils.FileExists(filename) {
    46 46   continue
    47 47   }
    48  - // SendFile(argument.String(), options)
    49 48   data := getNewContent(utils.ReadingLines(filename))
    50 49   if strings.TrimSpace(data) == "" {
    51 50   continue
    skipped 158 lines
    210 209  // SendFile send file to specific channel
    211 210  func SendFile(filename string, channel string, options libs.Options) error {
    212 211   if options.Noti.SlackToken == "" || options.Noti.SlackReportChannel == "" {
    213  - return errors.New("Slack config improperly")
     212 + return fmt.Errorf("Slack config improperly")
    214 213   }
    215 214   
    216 215   if !utils.FileExists(filename) {
    217  - return errors.New("report file not found")
     216 + return fmt.Errorf("report file not found: %v", filename)
    218 217   }
    219 218   
    220 219   baseName := filepath.Base(filename)
    skipped 17 lines
    238 237   
    239 238  // TeleSendMess send message to telegram
    240 239  func TeleSendMess(options libs.Options, content string, channel string, wrap bool) error {
     240 + 
    241 241   if options.NoNoti {
    242 242   return fmt.Errorf("noti disabled")
    243 243   }
    skipped 2 lines
    246 246   content = fmt.Sprintf("```\n%s\n```", content)
    247 247   }
    248 248   if err != nil {
     249 + utils.DebugF("error init telegram: %v", err)
    249 250   return err
    250 251   }
    251 252   
    skipped 15 lines
    267 268   channel = options.Noti.TelegramChannel
    268 269   }
    269 270   telechannel := cast.ToInt64(channel)
    270  - 
     271 + utils.DebugF("send message to channel %v", channel)
    271 272   msg := tgbotapi.NewMessage(telechannel, content)
    272 273   msg.ParseMode = "markdown"
    273 274   _, err = bot.Send(msg)
     275 + if err != nil {
     276 + utils.ErrorF("error sending telegram to %v -- %v", channel, err)
     277 + }
    274 278   return err
    275 279  }
    276 280   
    skipped 4 lines
    281 285   }
    282 286   bot, err := tgbotapi.NewBotAPI(options.Noti.TelegramToken)
    283 287   if err != nil {
     288 + utils.DebugF("error init telegram: %v", err)
    284 289   return err
    285 290   }
    286 291   
    skipped 18 lines
    305 310   
    306 311   filename = utils.NormalizePath(filename)
    307 312   msg := tgbotapi.NewDocumentUpload(telechannel, filename)
     313 + 
     314 + utils.DebugF("send file %v to channel %v", filename, channel)
    308 315   _, err = bot.Send(msg)
     316 + if err != nil {
     317 + utils.DebugF("error sending telegram to %v -- %v", channel, err)
     318 + }
    309 319   return err
    310 320  }
    311 321   
    skipped 30 lines
  • ■ ■ ■ ■
    libs/version.go
    skipped 3 lines
    4 4   
    5 5  const (
    6 6   // VERSION of this project
    7  - VERSION = "v4.1.1"
     7 + VERSION = "v4.1.2"
    8 8   // DESC description of the tool
    9 9   DESC = "A Workflow Engine for Offensive Security"
    10 10   // BINARY name of osmedeus
    skipped 17 lines
Please wait...
Page is in error, reload to recover