{"id":31465538,"url":"https://github.com/ravro-ir/ravro_dcrpt","last_synced_at":"2026-01-12T00:35:19.221Z","repository":{"id":45779002,"uuid":"446314636","full_name":"ravro-ir/ravro_dcrpt","owner":"ravro-ir","description":"ravro_dcrpt - Decrypt secret report files ravro","archived":false,"fork":false,"pushed_at":"2025-09-30T22:03:13.000Z","size":39188,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-01T17:44:18.964Z","etag":null,"topics":["bugbounty","golang","golang-examples","openssl","ravro","vulnerabilities"],"latest_commit_sha":null,"homepage":"https://www.ravro.ir/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravro-ir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-10T07:04:17.000Z","updated_at":"2025-07-31T13:21:03.000Z","dependencies_parsed_at":"2025-10-01T17:32:22.079Z","dependency_job_id":null,"html_url":"https://github.com/ravro-ir/ravro_dcrpt","commit_stats":null,"previous_names":["ravro-ir/ravro_dcrp"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ravro-ir/ravro_dcrpt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravro-ir%2Fravro_dcrpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravro-ir%2Fravro_dcrpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravro-ir%2Fravro_dcrpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravro-ir%2Fravro_dcrpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravro-ir","download_url":"https://codeload.github.com/ravro-ir/ravro_dcrpt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravro-ir%2Fravro_dcrpt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28329805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:13:06.322Z","status":"ssl_error","status_checked_at":"2026-01-12T00:04:50.725Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bugbounty","golang","golang-examples","openssl","ravro","vulnerabilities"],"created_at":"2025-10-01T17:30:18.305Z","updated_at":"2026-01-12T00:35:19.215Z","avatar_url":"https://github.com/ravro-ir.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ravro Decryption Tool\n\nA versatile Go-based tool for decrypting and converting Ravro platform bug bounty reports to PDF.\n\n## 🚀 Introduction\n\n`ravro_dcrpt` is a cross-platform utility designed to decrypt and process reports submitted by hunters on the Ravro platform, embodying the \"write once, run anywhere\" philosophy of Go.\n\n## ⚡ Quick Start\n\n1. **Install prerequisites** using the autoinstall scripts (see Installation section)\n2. **Download** the latest release for your platform from [Releases](https://github.com/ravro-ir/ravro_dcrpt/releases)\n3. **For GUI users**: Double-click `ravro_dcrpt_gui` and use the visual interface\n4. **For CLI users**: Run `./ravro_dcrpt -init` to set up directories, then `./ravro_dcrpt` for interactive mode\n\n## ✨ Features\n\n### Core Features\n- 🔐 **PKCS7 Decryption** using OpenSSL (CGO-based for native performance)\n- 📄 **PDF Generation** with wkhtmltopdf (beautiful, styled reports)\n- 🗝️ **Multi-key support** for different organizations\n- 🔄 **Batch processing** - multiple reports in one go\n- 📦 **ZIP extraction** - automatic handling of compressed reports\n- 🖥️ **Cross-platform** - Windows, Linux, macOS\n\n### User Interface\n- 🎨 **GUI Application** - User-friendly Fyne-based interface\n  - Large file browser dialogs (1000×700) for easy navigation\n  - Real-time processing logs and status\n  - Directory initialization wizard\n  - Key validation before processing\n- 💻 **CLI Application** - Perfect for automation and scripting\n  - Interactive and command-line modes\n  - JSON export support\n  - Colored output and progress indicators\n\n### PDF Features\n- 📅 **Persian Date Conversion** - Automatic Gregorian to Shamsi (Jalali) conversion\n- 💰 **Formatted Amounts** - Thousand separators for rewards (e.g., 10,500,000 ریال)\n- 📎 **Attachment Tables** - Beautiful tables showing attachment files with types\n- 🎨 **Modern Design** - Clean, professional styling with Vazirmatn font\n- 🌐 **RTL Support** - Full right-to-left layout for Persian content\n- ⚖️ **Conditional Sections** - Judge information shown only when available\n\n## 🛠️ Installation\n\n### Quick Installation (Recommended)\n\nWe provide automated installation scripts that install all required dependencies for running the GUI application.\n\n#### Linux\n```bash\n# Download and run the installation script\ncurl -O https://raw.githubusercontent.com/ravro-ir/ravro_dcrpt/main/install-linux.sh\nchmod +x install-linux.sh\n./install-linux.sh\n```\n\n**Supported distributions:**\n- Ubuntu / Debian / Linux Mint / Pop!_OS\n- Fedora / RHEL / CentOS / Rocky / AlmaLinux  \n- Arch Linux / Manjaro\n- openSUSE / SLES\n\n#### macOS\n```bash\n# Download and run the installation script\ncurl -O https://raw.githubusercontent.com/ravro-ir/ravro_dcrpt/main/install-macos.sh\nchmod +x install-macos.sh\n./install-macos.sh\n```\n\n**Note:** The script will automatically install Homebrew if not present.\n\n#### Windows\n```powershell\n# Download and run the installation script\n# Run PowerShell as Administrator, then:\nInvoke-WebRequest -Uri \"https://raw.githubusercontent.com/ravro-ir/ravro_dcrpt/main/install-windows.ps1\" -OutFile \"install-windows.ps1\" -UseBasicParsing\npowershell -ExecutionPolicy Bypass -File \"install-windows.ps1\"\n```\n\n**Note:** Must be run as Administrator. The script will:\n- Install Chocolatey (if not present)\n- Try to install OpenSSL from multiple sources (versions 3.4.0, 3.3.2, 3.3.1, 3.3.0, 3.2.0, 3.1.0)\n- Fallback to Chocolatey if direct download fails\n- Install wkhtmltopdf for PDF generation\n- Automatically configure system PATH\n\n### Download Application\n\nAfter installing prerequisites, download the latest release for your platform:\n\n**Linux (x86_64):**\n```bash\nwget https://github.com/ravro-ir/ravro_dcrpt/releases/latest/download/ravro_dcrpt-linux-amd64.tar.gz\ntar -xzf ravro_dcrpt-linux-amd64.tar.gz\nchmod +x ravro_dcrpt_gui\n./ravro_dcrpt_gui\n```\n\n**macOS (Intel):**\n```bash\nwget https://github.com/ravro-ir/ravro_dcrpt/releases/latest/download/ravro_dcrpt-darwin-amd64.tar.gz\ntar -xzf ravro_dcrpt-darwin-amd64.tar.gz\nopen \"Ravro Decryption Tool.app\"\n```\n\n**macOS (Apple Silicon):**\n```bash\nwget https://github.com/ravro-ir/ravro_dcrpt/releases/latest/download/ravro_dcrpt-darwin-arm64.tar.gz\ntar -xzf ravro_dcrpt-darwin-arm64.tar.gz\nopen \"Ravro Decryption Tool.app\"\n```\n\n**Windows:**\n```powershell\n# Download from GitHub Releases\n# Extract the zip file, then run:\n.\\ravro_dcrpt_gui.exe\n```\n\n📖 **For detailed installation instructions, troubleshooting, and manual installation, see [INSTALL.md](INSTALL.md)**\n\n## 📂 Project Structure\n\n### Clean Architecture Layout\n\n```\nravro_dcrpt/\n├── cmd/                          # Application entry points\n│   ├── cli/main.go              # CLI application\n│   └── gui/main.go              # GUI application\n├── internal/                     # Internal packages\n│   ├── adapters/                # Interface implementations\n│   │   ├── crypto/              # PKCS7 decryption (OpenSSL CGO)\n│   │   ├── pdfgen/              # PDF generation (wkhtmltopdf)\n│   │   └── storage/             # File system operations\n│   ├── core/                    # Business logic\n│   │   ├── decrypt/             # Decryption service\n│   │   └── report/              # Report processing service\n│   └── ports/                   # Interface definitions\n├── pkg/                         # Public packages\n│   └── models/                  # Data models\n├── .github/workflows/           # CI/CD pipelines\n├── BUILD.md                     # Comprehensive build guide\n└── README.md                    # This file\n```\n\n### Working Directory Structure\n\n```\n.\n├── decrypt/                     # Output directory\n│   └── ir2025-02-27-0055/\n│       ├── company__id__hunter.pdf    # Generated PDF report\n│       ├── report/              # Decrypted report data\n│       └── amendment-1/         # Decrypted attachments\n├── encrypt/                     # Input directory\n│   ├── ir2025-02-27-0055.zip    # Compressed report\n│   └── ir2025-02-27-0055/       # Or extracted report folder\n│       ├── report/\n│       │   └── data.ravro       # Encrypted report\n│       ├── judgment-1/\n│       │   └── data.ravro       # Encrypted judgment\n│       └── amendment-1/\n│           └── screenshot.ravro # Encrypted attachment\n└── key/                         # Private keys directory\n    └── COMPANY-PRIVATEKEY.txt   # Private key file\n```\n\n## 💻 Usage\n\n### GUI Application (Recommended for Desktop Users)\n\nSimply double-click `ravro_dcrpt_gui` to launch the graphical interface.\n\n![GUI Screenshot](gui_screenshot.png)\n\n**Features:**\n- 📁 **Large file browsers** (1000×700) - Browse and select directories/files easily\n- 🔑 **Key validation** - Validate private key before processing\n- 📊 **Live logs** - Real-time processing status and progress\n- ✅ **Directory initialization** - One-click setup of required folders\n- 🎯 **Visual feedback** - Clear status messages and error handling\n\n**Steps:**\n1. Click \"📁 Initialize Directories\" to create `encrypt/`, `decrypt/`, and `key/` folders (first time only)\n2. Click \"Browse\" next to each field to select:\n   - **Input Directory**: Your encrypted reports folder or specific report\n   - **Output Directory**: Where PDFs will be saved\n   - **Private Key**: Your `.pem` or `.txt` key file\n3. (Optional) Click \"🔍 Validate Key\" to verify your key\n4. Click \"🚀 Start Processing\" to decrypt and generate PDFs\n5. Check the log area for detailed progress and any errors\n\n### 📄 Generated PDF Features\n\nThe generated PDF reports include:\n\n**✅ Report Information:**\n- Report ID and submission date (Persian calendar)\n- Hunter username and target company\n- Activity date range (Persian dates)\n- Current status and target details\n- IP addresses and URLs\n\n**✅ CVSS Scoring:**\n- Hunter's CVSS vector and score\n- Judge's CVSS evaluation (if available)\n- Severity ratings with color coding\n\n**✅ Vulnerability Details:**\n- Scenario description (with Markdown support)\n- Proof of Concept with full details\n- Technical description\n\n**✅ Attachments:**\n- Organized in a table format\n- File numbering, names, and types\n- Automatic file type detection (Image/PDF/File)\n\n**✅ Judge Information (when available):**\n- Reward amount with thousand separators (e.g., 10,500,000 ریال)\n- Judge's comments and recommendations\n- Vulnerability definition and fix suggestions\n- Review date (Persian calendar)\n\n**✅ Styling:**\n- Clean, professional design\n- Persian (Farsi) Vazirmatn font\n- Right-to-left (RTL) layout\n- Color-coded severity badges\n- Responsive table layouts\n\n## 🛠️ Technologies \u0026 Dependencies\n\nThis project is built with:\n\n**Core:**\n- **Go 1.21+** - Primary programming language\n- **CGO** - C bindings for native library integration\n\n**Cryptography:**\n- **OpenSSL** - PKCS7 encryption/decryption via CGO\n- **go.mozilla.org/pkcs7** - Pure Go PKCS7 support (fallback)\n\n**PDF Generation:**\n- **wkhtmltopdf** - HTML to PDF conversion with WebKit rendering\n- **html/template** - Go's built-in template engine\n\n**GUI Framework:**\n- **Fyne v2** - Cross-platform GUI toolkit (Pure Go)\n\n**CLI Framework:**\n- **Cobra** - Command-line interface framework\n\n**Utilities:**\n- **go-persian-calendar** - Gregorian to Shamsi (Jalali) date conversion\n- **archive/zip** - ZIP file extraction\n\n**Fonts:**\n- **Vazirmatn** - Modern Persian font from Google Fonts\n\n## 🔨 Building from Source\n\nFor comprehensive build instructions including cross-compilation and troubleshooting, see **[BUILD.md](BUILD.md)**.\n\n### Quick Build\n\n\n**Linux/macOS:**\n```bash\ngit clone https://github.com/ravro-ir/ravro_dcrpt.git\ncd ravro_dcrpt\nmake build\n```\n\n\n**📘 See [BUILD.md](BUILD.md) for:**\n- Prerequisites and dependencies\n- Platform-specific instructions\n- Cross-compilation guide\n- Troubleshooting common issues\n\n### 🍎 macOS Special Notes\n\nDue to recent changes in Homebrew, `wkhtmltopdf` has been deprecated. Use our special installation script:\n\n```bash\n# Install wkhtmltopdf for macOS\n./install_wkhtmltopdf_macos.sh\n\n# Then build the project\n./build_macos.sh\n```\n\n\n## 📋 Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed release notes and version history.\n\n## 📄 License\n\nGNU General Public License, version 3\n\n## 👥 Author\n\nRamin Farajpour Cami\n- Email: ramin.blackhat@gmail.com\n- Alternate Email: farajpour@ravro.ir\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravro-ir%2Fravro_dcrpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravro-ir%2Fravro_dcrpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravro-ir%2Fravro_dcrpt/lists"}