{"id":13843318,"url":"https://github.com/wgpsec/fofa_viewer","last_synced_at":"2025-12-26T15:33:31.902Z","repository":{"id":36977523,"uuid":"357782569","full_name":"wgpsec/fofa_viewer","owner":"wgpsec","description":"A simple FOFA client written in JavaFX.  Made by WgpSec, Maintained by f1ashine.","archived":false,"fork":false,"pushed_at":"2024-06-11T14:24:19.000Z","size":17490,"stargazers_count":1670,"open_issues_count":21,"forks_count":165,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-07T20:09:57.289Z","etag":null,"topics":["cybersecurity","fofa","fofa-api","fofa-search","redteam","security-tools"],"latest_commit_sha":null,"homepage":"https://opensource.wgpsec.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wgpsec.png","metadata":{"files":{"readme":"README.en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2021-04-14T05:16:06.000Z","updated_at":"2025-04-03T08:21:18.000Z","dependencies_parsed_at":"2024-06-11T16:18:07.767Z","dependency_job_id":"04d46748-67a9-41b6-90d3-0eae17e9142a","html_url":"https://github.com/wgpsec/fofa_viewer","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Ffofa_viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Ffofa_viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Ffofa_viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpsec%2Ffofa_viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wgpsec","download_url":"https://codeload.github.com/wgpsec/fofa_viewer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364270,"owners_count":22058878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cybersecurity","fofa","fofa-api","fofa-search","redteam","security-tools"],"created_at":"2024-08-04T17:01:59.429Z","updated_at":"2025-12-26T15:33:31.857Z","avatar_url":"https://github.com/wgpsec.png","language":"Java","funding_links":[],"categories":["Java Search Automation Tools","Java"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eFofa_Viewer 🔗 \u003c/h1\u003e\n\u003cp align=\"center\"\u003e \n\u003cimg src=\"https://img.shields.io/badge/JDK-1.8-green\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/version-1.0.9-brightgreen\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/author-f1ashine-orange\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/WgpSec-%E7%8B%BC%E7%BB%84%E5%AE%89%E5%85%A8%E5%9B%A2%E9%98%9F-blue\"\u003e\n\u003c/p\u003e\n\n[中文](README.md) | EN\n\n## Introduction\n\nFofa Viewer is a user-friendly FOFA client written in JavaFX, attributed to the WgpSec Community and primarily maintained by [**f1ashine**](https://github.com/f1ashine). By leveraging the powerful internet search engine [FoFa](https://en.fofa.info/), it encapsulates many commonly used APIs into a concise UI, making it easier for cybersecurity professionals to hunt for vulnerabilities on target websites. With its out-of-the-box functionality, Fofa Viewer streamlines the search process, helping penetration testers quickly obtain the information they need.\n\n## Usage\nThe data obtained by this tool through FoFa's API.  \nYou need to set the API key of senior member or ordinary member to the file config.properties.  \nUsing the API key of the registered user will prompt that the account needs to be topped up with F coins\n\nClick https://github.com/wgpsec/fofa_viewer/releases to download.\n\n- If you are using JDK11 or higher version, please download the zip package without version number.\n- If you are using JDK8, please download FoFaViewer_JDK8.zip\n\nDownload [latest build](https://github.com/wgpsec/fofa_viewer/releases/) and edit `config.properties` to start.\nThe default base domain of FOFA api is `https://fofa.info`. You can change it in config if FOFA made any change.\n\nMacOS users can [Create a Automator Workflow](docs/mac.md) to pin Fofa_Viewer in Dashboard.\n\n## :sparkles: Features\n1. Support tabs\n2. Feature-rich Context Menu on items\n3. Export query result into Excel spreadsheet\n4. Manually set max query count pre query for non-premium users (Change value of `maxSize` in `config.properties`)\n5. Fill hex certificate signature into homepage's toolbox to convert it to FOFA's decimal format. Use `cert=\"converted_value\"` to match a certain SSL certificate. [Example (zh)](https://mp.weixin.qq.com/s/jBf9h6IQVja6WwFcSYEvKg)\n6. Input autocompletion\n7. Support FOFA's exclude fraud/honeypot feature (Only for FoFa senior user, will mark a `(*)` in tab when active)\n8. Support Fid query (Only for FoFa senior user, need to check the box)\n9. FOFA grammar cheatsheet\n\n![](docs/en/ui.png)\n![](docs/en/search.jpg)\n\n## Q\u0026A\n1. Why I can't export more than 10000 items?\n\n  Due to FOFA API limitions, only a maximum of 10000 items can be returned in a single query.\n  Please try adding `after` and `before` criteria to limit total data count.\n\n2. Why not all data can be displayed and exported?\n\n  We removed some duplicates in returned data. Following types of data are removed:\n  - Port 80: remove items with `http` protocol field\n    ![](docs/80http.png)\n  - Port 443: remove items with `https` protocol field\n    ![](docs/443https.png)\n  - Non port 80: remove items with `http` protocol field\n    ![](docs/非80http.png)\n  - Non port 443: remove items with `https` protocol field\n    ![](docs/非443https.png)\n\n3. Why some favicons are missing?\n\n  A browser do following steps to get a favicon:\n  - Select `\u003clink rel=\"icon\" href=...\u003e` tag in HTML header\n  - If no such tags are found, try load `favicon.ico` in site root\n  - If no such file, no favicon is provided\n\n  This tool use jsonp to parse HTML document, thus it is unable to parse some js-bundled site. In this case, paste favicon link into homepage's hash box manually.\n   \n4. How to sort both IP and Port fields?\n\n  Click IP or Port's column heading to select it, then hold shift and select another column to sort together.\n\n## :rocket: Development\n\nClone the project:\n\n```\ngit clone https://github.com/wgpsec/fofa_viewer.git\n```\n\nAdd following Run/Debug Configuration in IDEA:\n\n![](docs/compile_detail.png)\n\nRun `assembly:assembly` target, then copy all \"with-dependencies\" dependencies in `target` folder into the folder containing `config.properties`\n\n![](docs/maven_detail.png)\n\n\n\n## ⚠️ Note\n- Configure `email` and `key` in `config.properties` before use.\n- Attach `error.log` if you encountered a bug and wish to file an issue.\n- Launch fofaviewer in a terminal if any unhandled error occurred. Please then report it to us with detailed traceback.\n\n![](https://assets.wgpsec.org/www/images/wechat.png)\n\n[![Stargazers over time](https://starchart.cc/wgpsec/fofa_viewer.svg)](https://starchart.cc/wgpsec/fofa_viewer)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgpsec%2Ffofa_viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwgpsec%2Ffofa_viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgpsec%2Ffofa_viewer/lists"}