Skip to content

Commit 225109c

Browse files
committed
Resolve merge conflict in README.md
2 parents 3794c24 + 92bd749 commit 225109c

File tree

7 files changed

+4739
-4181
lines changed

7 files changed

+4739
-4181
lines changed

.github/workflows/gitleaks.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Gitleaks Security Scan
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
gitleaks:
13+
name: Run Gitleaks Scan
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
19+
- name: Install Gitleaks
20+
run: |
21+
wget https://github.com/gitleaks/gitleaks/releases/latest/download/gitleaks-linux-amd64 -O gitleaks
22+
chmod +x gitleaks
23+
sudo mv gitleaks /usr/local/bin/
24+
25+
- name: Run Gitleaks
26+
run: gitleaks detect --source . --verbose --exit-code 1

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# IDE specific files
2+
.vscode/

CHANGELOG.md

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
# Changelog
2+
3+
All notable changes to the npm-api.sh script will be documented in this file.
4+
5+
## [3.0.0] - 2025-03-15
6+
7+
### 🔄 Breaking Changes
8+
9+
- **Host Creation Command Simplified**
10+
```diff
11+
- OLD: ./npm-api.sh -d example.com -i 192.168.1.10 -p 8080
12+
+ NEW: ./npm-api.sh --host-create example.com -i 192.168.1.10 -p 8080
13+
```
14+
The `-d` option has been removed in favor of a more intuitive positional argument after `--host-create`
15+
16+
### New Commands (2.8.0)
17+
18+
- `--access-list`: List all available access lists
19+
- `--access-list-show <id>`: Show detailed information for a specific access list
20+
- `--access-list-create`: Create a new access list
21+
- `--access-list-update`: Update an existing access list
22+
- `--access-list-delete`: Delete an access list
23+
- `--list-cert`: List certificates filtered by domain name
24+
- `--list-cert-all`: List all SSL certificates
25+
26+
27+
### Renamed Commands
28+
29+
- `--list-ssl-cert``--list-cert`
30+
- `--create-user``--user-create`
31+
- `--delete-user``--user-delete`
32+
- `--list-users``--user-list`
33+
- `--list-access``--access-list`
34+
- `--update-host``--host-update`
35+
36+
### Enhanced Commands
37+
38+
- `--generate-cert`: Added support for wildcard certificates and DNS challenges
39+
- New parameters: `dns-provider` and `dns-api-key`
40+
- Support for multiple DNS providers (Dynu, Cloudflare, DigitalOcean, etc.)
41+
42+
### Syntax Changes
43+
44+
- Host-related commands now consistently use the `--host-` prefix
45+
- User-related commands now consistently use the `--user-` prefix
46+
- Certificate-related commands now consistently use the `--cert-` prefix
47+
48+
49+
### ✨ New Features
50+
51+
- **Smart certificate management in SSL configuration**:
52+
- Automatic detection of existing certificates for domains
53+
- Automatic selection of single existing certificates
54+
- Selection system for multiple certificates:
55+
* Auto-selects most recent with `-y` flag
56+
* Interactive selection without `-y` flag
57+
- Integration with certificate generation workflow
58+
- Enhanced SSL status display with detailed configuration state
59+
- Improved error handling and debug information
60+
- Configurable SSL parameters:
61+
* SSL Forced
62+
* HTTP/2 Support
63+
* HSTS
64+
* HSTS Subdomains
65+
66+
- **Enhanced Host Creation**
67+
- Simplified command syntax with positional domain argument
68+
- Improved parameter validation
69+
- Better error messages with clear examples
70+
- Default values for optional parameters
71+
72+
- **Improved Error Handling**
73+
- Clear error messages for missing parameters
74+
- Validation of domain name format
75+
- Parameter type checking (e.g., port numbers, boolean values)
76+
- Helpful usage examples in error messages
77+
78+
- Added comprehensive dashboard with `display_dashboard()` showing:
79+
- Proxy hosts status (enabled/disabled)
80+
- SSL certificates (valid/expired)
81+
- Access lists and clients
82+
- System statistics
83+
84+
- Enhanced SSL Certificate Management:
85+
- Improved wildcard certificate support
86+
- Enhanced domain validation
87+
- DNS challenge management for wildcard certificates
88+
- Support for multiple DNS providers (Cloudflare, DigitalOcean, etc.)
89+
90+
- **Enhanced Access List Management**:
91+
- Detailed view for individual access lists
92+
- Colored output for better readability
93+
- Display of users and IP counts
94+
- Clear visualization of allow/deny rules
95+
- Authentication status indicators
96+
- Satisfaction mode display (Any/All)
97+
- Proxy host count integration
98+
- Improved formatting and layout
99+
- Better error handling for null values
100+
- Comprehensive legend for status indicators
101+
102+
### 🛠️ Code Optimizations
103+
104+
- Removed redundant parameter validations
105+
- Streamlined host creation logic
106+
- Unified error message format
107+
- Better code organization
108+
- Enhanced Token Management:
109+
- Automatic validation
110+
- Smart renewal
111+
- Secure storage
112+
113+
- Improved Host Management Commands:
114+
- Enhanced display with `host_show()`
115+
- Better error handling
116+
- Advanced configuration support
117+
118+
- Improved access list display with:
119+
- Dynamic column sizing
120+
- Proper null value handling
121+
- Efficient data processing
122+
- Better color management
123+
- Enhanced table formatting
124+
125+
### 📚 Documentation
126+
127+
- Updated access list command documentation:
128+
- Added examples for detailed view
129+
- Improved command descriptions
130+
- Better parameter explanations
131+
132+
### 🔐 Security
133+
134+
- Enhanced input validation
135+
- Better parameter sanitization
136+
- Improved error handling for invalid inputs
137+
138+
### 🛠️ Fixes and Optimizations
139+
140+
- Fixed SSL certificate management bugs
141+
- Improved user input validation
142+
- Optimized API requests
143+
- Enhanced HTTP error handling
144+
145+
## [2.7.0] - 2025-03-08
146+
147+
### Added
148+
149+
- DNS Challenge Support
150+
- Added support for multiple DNS providers (Dynu, Cloudflare, DigitalOcean, etc.)
151+
- Implemented automatic DNS challenge detection for wildcard certificates
152+
- Added validation for DNS provider and API key parameters
153+
154+
- Wildcard Certificate Support
155+
- Added ability to generate wildcard certificates (*.domain.com)
156+
- Automatic detection of wildcard certificate requirements
157+
- Enforced DNS challenge requirement for wildcard certificates
158+
159+
- Certificate Management Enhancements
160+
- Added ability to specify existing certificate by ID when enabling SSL
161+
- Implemented automatic certificate matching for domains
162+
- Added support for using wildcard certificates with host SSL configuration
163+
- Enhanced certificate search to match wildcard patterns
164+
165+
### Changed
166+
167+
- Command Structure
168+
- Modified --generate-cert command to accept DNS parameters after email:
169+
```bash
170+
--generate-cert domain [email] [dns-provider provider dns-api-key key]
171+
```
172+
- Updated --host-ssl-enable to accept optional certificate ID:
173+
```bash
174+
--host-ssl-enable ID [cert_id]
175+
```
176+
177+
- Help Documentation
178+
- Updated help section with detailed DNS challenge information
179+
- Added examples for wildcard certificates and different DNS providers
180+
- Improved documentation for SSL certificate management
181+
- Added clarification for supported DNS providers
182+
183+
### Improved
184+
185+
- Error Handling
186+
- Added validation for DNS challenge parameters
187+
- Enhanced error messages for certificate operations
188+
- Improved feedback for wildcard certificate requirements
189+
190+
- User Experience
191+
- Added automatic certificate selection when enabling SSL
192+
- Improved certificate matching logic
193+
- Enhanced feedback during certificate operations
194+
- Added clear examples for all new features
195+
196+
## [1.0.0] - Initial Release
197+
198+
- Basic SSL certificate management
199+
- Proxy host configuration
200+
- User list

0 commit comments

Comments
 (0)