Initial code for password change in python flask
This commit is contained in:
97
python-flask/smeserver-password-app/README.md
Normal file
97
python-flask/smeserver-password-app/README.md
Normal file
@@ -0,0 +1,97 @@
|
||||
# SME Server Password Change Application - Python 3.6.8 Compatible
|
||||
|
||||
## Overview
|
||||
A Python Flask web application specifically updated for compatibility with Python 3.6.8 and Flask 2.0.3, implementing a password change interface for SME Server systems.
|
||||
|
||||
## Compatibility
|
||||
- ✅ **Python 3.6.8** - Fully tested and compatible
|
||||
- ✅ **Flask 2.0.3** - Compatible version
|
||||
- ✅ **Werkzeug 2.0.3** - Compatible version
|
||||
- ✅ **Flask-CORS 3.0.10** - Compatible version
|
||||
|
||||
## Key Changes for Python 3.6.8
|
||||
- Removed f-string formatting (replaced with .format())
|
||||
- Updated type hints for Python 3.6 compatibility
|
||||
- Compatible Flask and dependency versions
|
||||
- Tested string formatting methods
|
||||
|
||||
## Requirements
|
||||
```
|
||||
Flask==2.0.3
|
||||
Flask-CORS==3.0.10
|
||||
Werkzeug==2.0.3
|
||||
```
|
||||
|
||||
## Features
|
||||
- Web interface matching the original SME Server design
|
||||
- Integration with SME Server configuration database
|
||||
- Password strength validation
|
||||
- Current password verification
|
||||
- Uses `signal-event password-update` for proper password updates
|
||||
- Responsive design for mobile and desktop
|
||||
- Error handling and security measures
|
||||
- Demo mode for testing
|
||||
|
||||
## Quick Installation
|
||||
1. Extract the application files to your SME Server
|
||||
2. Run the installation script:
|
||||
```bash
|
||||
sudo ./install.sh
|
||||
```
|
||||
3. Access the application at `http://your-server:5000`
|
||||
|
||||
## Manual Installation
|
||||
If you prefer manual installation:
|
||||
|
||||
1. Install dependencies:
|
||||
```bash
|
||||
pip3 install Flask==2.0.3 Flask-CORS==3.0.10 Werkzeug==2.0.3
|
||||
```
|
||||
|
||||
2. Copy files to `/opt/smeserver-password-app/`
|
||||
|
||||
3. Create and start the systemd service (see install.sh for details)
|
||||
|
||||
## Testing
|
||||
Use the demo mode for testing:
|
||||
```bash
|
||||
python3 demo_mode.py
|
||||
```
|
||||
|
||||
Demo users:
|
||||
- Username: `testuser`, Password: `oldpassword123`
|
||||
- Username: `admin`, Password: `adminpass456`
|
||||
- Username: `john`, Password: `johnpass789`
|
||||
|
||||
## File Structure
|
||||
```
|
||||
smeserver-password-app-py36/
|
||||
├── app.py # Main Flask application (Python 3.6.8 compatible)
|
||||
├── smeserver_utils.py # SME Server utilities (Python 3.6.8 compatible)
|
||||
├── demo_mode.py # Demo version (Python 3.6.8 compatible)
|
||||
├── requirements.txt # Python 3.6.8 compatible dependencies
|
||||
├── install.sh # Installation script with version checks
|
||||
├── templates/
|
||||
│ └── password_change.html # Web interface template
|
||||
├── static/
|
||||
│ └── css/
|
||||
│ └── style.css # Styling
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## Differences from Original Version
|
||||
- String formatting changed from f-strings to .format() method
|
||||
- Type hints updated for Python 3.6 compatibility
|
||||
- Dependency versions locked to Python 3.6.8 compatible versions
|
||||
- Installation script includes Python version detection
|
||||
|
||||
## Troubleshooting
|
||||
If you encounter issues:
|
||||
1. Verify Python version: `python3 --version`
|
||||
2. Check Flask version: `flask --version`
|
||||
3. Review service logs: `journalctl -u smeserver-password-web -f`
|
||||
4. Test with demo mode first
|
||||
|
||||
## Support
|
||||
This version is specifically designed for SME Server systems running Python 3.6.8 with Flask 2.0.3.
|
||||
|
Reference in New Issue
Block a user