Commit Graph

309 Commits

Author SHA1 Message Date
abdullahalam123
8a96426254 feat(cors-proxy): add anti-spoofing security measures
Security improvements for the Cloudflare Worker CORS proxy:

- Add rate limiting per IP (60 requests/minute) using Cloudflare KV
- Add file size limit (10MB max) to prevent abuse
- Add HMAC signature verification (optional, for deterrence)
- Add timestamp validation to prevent replay attacks
- Block private IP ranges (localhost, 10.x, 192.168.x, 172.16-31.x)

Client-side changes:
- Add signature generation in digital-sign-pdf.ts
- Add security warning about client-side secrets

Documentation:
- Update README with production security features
- Update docs/self-hosting/cloudflare.md with CORS proxy section
- Document KV setup for rate limiting
- Add clear warnings about client-side HMAC limitations

Files changed:
- cloudflare/cors-proxy-worker.js
- cloudflare/wrangler.toml
- src/js/logic/digital-sign-pdf.ts
- README.md
- docs/self-hosting/cloudflare.md
2026-01-05 13:44:35 +05:30
Alam
534eb01010 Merge pull request #325 from Timmy93/main
Add italian localization
2026-01-04 19:26:51 +05:30
abdullahalam123
05110c7f6a feat: Add Digital Signature and Validate Signature tools
New Features:
- Digital Signature tool: Sign PDFs with X.509 certificates (PFX/PEM)
  - Visible and invisible signatures
  - All pages, first page, last page, or custom page selection
  - Dynamic signature height based on text content
  - Custom signature text, image, and styling options

- Validate Signature tool: Verify digital signatures in PDFs
  - Extract and parse PKCS#7 signatures
  - View signer and issuer certificate details
  - Check certificate validity and expiry
  - Optional custom X.509 certificate for trust verification
  - Full/partial coverage detection

Infrastructure:
- Added Cloudflare Worker CORS proxy for certificate chain fetching
- Updated README with new tools and proxy deployment instructions

Documentation:
- Added Digital Signature and Validate Signature to README tools table
- Added CORS proxy deployment guide for self-hosters
2026-01-04 19:09:11 +05:30
abdullahalam123
d9561d79b9 fix: nginx.conf for docker deployment 2026-01-04 00:56:06 +05:30
abdullahalam123
771de32cf0 feat: add digital signature PDF tool
- Add new tool to apply cryptographic signatures to PDFs using X.509 certificates
- Support PKCS#12 (.pfx, .p12) and PEM certificate formats
- Create PKCS#7 detached signatures compatible with all major PDF viewers
- Optional visible signature with customizable position, image, and text overlay
- Add translations for English, German, Vietnamese, and Chinese
2026-01-03 20:47:50 +05:30
abdullahalam123
0914acf46e fix: add fallback for cbz to pdf for unsupported formats 2026-01-03 14:23:45 +05:30
abdullahalam123
c6e9e29e84 update: year 2026-01-02 21:34:39 +05:30
Raul Gonzalez
14afebb5f0 Add spanish translation and update documentation with missing steps 2026-01-02 07:00:27 -06:00
abdullahalam123
bddd11c07b fix(pdf-a): fix PDF/A-2b and PDF/A-3b transparency compliance
- Add post-processing step using pdf-lib to fix ISO 19005-2/3 clause 6.2.10
- Add Group dictionaries with ICC-based color space to all pages
- Fix XObjects (Form XObjects) that have DeviceRGB in their Group dictionaries
- Reference OutputIntent's ICC profile as the blending color space
- Enable page compression for smaller output files

