$ show AntSwordProject/antSword
AntSword is an Electron-based desktop application for managing web shells on remote servers, primarily used by penetration testers and authorized security researchers. It provides a tabbed interface for shell management, file browsing, virtual terminal access, database querying, and plugin execution. The core engine in source/core generates HTTP requests from per-language templates (PHP, ASP, ASPX, JSP, etc.), applies configurable encoders/decoders for obfuscation, and parses responses using charset detection. Shell credentials and settings are persisted locally via nedb through modules/cache.js and modules/database.js.
The LLM identified 2 files worth highlighting for reuse:
Self-contained utility that detects the character encoding of raw buffers using jschardet and converts them to JavaScript strings using iconv-lite. It is used across AntSword to handle shell responses in arbitrary encodings. Because it does not depend on the antSword global, it can be extracted into any Node.js project dealing with legacy or mixed-encoding text.
Central communication layer that builds and sends HTTP/WebSocket requests with support for custom headers, proxies, chunked transfer, and binary payloads. It abstracts transport differences between shell types and returns normalized responses. While tuned for AntSword's template-based request format, the transport abstraction and proxy handling could be reused in other security or scraping tools.