https://github.com/rpj/eeves
R.P. Jeeves -- Your butler in New Eden
https://github.com/rpj/eeves
cli-app eve-online game-tool nodejs oauth-redirect-server
Last synced: 3 months ago
JSON representation
R.P. Jeeves -- Your butler in New Eden
- Host: GitHub
- URL: https://github.com/rpj/eeves
- Owner: rpj
- Created: 2020-03-22T01:08:19.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-02-11T11:41:55.000Z (over 2 years ago)
- Last Synced: 2025-02-04T17:51:00.293Z (8 months ago)
- Topics: cli-app, eve-online, game-tool, nodejs, oauth-redirect-server
- Language: JavaScript
- Homepage:
- Size: 405 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# R.P. Jeeves
#### Your butler in New Eden
What began as a "quick" day-project exploration into [the ESI](https://esi.evetech.net/) turned into... whatever this is.
It's messy as can be, but has proven useful & so has been made public in the hope it can be for others.
## Screenshots
(From various versions)




## Setup
### Prerequisites
`node` version 12 or later
### Installation
In the top-level repository directory (after `clone`):
> `npm install`
## Configuration
### General
`app.`
| Name | Description |
| --- | --- |
| `useSystemOpen` | Use the running system's `open` tool to open the authentication page in default browser (only OS X and Debian-like Linux currently supported) |
| `alwaysUseCachedAuth` | Always use a found cached authorization without prompting |
| `useStaticDataCache` | Use the EVE static data cache; adds *~1.5 gigabytes* to the on-disk footprint, but speeds up many operations significantly |
| `useSimpleAuthResponse` | Fall back to a simple copy/paste authentication flow, for when the redirect server in `http.js` isn't being used |
| `authTimeout` | How long, in minutes, to wait for authentication response from server |### Character tool
`app.character.`
| Name | Description |
| --- | --- |
| `autoloadCharacterCard` | Automatically load the character card |
| `minimumCharacterRefresh` | Minimum time, in minutes, to allow character info refreshes |### Route tool
`app.route.`
| Name | Description | Values |
| --- | --- | --- |
| `securityPreference` | Which route security preference to use; adjustable in-app | "shortest", "secure", "insecure" |
| `superDangerThreshold` | The number of pod kills in the last hour required to qualify as "super dangerous"; adjustable in-app | |### zKillboard lookup
`app.zkb.`
| Name | Description |
| --- | --- |
| `rlDelay` | Rate-limit delay; contrary to documentation, zKB clearly has a rate limit. Leave this as-is unless you know otherwise |
| `lookbackWindow` | How far back - in hours - to query kill data for each solar system |
| `maintainer` | A valid email address to be sent in the `User-Agent` header to zKillboard; their terms of service, not mine |### Market tool
`app.market.`
| Name | Description |
| --- | --- |
| `refresh` | Amount of time, in minutes, between market data refreshes (includes watched orders) |
| `rescheduleFailedWork` | Automatically reschedules failed work items |## Usage
### Authentication
EVE's OAuth2 implementation produces tokens that are valid for 20 minutes. `rpjeeves` will automatically renew it's authentication indefinitely and caches the most-recent token. Hoever if only run infrequently you should expect to need to reauthenticate each time.### Initial static data setup
Requires at least 1.5 gigabytes of disk space, as it sources the [EVE static data](https://eve-static-data-export.s3-eu-west-1.amazonaws.com/tranquility/sde.zip) bundle, unpacks and parses it into a form used to *significantly* increase application performace.This process will only be run once on first execution. Use of the cache can be disabled at any time by setting `config.app.useStaticDataCache` to `false`. If this value is `false` at initial execution, no download will take place and will instead occur if/when the feature is enabled.
## OAuth redirect server
Found in [`http.js`](http.js), configured via the `http` section & run via `npm run server`, it is a simple & *insecure* stateful OAuth redirect server. But, it does work. Run it behind a reverse proxy such as `nginx`.