This ensures PDFs with transparency pass VeraPDF validation for PDF/A-2b and PDF/A-3b.
2026-01-02 17:04:50 +05:30
abdullahalam123
bb42a5aec0 fix: split-pdf page range 2026-01-01 19:21:10 +05:30
abdullahalam123
c6fb46cbf2 feat: fix favicon implementation for Google search and PWA support
- Add background to favicon.svg (RGB 38,45,59)
- Generate all required PNG sizes (192x192, 512x512, 180x180)
- Create site.webmanifest with proper PWA config
- Standardize favicon links across 116 HTML files
- Fix incorrect MIME types in 50+ pages
2026-01-01 19:21:10 +05:30
abdullahalam123
2f8086ad59 refactor: centralize CDN config and fix service worker fallback
- Centralize CDN versions/URLs in cdn-version.ts
- Switch LibreOffice to @bentopdf/libreoffice-wasm package
- Fix service worker fallback to support all WASM packages
- Remove dead code and silence production logs
2026-01-01 19:21:10 +05:30
abdullahalam123
4e5d747cac add: seo 2025-12-30 12:36:30 +05:30
abdullahalam123
8bae2b662a fix: markdown to pdf spacing and added mermaid diagram support 2025-12-29 14:59:11 +05:30
Federico
c9aa895894 Add italian localization
- Added it locale
- Add it language ro other config files (nginx.conf, vite.config.ts, i18n.ts)
2025-12-29 01:09:46 +01:00
abdullahalam123
f30a084fce feat: Add VitePress docs, EPUB to PDF tool, Phosphor icons, and licensing updates
- Set up VitePress documentation site (docs:dev, docs:build, docs:preview)
- Added Getting Started, Tools Reference, Contributing, and Commercial License pages
- Created self-hosting guides for Docker, Vercel, Netlify, Cloudflare, AWS, Hostinger, Nginx, Apache
- Updated README with documentation link, sponsors section, and docs contribution guide

- Added EPUB to PDF converter using LibreOffice WASM

- Migrated to Phosphor Icons for consistent iconography

- Added donation ribbon banner on landing page
- Removed 'Like My Work?' section (replaced by ribbon)
- Updated licensing.html with delivery model, AGPL notice, invoicing, and no-refund policy

- Added Commercial License documentation page
- Updated translations table (Chinese added, marked non-English as In Progress)

- Added sponsors.yml workflow for auto-generating sponsor avatars
2025-12-27 19:38:33 +05:30
Stephan Paternotte
9e99cf6b77 Update i18n.ts
Added Dutch (nl) to various lists
Alphabetical order
2025-12-20 12:02:49 +01:00
Hasan Tekgül
33e558b290 add tr lang 2025-12-19 18:17:04 +03:00
Sebastian Espei
68343a4c9a Merge remote-tracking branch 'origin/main' into pdf-to-image-direct-image 2025-12-19 02:08:06 +01:00
Alam
731434e557 Merge pull request #262 from hemantapkh/main
fix:  Absolute paths for logo and favicons
2025-12-17 11:04:39 +05:30
Connor Smith
71aac226ed Fix edit-pdf-page.ts and revert fileHandler.ts 2025-12-15 17:11:38 -05:00
EmeraldPi
d07d12a975 Buid and package EmbedPDF.js using Github workflow 2025-12-14 19:02:53 -05:00
Hemanta Pokharel
61b4cfe5df fix: broken logo path on language change 2025-12-14 14:35:26 +05:45
abdullahalam123
1fe05ec59f ci: Improve Docker build workflow and update dependencies
- Add release type detection to distinguish between version tags and edge builds
- Implement separate Docker build steps for release and edge builds with appropriate tags
- Add edge and SHA-based image tags for main branch builds
- Update nginx configuration to support Vietnamese (vi) language routing
- Simplify nginx location block to handle static files and fallback to index.html
- Remove javascript-obfuscator and ts-migrate from dependencies
- Update README with simplified self-hosting instructions using npx http-server
- Consolidate multiple server setup examples into single recommended approach
- Update build preview command to use npm run preview instead of npx serve
- Improve localization files for German, English, Vietnamese, and Chinese
- Update worker files and TypeScript logic files for improved functionality
- Enhance PDF tool pages with better structure and internationalization support
2025-12-13 20:57:32 +05:30
zhenyao xu
264ccd77d8 Merge branch 'main' into main 2025-12-12 19:14:25 +00:00
cxllxc
ab122e19df feat: Add internationalization support and introduce a new PDF multi-tool. 2025-12-12 12:54:06 +00:00
cxllxc
3c0fbc8f8f at: Add Chinese language support with new i18n utilities and update routing configura 2025-12-12 12:41:40 +00:00
Tuyn Doan
39e35b3282 Merge branch 'main' into feat/add-vietnamese-language 2025-12-12 08:48:47 +07:00
Tuyn Doan
6e68b08d80 feat(seo): Add Vietnamese hreflang tags to all HTML pages 2025-12-12 08:49:23 +07:00
abdullahalam123
d3fe6b2fcc chore: Refactor Dockerfile and update HTML favicon links
- Simplify Dockerfile by removing redundant BASE_URL handling logic and complex RUN commands
- Change SIMPLE_MODE default from true to false for production builds
- Fix indentation inconsistencies in Dockerfile conditional statements
- Move favicon link tags from body to head section in all HTML files for proper semantic structure
- Replace inline favicon links with img tag in navigation logo across all pages
- Update README.md documentation to clarify BASE_URL trailing slash requirements
- Remove commented-out legacy Dockerfile code for cleaner maintenance
- Consolidate favicon declarations in document head for better performance and SEO
2025-12-12 00:19:24 +05:30
Tuyn Doan
8c065fcdf0 feat(i18n): Add Vietnamese (Tiếng Việt) language support
- Add Vietnamese translation files (common.json and tools.json)
- Register 'vi' as a supported language in i18n configuration
- Update language switcher to support Vietnamese footer text
- Update URL routing regex to handle /vi/ paths

