Skip to content

Commit 57e661e

Browse files
committed
Update
1 parent 45c6c78 commit 57e661e

File tree

5 files changed

+116
-21
lines changed

5 files changed

+116
-21
lines changed

docs/contributing.md

Lines changed: 54 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Contributing
1+
_# Contributing
22

33
## Prerequisites
44

@@ -23,10 +23,10 @@ Run the following commands:
2323

2424
```sh
2525
npm run dev
26-
npx tsc -p tsconfig.node.json
27-
node ./dist/backend/starter.js
26+
npm run dev:backend
2827
```
2928

29+
a
3030
This will start the backend and the frontend Vite server. You can access Termix by going to `http://localhost:5174/`.
3131

3232
## Contributing
@@ -38,23 +38,70 @@ This will start the backend and the frontend Vite server. You can access Termix
3838
git checkout -b feature/my-new-feature
3939
```
4040
3. **Make your changes**: Implement your feature, fix, or improvement.
41-
4. **Commit your changes**:
41+
4. **Commit your changes**:
4242
```sh
43-
git commit -m "Add feature: my new feature"
43+
git commit -m "Feature request my new feature"
4444
```
4545
5. **Push to your fork**:
4646
```sh
47-
git push origin feature/my-new-feature
47+
git push origin feature/my-feature-request
4848
```
4949
6. **Open a pull request**: Go to the original repository and create a PR with a clear description.
5050

5151
## 📝 Guidelines
5252

5353
- Follow the existing code style. Use Tailwind CSS with shadcn components.
54+
- Use the below color scheme with the respective CSS variable placed in the `className` of a div/component.
5455
- Place all API routes in the `main-axios.ts` file. Updating the `openapi.json` is unneeded.
5556
- Include meaningful commit messages.
5657
- Link related issues when applicable.
58+
- `MobileApp.tsx` renders when the users screen width is less than 768px, otherwise it loads the usual `DesktopApp.tsx`.
59+
60+
## Color Scheme
61+
62+
### Background Colors
63+
64+
| CSS Variable | Color Value | Usage | Description |
65+
|-------------------------------|-------------|-----------------------------|------------------------------------------|
66+
| `--color-dark-bg` | `#18181b` | Main dark background | Primary dark background color |
67+
| `--color-dark-bg-darker` | `#0e0e10` | Darker backgrounds | Darker variant for panels and containers |
68+
| `--color-dark-bg-darkest` | `#09090b` | Darkest backgrounds | Darkest background (terminal) |
69+
| `--color-dark-bg-light` | `#141416` | Light dark backgrounds | Lighter variant of dark background |
70+
| `--color-dark-bg-very-light` | `#101014` | Very light dark backgrounds | Very light variant of dark background |
71+
| `--color-dark-bg-panel` | `#1b1b1e` | Panel backgrounds | Background for panels and cards |
72+
| `--color-dark-bg-panel-hover` | `#232327` | Panel hover states | Background for panels on hover |
73+
74+
### Element-Specific Backgrounds
75+
76+
| CSS Variable | Color Value | Usage | Description |
77+
|--------------------------|-------------|--------------------|-----------------------------------------------|
78+
| `--color-dark-bg-input` | `#222225` | Input fields | Background for input fields and form elements |
79+
| `--color-dark-bg-button` | `#23232a` | Button backgrounds | Background for buttons and clickable elements |
80+
| `--color-dark-bg-active` | `#1d1d1f` | Active states | Background for active/selected elements |
81+
| `--color-dark-bg-header` | `#131316` | Header backgrounds | Background for headers and navigation bars |
82+
83+
### Border Colors
84+
85+
| CSS Variable | Color Value | Usage | Description |
86+
|------------------------------|-------------|-----------------|------------------------------------------|
87+
| `--color-dark-border` | `#303032` | Default borders | Standard border color |
88+
| `--color-dark-border-active` | `#2d2d30` | Active borders | Border color for active elements |
89+
| `--color-dark-border-hover` | `#434345` | Hover borders | Border color on hover states |
90+
| `--color-dark-border-light` | `#5a5a5d` | Light borders | Lighter border color for subtle elements |
91+
| `--color-dark-border-medium` | `#373739` | Medium borders | Medium weight border color |
92+
| `--color-dark-border-panel` | `#222224` | Panel borders | Border color for panels and cards |
93+
94+
### Interactive States
95+
96+
| CSS Variable | Color Value | Usage | Description |
97+
|--------------------------|-------------|-------------------|-----------------------------------------------|
98+
| `--color-dark-hover` | `#2d2d30` | Hover states | Background color for hover effects |
99+
| `--color-dark-active` | `#2a2a2c` | Active states | Background color for active elements |
100+
| `--color-dark-pressed` | `#1a1a1c` | Pressed states | Background color for pressed/clicked elements |
101+
| `--color-dark-hover-alt` | `#2a2a2d` | Alternative hover | Alternative hover state color |
57102

58103
## Support
59104

