|
1 | 1 | [](https://github.com/EXXETA/trufos/actions/workflows/ci.yml) |
2 | 2 |  |
3 | 3 | [](https://discord.gg/sb4nfdevpW) |
4 | | - |
| 4 | + |
5 | 5 |
|
6 | 6 | <h1 align="center">Trufos - The REST Utility, free and Open Source</h1> |
7 | 7 | <p align="center"> |
8 | 8 | A REST client that is both easy to use, efficient, and extendable. |
9 | 9 | </p> |
10 | 10 |
|
11 | 11 | As many REST clients exist in the ecosystem, Trufos aims to provide an out-of-the-box experience |
12 | | -that is fast, user-friendly, and customizable. Trufos intends to offer the following features: |
| 12 | +that is fast, user-friendly, and customizable. Below is an overview of current and planned features: |
| 13 | + |
| 14 | +| Feature | Status | Notes | |
| 15 | +| --------------------------------------------- | -------------- | -------------------------------------------------------- | |
| 16 | +| Project maturity | 🚧 Early Stage | Active development; APIs & data shapes may evolve | |
| 17 | +| Offline usage (no registration / login) | ✅ Implemented | Works fully offline; all data stored locally | |
| 18 | +| Cross-platform (Win / macOS / Linux) | ✅ Implemented | Electron-based distribution with native packaging | |
| 19 | +| Handling of large request & response payloads | ✅ Implemented | Streamed & chunked processing keeps UI responsive | |
| 20 | +| Version control-friendly collections | ✅ Implemented | Collections stored as JSON for easy diff & collaboration | |
| 21 | +| Third party collection import | 🚧 Partially | Currently supports Postman | |
| 22 | +| Environment & variable management | ✅ Implemented | Named environments with scoped variables | |
| 23 | +| Authentication (JWT, OAuth 2.0, Basic) | ✅ Implemented | Strategy factory incl. OAuth2 client credentials | |
| 24 | +| Scripting (custom request/response handling) | 🛠 Planned | Script engine & sandbox design in progress | |
| 25 | +| Plugin architecture / extensions | 🛠 Planned | Extensible API for third-party integrations | |
| 26 | + |
| 27 | +If you would like to contribute to this project, please check out our [Contributing Guidelines](./CONTRIBUTING.md). |
13 | 28 |
|
14 | | -- Offline usage: No registration or login required |
15 | | -- Smooth handling of large request and response objects |
16 | | -- Version control-friendly storage of requests and collections, facilitating easy collaboration |
17 | | -- Custom handling of HTTP requests and responses via script injection |
18 | | -- Support for various authentication methods, including JWT, OAuth, and basic authentication |
19 | | -- Extendable plugin architecture for additional features and integrations |
| 29 | + |
20 | 30 |
|
21 | | -**Current Development Status**: Trufos is still at an early stage of development. Be aware of this |
22 | | -when using Trufos under production conditions. If you would like to contribute to this project, |
23 | | -please check out our [Contributing Guidelines](./CONTRIBUTING.md). |
| 31 | + |
24 | 32 |
|
25 | | - |
| 33 | +## Installation |
| 34 | + |
| 35 | +Grab the latest release from the [GitHub Releases](https://github.com/EXXETA/trufos/releases) page and install it for your platform: |
| 36 | + |
| 37 | +- Windows: Download the `Setup.exe` installer |
| 38 | +- macOS: Download the `.dmg` image |
| 39 | +- Linux: Download the `.zip` archive (native `.deb` packaging planned) |
26 | 40 |
|
27 | | - |
| 41 | +No account or telemetry is required—Trufos runs locally and keeps your data on your machine. |
28 | 42 |
|
29 | 43 | ## Requirements |
30 | 44 |
|
@@ -62,6 +76,47 @@ Here’s a simple example of how to add and utilize an endpoint: |
62 | 76 | 4. Optionally, add headers and body content. |
63 | 77 | 5. Click "Send Request" and review the response in the results area. |
64 | 78 |
|
| 79 | +### Importing Collections |
| 80 | + |
| 81 | +You can import existing Postman collections to migrate quickly: |
| 82 | + |
| 83 | +1. Open the collection import view. |
| 84 | +2. Select the Postman collection file or directory. |
| 85 | +3. Confirm import; Trufos will convert and persist it under a folder named after the collection title. |
| 86 | + |
| 87 | +Collections are saved in a version-control-friendly JSON structure so you can diff and review changes. |
| 88 | + |
| 89 | +### Environments & Variables |
| 90 | + |
| 91 | +Define multiple environments (e.g., `dev`, `staging`, `prod`) each with its own variables. Selecting an environment scopes variable resolution for requests. Variables and environments are also stored as JSON ensuring easy collaboration. |
| 92 | + |
| 93 | +### Large Payload Streaming |
| 94 | + |
| 95 | +Trufos uses IPC push streams to process large request/response bodies incrementally. This avoids blocking the UI and keeps memory usage lower when dealing with multi-megabyte payloads. |
| 96 | + |
| 97 | +### Development Commands |
| 98 | + |
| 99 | +| Command | Description | |
| 100 | +| --------------------- | ------------------------------------------------- | |
| 101 | +| `yarn start` | Run the app in development mode (Electron + Vite) | |
| 102 | +| `yarn make` | Package distributables for the current OS | |
| 103 | +| `yarn test` | Execute Vitest test suite | |
| 104 | +| `yarn lint` | Run ESLint over TypeScript & React sources | |
| 105 | +| `yarn prettier` | Format code (TS/TSX) with Prettier | |
| 106 | +| `yarn prettier-check` | Check formatting without writing changes | |
| 107 | + |
| 108 | +### Roadmap (High-Level) |
| 109 | + |
| 110 | +| Item | Status | Notes | |
| 111 | +| ----------------------------------------- | ------- | ------------------------------------------------ | |
| 112 | +| Scripting engine (request/response hooks) | Planned | Execution sandbox & dependency management design | |
| 113 | +| Plugin architecture | Planned | Public extension API & lifecycle hooks | |
| 114 | +| More auth strategies (Hawk, NTLM, etc.) | Planned | Evaluating demand & libraries | |
| 115 | +| Linux native packaging (`.deb`) | Planned | Electron Forge configuration WIP | |
| 116 | +| Improved collection diff tooling | Planned | Visual diff & merge assistance | |
| 117 | +| Performance profiling view | Planned | Inspect timing & size insights | |
| 118 | +| Accessibility enhancements | Planned | WCAG compliance audit scheduled | |
| 119 | + |
65 | 120 | ## FAQ |
66 | 121 |
|
67 | 122 | - Where can I find the saved Requests? |
|
0 commit comments