All 170 translation keys have been translated to Vietnamese.
Users can now access BentoPDF in Vietnamese by visiting /vi/ URLs.
2025-12-12 00:58:08 +07:00
abdullahalam123
6eaa7c18ea fix: Add space between consecutive data-i18n attributes in HTML files. 2025-12-11 19:40:57 +05:30
abdullahalam123
a83d9b6604 Merge branch 'port-to-standalone-pages' 2025-12-11 19:35:28 +05:30
abdullahalam123
78dc6333f9 setup i18n and ported all tools to standalone pages 2025-12-11 19:34:14 +05:30
Sebastian Espei
a25ec05e17 Merge remote-tracking branch 'origin/main' into pdf-to-image-direct-image 2025-12-06 00:52:30 +01:00
Sebastian Espei
3d59dea821 feat(pdf-to-webp): show processing in loader message 2025-12-06 00:26:34 +01:00
Sebastian Espei
35e7281bc3 feat(pdf-to-tiff): show processing in loader message 2025-12-06 00:26:29 +01:00
Sebastian Espei
1637ed6b44 feat(pdf-to-png): show processing in loader message 2025-12-06 00:26:22 +01:00
Sebastian Espei
ac32e09fe9 feat(pdf-to-jpg): show processing in loader message 2025-12-06 00:26:14 +01:00
Sebastian Espei
650ff1fca5 feat(pdf-to-bmp): add yieldToUI 2025-12-06 00:25:46 +01:00
Sebastian Espei
09c554a3e6 feat(pdf-to-jpg): fix wrong indentation 2025-12-06 00:21:03 +01:00
Sebastian Espei
9602fef1e8 feat(pdf-to-bmp): add yieldToUI 2025-12-06 00:17:15 +01:00
Sebastian Espei
cc926d0b07 feat(pdf-to-bmp): update single-page processing message 2025-12-06 00:14:06 +01:00
Pavel Akhrameev
e831a477d2 Change image embedding from PNG to JPEG format
using PNG increased filesize from ~60 MB to ~112 MB. That's too much. May require some "quality" parameter adjustment.
2025-12-05 04:29:40 +04:00
abdullahalam123
c682f9d9b3 fix(config): Remove leading slash from merge PDF tool path
- Remove leading slash from merge-pdf.html path in tools configuration
- Ensure consistent path resolution with BASE_URL environment variable
- Fix asset path handling for subdirectory hosting compatibility
2025-12-05 00:38:08 +05:30
abdullahalam123
b279c05281 feat: Add subdirectory hosting support and fix asset path resolution
- Update README with comprehensive subdirectory hosting instructions and BASE_URL configuration guide
- Convert absolute asset paths to relative paths in index.html for proper subdirectory deployment
- Update all worker script imports to use relative paths instead of absolute paths
- Fix favicon and image references to work correctly when hosted in nested directories
- Normalize whitespace and formatting across worker files for consistency
- Update vite.config.ts to properly handle BASE_URL configuration for subdirectory deployments
- Ensure all tool pages and logic files maintain compatibility with subdirectory hosting
- Enable BentoPDF to be deployed at any URL path (e.g., example.com/tools/bentopdf/) without breaking asset loading
2025-12-04 23:53:00 +05:30
abdullahalam123
19425d98f9 feat: Add JPG to PDF conversion tool with dedicated page and logic. 2025-12-04 21:21:34 +05:30
abdullahalam123
62d1b9ada2 feat: add new Edit PDF tool with dedicated page and logic, and update build configuration 2025-12-04 15:29:01 +05:30
abdullahalam123
9620084789 feat: Add dedicated compress PDF page and reimplement compression logic. 2025-12-04 14:32:37 +05:30
abdullahalam123
6676fe9f89 feat: Reimplement PDF splitting functionality on a new dedicated page. 2025-12-04 14:02:20 +05:30