60-
If you need help with Termix, you can join the [Discord](https://discord.gg/jVQGdvHDrf) server and visit the support channel. You can also open an issue or open a pull request on the [GitHub](https://github.com/LukeGus/Termix/issues) repo.
105+
If you need help with Termix, you can join the [Discord](https://discord.gg/jVQGdvHDrf) server and visit the support
106+
channel. You can also open an issue or open a pull request on the [GitHub](https://github.com/LukeGus/Termix/issues)
107+
repo.

docs/install.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Termix can be installed using Docker, Docker Compose, or manually. Choose the method that works best for your environment.
44

5-
### Docker Installation
5+
## Docker Installation
66

77
The simplest way to get Termix up and running is with Docker:
88

@@ -20,7 +20,7 @@ docker run -d \
2020
ghcr.io/lukegus/termix:latest
2121
```
2222

23-
### Docker Compose Installation
23+
## Docker Compose Installation
2424

2525
For a more comprehensive setup, you can use Docker Compose:
2626

@@ -48,20 +48,20 @@ To start the container, run:
4848
docker-compose up -d
4949
```
5050

51-
### Environment Variables
51+
## Environment Variables
5252
| Config Name | Variable Name | Default/Note |
5353
|-------------|---------------|----------------------------------------------------------------------------|
5454
| Port | PORT | 8080 / Port for the frontend application (no other ports should be opened) |
5555

56-
### Manual Installation
56+
## Manual Installation
5757

5858
If you prefer a manual installation, follow these steps:
5959

60-
#### Required Packages
60+
### Required Packages
6161
- NPM
6262
- NodeJS
6363

64-
#### Installation Steps
64+
### Installation Steps
6565

6666
1. Clone the repository:
6767
```bash
@@ -86,10 +86,13 @@ For production environments, we recommend running the website via Nginx. See the
8686

8787
4. Start the backend services.
8888
```bash
89-
npx tsc -p tsconfig.node.json
90-
node ./dist/backend/starter.js
89+
npm run dev:backend
9190
```
9291

92+
## Pre-built Binaries
93+
94+
You can download a Windows installer/portable and a Linux portable within the latest release at <https://github.com/LukeGus/Termix/releases>. However, this is under development.
95+
9396
## Usage
9497

9598
Once installed, Termix will be available at `http://localhost:8080` (or whichever port you configured).

docs/json-import.md

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ Use this guide to create JSON files for bulk importing SSH hosts. All examples a
77
- **`ip`** - Host IP address (string)
88
- **`port`** - SSH port (number, 1-65535)
99
- **`username`** - SSH username (string)
10-
- **`authType`** - "password" or "key"
10+
- **`authType`** - Authentication type: `"password"`, `"key"`, or `"credential"`
1111

1212
## Authentication Fields
1313

1414
- **`password`** - Required if authType is "password"
1515
- **`key`** - SSH private key content (string) if authType is "key"
1616
- **`keyPassword`** - Optional key passphrase
17-
- **`keyType`** - Key type (auto, ssh-rsa, ssh-ed25519, etc.)
17+
- **`keyType`** - Key type: `"auto"`, `"ssh-rsa"`, `"ssh-ed25519"`, `"ecdsa-sha2-nistp256"`, `"ecdsa-sha2-nistp384"`, `"ecdsa-sha2-nistp521"`, `"ssh-dss"`, `"ssh-rsa-sha2-256"`, `"ssh-rsa-sha2-512"`
18+
- **`credentialId`** - ID of existing credential (number) if `authType` is `"credential"`
19+
1820

1921
## Optional Fields
2022

@@ -43,19 +45,60 @@ Use this guide to create JSON files for bulk importing SSH hosts. All examples a
4345
{
4446
"hosts": [
4547
{
46-
"name": "Web Server",
48+
"name": "Web Server - Production",
4749
"ip": "192.168.1.100",
4850
"port": 22,
4951
"username": "admin",
5052
"authType": "password",
51-
"password": "your_password",
53+
"password": "your_secure_password_here",
5254
"folder": "Production",
53-
"tags": ["web", "production"],
55+
"tags": ["web", "production", "nginx"],
5456
"pin": true,
5557
"enableTerminal": true,
5658
"enableTunnel": false,
5759
"enableFileManager": true,
5860
"defaultPath": "/var/www"
61+
},
62+
{
63+
"name": "Database Server",
64+
"ip": "192.168.1.101",
65+
"port": 22,
66+
"username": "dbadmin",
67+
"authType": "key",
68+
"key": "-----BEGIN OPENSSH PRIVATE KEY-----\nYour SSH private key content here\n-----END OPENSSH PRIVATE KEY-----",
69+
"keyPassword": "optional_key_passphrase",
70+
"keyType": "ssh-ed25519",
71+
"folder": "Production",
72+
"tags": ["database", "production", "postgresql"],
73+
"pin": false,
74+
"enableTerminal": true,
75+
"enableTunnel": true,
76+
"enableFileManager": false,
77+
"tunnelConnections": [
78+
{
79+
"sourcePort": 5432,
80+
"endpointPort": 5432,
81+
"endpointHost": "Web Server - Production",
82+
"maxRetries": 3,
83+
"retryInterval": 10,
84+
"autoStart": true
85+
}
86+
]
87+
},
88+
{
89+
"name": "Development Server",
90+
"ip": "192.168.1.102",
91+
"port": 2222,
92+
"username": "developer",
93+
"authType": "credential",
94+
"credentialId": 1,
95+
"folder": "Development",
96+
"tags": ["dev", "testing"],
97+
"pin": false,
98+
"enableTerminal": true,
99+
"enableTunnel": false,
100+
"enableFileManager": true,
101+
"defaultPath": "/home/developer"
59102
}
60103
]
61104
}
@@ -64,8 +107,10 @@ Use this guide to create JSON files for bulk importing SSH hosts. All examples a
64107
## Notes
65108

66109
- Maximum 100 hosts per import
67-
- File should contain a "hosts" array or be an array of host objects
110+
- File must contain a "hosts" array or be an array of host objects
68111
- Use the Download Sample button in the Host Manager to get a complete example file
112+
- Credential authentication requires existing credentials to be created first before importing
113+
- Sensitive data (passwords/keys) is excluded from exports
69114

70115
## Support
71116

docs/public/favicon.ico

-52.8 KB
Binary file not shown.

docs/public/logo512.webp

13.6 KB
Loading

0 commit comments

Comments
 (0)