Name | page-encryptor JSON |
Version |
0.5.0
JSON |
| download |
home_page | None |
Summary | Offline HTML encryption with in-browser decryption, inspired by PageCrypt |
upload_time | 2025-07-30 04:33:41 |
maintainer | None |
docs_url | None |
author | Carlos Asmat |
requires_python | >=3.11 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 🔐 page-encryptor
**page-encryptor** is a simple Python utility to encrypt static HTML pages offline and embed a JavaScript-based decryptor for in-browser access. It's inspired by [PageCrypt](https://github.com/MaxLaumeister/PageCrypt) by Max Laumeister, but is independently developed and substantially refactored for modern Python workflows and packaging.
## ✨ Features
- AES-GCM encryption with PBKDF2 key derivation
- Fully static: No server required
- Runs offline — ideal for sensitive or private HTML content
- Decrypts in-browser using an embeddable JavaScript template
- Designed for automation and integration into static site generators (e.g., 11ty)
- Lightweight and dependency-minimal
## 📦 Installation
```bash
pip install page-encryptor
```
## 🚀 Usage
```bash
page-encryptor \
--input path/to/file.html \
--password your-secret-password \
--template decryptor_template.html \
--output protected-file.html
```
The template file must contain the placeholder `/*__PAYLOAD__*/""` which will be replaced with the encrypted data payload in Base64. See [decryptor_template.html](page_encryptor/templates/decryptor_template.html).
## 🧩 Example
```bash
page-encryptor \
--input index.html \
--template decryptor_template.html \
--output index-protected.html \
--password hunter2
```
You can now open `index-protected.html` in a browser and enter your password to decrypt it in place.
## 🛠️ Development
To set up the project locally:
```bash
git clone https://github.com/yourname/page-encryptor.git
cd page-encryptor
python3 -m venv venv
source venv/bin/activate.fish
pip install .
pip install .[dev]
```
Run script:
```bash
cd page_encryptor
./encryptor.py --help
```
Run formatting and hooks:
```bash
pre-commit install
pre-commit run --all-files
```
Raw data
{
"_id": null,
"home_page": null,
"name": "page-encryptor",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": null,
"author": "Carlos Asmat",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ff/31/05905604e1a252a13ea271b4512f83cdd5315553e49d951d9366a2702072/page_encryptor-0.5.0.tar.gz",
"platform": null,
"description": "# \ud83d\udd10 page-encryptor\n\n**page-encryptor** is a simple Python utility to encrypt static HTML pages offline and embed a JavaScript-based decryptor for in-browser access. It's inspired by [PageCrypt](https://github.com/MaxLaumeister/PageCrypt) by Max Laumeister, but is independently developed and substantially refactored for modern Python workflows and packaging.\n\n## \u2728 Features\n\n- AES-GCM encryption with PBKDF2 key derivation\n- Fully static: No server required\n- Runs offline \u2014 ideal for sensitive or private HTML content\n- Decrypts in-browser using an embeddable JavaScript template\n- Designed for automation and integration into static site generators (e.g., 11ty)\n- Lightweight and dependency-minimal\n\n## \ud83d\udce6 Installation\n\n```bash\npip install page-encryptor\n```\n\n## \ud83d\ude80 Usage\n\n```bash\npage-encryptor \\\n --input path/to/file.html \\\n --password your-secret-password \\\n --template decryptor_template.html \\\n --output protected-file.html\n\n```\n\nThe template file must contain the placeholder `/*__PAYLOAD__*/\"\"` which will be replaced with the encrypted data payload in Base64. See [decryptor_template.html](page_encryptor/templates/decryptor_template.html).\n\n## \ud83e\udde9 Example\n\n```bash\npage-encryptor \\\n --input index.html \\\n --template decryptor_template.html \\\n --output index-protected.html \\\n --password hunter2\n\n```\n\nYou can now open `index-protected.html` in a browser and enter your password to decrypt it in place.\n\n## \ud83d\udee0\ufe0f Development\n\nTo set up the project locally:\n\n```bash\ngit clone https://github.com/yourname/page-encryptor.git\ncd page-encryptor\npython3 -m venv venv\nsource venv/bin/activate.fish\npip install .\npip install .[dev]\n```\n\nRun script:\n\n```bash\ncd page_encryptor\n./encryptor.py --help\n```\n\nRun formatting and hooks:\n\n```bash\npre-commit install\npre-commit run --all-files\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Offline HTML encryption with in-browser decryption, inspired by PageCrypt",
"version": "0.5.0",
"project_urls": {
"Homepage": "https://gitlab.com/sotilrac/page-encryptor"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9d97c2d4863c19a7c1dc2c09d0178e077d3d279a7d716ac22e09e94d0f1dbda0",
"md5": "16905d755bf7890daa95f9394c83f3eb",
"sha256": "f64337339206e01a3d52af4a11d1ddb61749635a81c413a7922f6963cddd8139"
},
"downloads": -1,
"filename": "page_encryptor-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "16905d755bf7890daa95f9394c83f3eb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 7338,
"upload_time": "2025-07-30T04:33:41",
"upload_time_iso_8601": "2025-07-30T04:33:41.113266Z",
"url": "https://files.pythonhosted.org/packages/9d/97/c2d4863c19a7c1dc2c09d0178e077d3d279a7d716ac22e09e94d0f1dbda0/page_encryptor-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ff3105905604e1a252a13ea271b4512f83cdd5315553e49d951d9366a2702072",
"md5": "f5a8fff334c9e616e96d5eec073a5ed2",
"sha256": "dc3cfe988812c81c3dd9aa6ff1b6835b10c3949899a3b653100225ad3e6476c7"
},
"downloads": -1,
"filename": "page_encryptor-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "f5a8fff334c9e616e96d5eec073a5ed2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 6509,
"upload_time": "2025-07-30T04:33:41",
"upload_time_iso_8601": "2025-07-30T04:33:41.813368Z",
"url": "https://files.pythonhosted.org/packages/ff/31/05905604e1a252a13ea271b4512f83cdd5315553e49d951d9366a2702072/page_encryptor-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-30 04:33:41",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "sotilrac",
"gitlab_project": "page-encryptor",
"lcname": "page-encryptor"
}