Conversation
This commit introduces a major overhaul of the Dork Builder user interface, transforming it into a more interactive, "Scratch-like" experience.
Key changes include:
1. **Modular Architecture:**
- Refactored `app/page.tsx` to delegate dork building logic to new, specialized components:
- `DorkingInterface`: Manages overall dork building state and orchestrates interactions.
- `CustomBlockManager`: Handles creation and validation of custom dork blocks.
- Consolidated `DorkBlock` types and predefined block data into `types/dork.ts` and `lib/dork-utils.ts` respectively.
2. **Drag-and-Drop Interface:**
- Implemented drag-and-drop functionality allowing you to drag blocks from a palette (`DorkBlockList`) into a workspace (`DorkBuilderArea`).
- A unified `@dnd-kit` context manages both adding new blocks and reordering existing blocks within the workspace.
3. **Visual Styling:**
- Applied "Scratch-like" styling to dork blocks, including:
- Color-coding based on block type (e.g., `site`, `filetype`).
- Improved block shapes, shadows, and input field appearance.
- Enhanced visual feedback for dragging, dropping, and hover states.
- Styled the workspace with a clearer drop zone and a subtle background pattern.
4. **Custom Block Enhancements:**
- Refined the custom block creation process with improved form validation and feedback to you (toasts).
- Implemented LocalStorage persistence for custom block templates, so your creations are saved across sessions.
- Ensured custom blocks are correctly displayed in the palette and are draggable to the workspace.
These changes significantly improve the usability, intuitiveness, and visual appeal of the dork builder, providing a more flexible and engaging experience for you.
feat: Revamp Dork Builder UI to Scratch-like interface
This feature allows you to browse, search, and import dorks directly from the Exploit-DB Google Hacking Database.
Key components and changes:
1. **GHDB Service (`lib/ghdb-service.ts`):**
- A new service module to fetch and parse GHDB entries from Exploit-DB.
- It accesses the JSON data feed provided by Exploit-DB's DataTables interface.
- Includes logic to extract dork strings, titles, categories, and other relevant information from the JSON response, including parsing HTML snippets within the data.
2. **GHDB Explorer (`components/dork-builder/ghdb-explorer.tsx`):**
- A new UI component that provides:
- Keyword search functionality for the GHDB.
- Paginated display of GHDB entries.
- An "Import" button for each entry to add it to your workspace.
- Handles loading states, error display, and notifications.
3. **Integration into `DorkingInterface`:**
- The GHDB Explorer is now accessible via a new "GHDB Explorer" tab in the left panel of the dork building interface.
- Imported GHDB dorks are added to the workspace as new, editable blocks (currently typed as 'custom' with the dork string as the value).
This integration provides you with a powerful resource for discovering and utilizing a vast collection of Google dorks, enhancing the tool's versatility and effectiveness for OSINT and security research.
feat: Integrate Exploit-DB Google Hacking Database (GHDB)
… (Phase 1)
This commit marks the completion of Phase 1 of rewriting the Dork Builder application from a Next.js/React project to a static HTML, CSS, and vanilla JavaScript application. This change aims to simplify development, resolve persistent build/deployment issues, and provide a more straightforward foundation.
**Key Changes and Features Implemented in Phase 1:**
1. **New Static Structure:**
* Replaced Next.js structure with `index.html`, `style.css`, and JavaScript modules in a `js/` directory (`main.js`, `domUtils.js`, `blockManager.js`, `customBlock.js`).
* This inherently removes many previously used files and configurations specific to the Next.js version (e.g., Next.js components, pages, next.config.js, etc.).
2. **UI and Styling:**
* Established a new semantic HTML structure for all application areas.
* Implemented a comprehensive dark theme using CSS, styling the layout, panels, dork blocks (with type-specific visual cues), forms, and buttons. Basic responsiveness is included.
3. **Core Dork Building Functionality (Vanilla JS):**
* **Palette:** Dynamically renders predefined dork blocks.
* **Workspace:** Allows you to add blocks from the palette by clicking. Workspace blocks display operator, an input field, and a remove button.
* **Block Interaction:** Supports value input in workspace blocks and removal of blocks.
* **Query Generation:** Dynamically creates and displays the dork query string based on workspace content.
* **Search Execution:** Enables you to execute the generated query in a selected search engine (Google, Bing, DuckDuckGo).
* **Custom Blocks (Session-Only):** Provides a form for you to define custom dork blocks, which then become available in the palette for the current session.
This foundational static version of the application is now functional. The next planned step is to implement LocalStorage persistence for custom blocks and then introduce drag-and-drop functionality.
feat: Rewrite application to static HTML, CSS, and Vanilla JavaScript…
…ite.
This addresses the cleanup of files from the previous Next.js project structure following the rewrite to a static HTML, CSS, and vanilla JavaScript application.
Changes:
- I successfully deleted several obsolete root-level configuration files specific to the Next.js/React/TypeScript setup, including:
- components.json
- next.config.js, next.config.mjs
- postcss.config.js, postcss.config.mjs
- tailwind.config.ts
- tsconfig.json
- .eslintrc.json
- I verified that essential files for the new static application (index.html, style.css, js/*, public/*, package.json, etc.) are intact.
Known Issue:
- I could not delete obsolete directories from the Next.js structure (e.g., app/, components/, hooks/, lib/, styles/, types/). These directories currently remain in the repository but are not used by the static application.
The primary goal of this cleanup was to remove unneeded configuration clutter. You might need to perform further manual cleanup of the directories.
I've attempted to clean up unused Next.js files after the static rewr…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.