mirror of
https://github.com/dstotijn/hetty.git
synced 2025-07-01 18:47:29 -04:00
Replace SQLite with BadgerDB
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
|
||||
## Installation
|
||||
|
||||
Hetty compiles to a static binary, with an embedded SQLite database and web
|
||||
Hetty compiles to a static binary, with an embedded BadgerDB database and web
|
||||
admin interface.
|
||||
|
||||
### Install pre-built release (recommended)
|
||||
@ -16,11 +16,10 @@ admin interface.
|
||||
- [Go 1.16](https://golang.org/)
|
||||
- [Yarn](https://yarnpkg.com/)
|
||||
|
||||
Hetty depends on SQLite (via [mattn/go-sqlite3](https://github.com/mattn/go-sqlite3))
|
||||
and needs `cgo` to compile. Additionally, the static resources for the admin interface
|
||||
When building from source, the static resources for the admin interface
|
||||
(Next.js) need to be generated via [Yarn](https://yarnpkg.com/). The generated
|
||||
files will be embedded (using the [embed](https://golang.org/pkg/embed/) package)
|
||||
when you use the `build` Makefile target..
|
||||
files will be embedded (using the [embed](https://golang.org/pkg/embed/)
|
||||
package) when you use the `build` Makefile target.
|
||||
|
||||
Clone the repository and use the `build` make target to create a binary:
|
||||
|
||||
@ -46,7 +45,7 @@ When Hetty is started, by default it listens on `:8080` and is accessible via
|
||||
[http://localhost:8080](http://localhost:8080). Depending on incoming HTTP
|
||||
requests, it either acts as a MITM proxy, or it serves the API and web interface.
|
||||
|
||||
By default, project database files and CA certificates are stored in a `.hetty`
|
||||
By default, the projects database files and CA certificates are stored in a `.hetty`
|
||||
directory under the user's home directory (`$HOME` on Linux/macOS, `%USERPROFILE%`
|
||||
on Windows).
|
||||
|
||||
@ -80,6 +79,6 @@ Usage of ./hetty:
|
||||
CA certificate filepath. Creates a new CA certificate if file doesn't exist (default "~/.hetty/hetty_cert.pem")
|
||||
-key string
|
||||
CA private key filepath. Creates a new CA private key if file doesn't exist (default "~/.hetty/hetty_key.pem")
|
||||
-projects string
|
||||
Projects directory path (default "~/.hetty/projects")
|
||||
-db string
|
||||
Database directory path (default "~/.hetty/db")
|
||||
```
|
||||
|
@ -17,7 +17,7 @@ features tailored to the needs of the infosec and bug bounty community.
|
||||
## Features
|
||||
|
||||
- Machine-in-the-middle (MITM) HTTP/1.1 proxy with logs
|
||||
- Project based database storage (SQLite)
|
||||
- Project based database storage (BadgerDB)
|
||||
- Scope support
|
||||
- Headless management API using GraphQL
|
||||
- Embedded web admin interface (Next.js)
|
||||
|
@ -14,7 +14,7 @@ The available modules:
|
||||
|
||||
## Projects
|
||||
|
||||
Projects are self-contained (SQLite) database files that contain module data.
|
||||
Projects are stored in a single BadgerDB database on disk.
|
||||
They allow you organize your work, for example to split your work between research
|
||||
targets.
|
||||
|
||||
@ -25,19 +25,15 @@ typically the first thing you do when you start using Hetty.
|
||||
### Creating a new project
|
||||
|
||||
When you open the Hetty admin interface after starting the program, you’ll be prompted
|
||||
on the homepage to create a new project. Give it a name (alphanumeric and space character)
|
||||
and click the create button:
|
||||
on the homepage to “Manage projects”, which leads to the “Projects” page where
|
||||
you can open an existing project or create a new one:
|
||||
|
||||

|
||||
|
||||
The project name will become the base for the database file on disk. For example,
|
||||
if you name your project `My first project`, the file on disk will be
|
||||
`My first project.db`.
|
||||
|
||||
::: tip INFO
|
||||
Project database files by default are stored in `$HOME/.hetty/projects` on Linux
|
||||
and macOS, and `%USERPROFILE%/.hetty` on Windows. You can override this path with
|
||||
the `-projects` flag. See: [Usage](/guide/getting-started.md#usage).
|
||||
Projects are stored in a single BadgerDB database, stored in `$HOME/.hetty/db` on Linux
|
||||
and macOS, and `%USERPROFILE%/.hetty/db` on Windows. You can override this path with
|
||||
the `-db` flag. See: [Usage](/guide/getting-started.md#usage).
|
||||
:::
|
||||
|
||||
### Managing projects
|
||||
|
Reference in New Issue
Block a user