@qriton/gateway 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +66 -0
- package/README.md +142 -0
- package/bin/run.js +36 -0
- package/dist/bundle.js +265 -0
- package/package.json +54 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
QRITON GATEWAY LICENSE AGREEMENT
|
|
2
|
+
Version 1.0, January 2026
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2026 Qriton GmbH. All rights reserved.
|
|
5
|
+
|
|
6
|
+
TERMS AND CONDITIONS
|
|
7
|
+
|
|
8
|
+
1. DEFINITIONS
|
|
9
|
+
|
|
10
|
+
"Software" means the QRITON Gateway binary and associated documentation.
|
|
11
|
+
"Commercial Use" means any use intended for or directed toward commercial
|
|
12
|
+
advantage or monetary compensation.
|
|
13
|
+
"Personal Use" means use by an individual for non-commercial purposes.
|
|
14
|
+
|
|
15
|
+
2. GRANT OF LICENSE
|
|
16
|
+
|
|
17
|
+
Subject to the terms of this Agreement:
|
|
18
|
+
|
|
19
|
+
a) Personal Use License (Free):
|
|
20
|
+
You may use the Software for personal, non-commercial purposes at no cost.
|
|
21
|
+
This includes personal projects, learning, and evaluation.
|
|
22
|
+
|
|
23
|
+
b) Commercial License (Paid):
|
|
24
|
+
Commercial use requires a valid license purchased from Qriton GmbH.
|
|
25
|
+
Contact: license@qriton.io
|
|
26
|
+
|
|
27
|
+
3. RESTRICTIONS
|
|
28
|
+
|
|
29
|
+
You may NOT:
|
|
30
|
+
- Reverse engineer, decompile, or disassemble the Software
|
|
31
|
+
- Modify, adapt, or create derivative works
|
|
32
|
+
- Remove or alter any proprietary notices
|
|
33
|
+
- Redistribute the Software without authorization
|
|
34
|
+
- Use the Software to build a competing product
|
|
35
|
+
|
|
36
|
+
4. INTELLECTUAL PROPERTY
|
|
37
|
+
|
|
38
|
+
The Software is protected by copyright and other intellectual property laws.
|
|
39
|
+
Qriton GmbH retains all rights not expressly granted.
|
|
40
|
+
|
|
41
|
+
5. NO WARRANTY
|
|
42
|
+
|
|
43
|
+
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
|
|
44
|
+
|
|
45
|
+
6. LIMITATION OF LIABILITY
|
|
46
|
+
|
|
47
|
+
IN NO EVENT SHALL QRITON GMBH BE LIABLE FOR ANY DAMAGES ARISING FROM
|
|
48
|
+
THE USE OF THIS SOFTWARE.
|
|
49
|
+
|
|
50
|
+
7. TERMINATION
|
|
51
|
+
|
|
52
|
+
This license terminates automatically if you breach any terms.
|
|
53
|
+
|
|
54
|
+
8. GOVERNING LAW
|
|
55
|
+
|
|
56
|
+
This Agreement shall be governed by the laws of Germany.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
For commercial licensing inquiries:
|
|
61
|
+
Email: license@qriton.io
|
|
62
|
+
Web: https://qriton.io/gateway/pricing
|
|
63
|
+
|
|
64
|
+
For support:
|
|
65
|
+
Email: support@qriton.io
|
|
66
|
+
Docs: https://docs.qriton.io/gateway
|
package/README.md
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# QRITON Gateway
|
|
2
|
+
|
|
3
|
+
**Secure-by-design reverse proxy with auto-HTTPS, WAF, and neural anomaly detection.**
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@qriton/gateway)
|
|
6
|
+
[](https://qriton.io/gateway/pricing)
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install -g @qriton/gateway
|
|
10
|
+
qriton-gateway --init
|
|
11
|
+
qriton-gateway
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## One Config. Total Security.
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
# apps.yaml
|
|
18
|
+
acme:
|
|
19
|
+
email: you@example.com
|
|
20
|
+
|
|
21
|
+
apps:
|
|
22
|
+
- domain: app.example.com
|
|
23
|
+
upstream: http://localhost:3000
|
|
24
|
+
|
|
25
|
+
- domain: api.example.com
|
|
26
|
+
upstream: http://localhost:3001
|
|
27
|
+
ws: true
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
That's it. Certificates issued automatically. WAF enabled. Anomaly detection running.
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
|
|
34
|
+
| Feature | QRITON | Nginx | Caddy | Traefik |
|
|
35
|
+
|---------|--------|-------|-------|---------|
|
|
36
|
+
| Auto HTTPS | ✅ | ❌ | ✅ | ✅ |
|
|
37
|
+
| Hot Reload | ✅ | ❌ | ✅ | ✅ |
|
|
38
|
+
| WAF Built-in | ✅ | ❌ | ❌ | ❌ |
|
|
39
|
+
| AI Anomaly Detection | ✅ | ❌ | ❌ | ❌ |
|
|
40
|
+
| Single File Config | ✅ | ❌ | ✅ | ❌ |
|
|
41
|
+
| Zero Dependencies | ✅ | ❌ | ✅ | ❌ |
|
|
42
|
+
|
|
43
|
+
## What's Included
|
|
44
|
+
|
|
45
|
+
- **Auto HTTPS** - Let's Encrypt certificates, auto-renewal
|
|
46
|
+
- **WAF** - SQL injection, XSS, LFI, RCE protection
|
|
47
|
+
- **Anomaly Detection** - Hopfield neural network traffic analysis
|
|
48
|
+
- **Hot Reload** - Edit config, instant apply, zero downtime
|
|
49
|
+
- **WebSocket** - Full proxy support
|
|
50
|
+
- **Health Checks** - Automatic upstream failover
|
|
51
|
+
- **Security Headers** - HSTS, CSP, X-Frame-Options, etc.
|
|
52
|
+
- **Rate Limiting** - Per-IP, per-app configurable
|
|
53
|
+
- **Wildcard Domains** - `*.staging.example.com`
|
|
54
|
+
- **Admin API** - Runtime management and monitoring
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Install
|
|
60
|
+
npm install -g @qriton/gateway
|
|
61
|
+
|
|
62
|
+
# Create config
|
|
63
|
+
qriton-gateway --init
|
|
64
|
+
|
|
65
|
+
# Edit apps.yaml with your domains and upstreams
|
|
66
|
+
|
|
67
|
+
# Start
|
|
68
|
+
qriton-gateway
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Docker
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
docker run -d \
|
|
75
|
+
-p 80:80 -p 443:443 \
|
|
76
|
+
-v $(pwd)/apps.yaml:/app/config/apps.yaml \
|
|
77
|
+
-v qriton-certs:/app/certs \
|
|
78
|
+
qriton/gateway
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Configuration
|
|
82
|
+
|
|
83
|
+
```yaml
|
|
84
|
+
gateway:
|
|
85
|
+
httpPort: 80
|
|
86
|
+
httpsPort: 443
|
|
87
|
+
adminPort: 9090
|
|
88
|
+
|
|
89
|
+
acme:
|
|
90
|
+
email: admin@example.com
|
|
91
|
+
staging: false
|
|
92
|
+
|
|
93
|
+
security:
|
|
94
|
+
waf:
|
|
95
|
+
enabled: true
|
|
96
|
+
mode: block
|
|
97
|
+
anomaly:
|
|
98
|
+
enabled: true
|
|
99
|
+
threshold: 0.35
|
|
100
|
+
rateLimit:
|
|
101
|
+
enabled: true
|
|
102
|
+
max: 100
|
|
103
|
+
|
|
104
|
+
apps:
|
|
105
|
+
- domain: example.com
|
|
106
|
+
upstream: http://localhost:3000
|
|
107
|
+
ssl: true
|
|
108
|
+
ws: true
|
|
109
|
+
healthCheck: /health
|
|
110
|
+
rateLimit: 1000
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Documentation
|
|
114
|
+
|
|
115
|
+
Full documentation: [docs.qriton.io/gateway](https://docs.qriton.io/gateway)
|
|
116
|
+
|
|
117
|
+
## Pricing
|
|
118
|
+
|
|
119
|
+
| Plan | Price | Use Case |
|
|
120
|
+
|------|-------|----------|
|
|
121
|
+
| **Personal** | Free | Non-commercial, learning |
|
|
122
|
+
| **Pro** | €29/mo | Startups, small teams |
|
|
123
|
+
| **Enterprise** | Contact | Large orgs, custom needs |
|
|
124
|
+
|
|
125
|
+
[View Pricing](https://qriton.io/gateway/pricing)
|
|
126
|
+
|
|
127
|
+
## Support
|
|
128
|
+
|
|
129
|
+
- Documentation: [docs.qriton.io](https://docs.qriton.io)
|
|
130
|
+
- Issues: [GitHub Issues](https://github.com/qriton/gateway/issues)
|
|
131
|
+
- Email: support@qriton.io
|
|
132
|
+
- Enterprise: enterprise@qriton.io
|
|
133
|
+
|
|
134
|
+
## About Qriton
|
|
135
|
+
|
|
136
|
+
Qriton builds neural-symbolic AI for security and compliance. Based in Nürnberg, Germany.
|
|
137
|
+
|
|
138
|
+
[qriton.io](https://qriton.io)
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
**Your reverse proxy should be smarter than your attackers.**
|
package/bin/run.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// QRITON Gateway CLI
|
|
3
|
+
// Runs bundled source directly (no binary download needed)
|
|
4
|
+
|
|
5
|
+
import { spawn } from 'child_process';
|
|
6
|
+
import { existsSync } from 'fs';
|
|
7
|
+
import { join, dirname } from 'path';
|
|
8
|
+
import { fileURLToPath } from 'url';
|
|
9
|
+
|
|
10
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
|
|
12
|
+
// Path to bundled source
|
|
13
|
+
const bundlePath = join(__dirname, '..', 'dist', 'bundle.js');
|
|
14
|
+
|
|
15
|
+
if (!existsSync(bundlePath)) {
|
|
16
|
+
console.error('Bundle not found. Package may be corrupted.');
|
|
17
|
+
console.error('Try reinstalling: npm install -g @qriton/gateway');
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Execute with Node.js
|
|
22
|
+
const args = [bundlePath, ...process.argv.slice(2)];
|
|
23
|
+
|
|
24
|
+
const child = spawn(process.execPath, args, {
|
|
25
|
+
stdio: 'inherit',
|
|
26
|
+
env: process.env
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
child.on('error', (err) => {
|
|
30
|
+
console.error(`Failed to start gateway: ${err.message}`);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
child.on('exit', (code) => {
|
|
35
|
+
process.exit(code ?? 0);
|
|
36
|
+
});
|