-
Posts
155 -
Joined
-
Days Won
39
Everything posted by maximus
-
Please try manually making changes to the module code in the relevant lines and, if possible, let us know whether it works or not.
-
I don't think you need a disguise to view your website, but you can always add exceptions. Also this week, I updated the module to version 1.1.9, where, in addition to prohibitions, exception fields have been added: for search robots (user agent), ASN and IP. Thanks a lot, I've corrected it everywhere. Yes, I see that access to the site is blocked when javascript is disabled. I'll think about how to solve it.
-
Check out more on website - https://wirewall.org
-
Hello! π I'm thrilled to (re-)introduce WireWall β an advanced security firewall module for ProcessWire that I've been actively developing and refining in production for months. After blocking massive amounts of malicious traffic (99.98%+ on my e-commerce sites) with zero impact on real users, it's time for a refreshed community announcement with all the latest features from v1.3.4. What is WireWall? WireWall turns your ProcessWire site into a secure fortress with enterprise-grade tools: city-level geo-blocking, full IPv6/CIDR, multi-layer bot protection, true stealth mode, rate limiting fixes, and file-based caching that easily handles 1M+ IPs. Key Features (as of 1.3.4) Geographic Control City-level blocking (e.g. Philadelphia, Beijing, Sydney) Subdivision/region blocking (Pennsylvania, New South Wales, Γle-de-France) Country blocking (blacklist/whitelist 200+ countries) MaxMind GeoLite2 integration (Country + ASN + City) β 0.5-2ms lookups HTTP fallback (ip-api.com) when MaxMind not available Full IPv6 + CIDR support Bot & Threat Protection Bad bots, scanners, vulnerability tools AI training bots (GPTBot, ClaudeBot, GrokBot, Perplexity, etc.) Fake/headless browser detection (Puppeteer, Selenium, etc.) VPN/Proxy/Tor detection (multi-API chain) Datacenter blocking (AWS, GCP, Azure, Hetzner, etc.) ASN blocking & whitelisting (block/allow entire networks) Security & Rate Limiting Configurable rate limiting with burst handling & permanent/temporary bans JavaScript challenge for suspicious traffic IP whitelist/blacklist with CIDR Priority system β now 16 levels (logged-in users at #3, trusted modules at #2) Stealth & UX True silent 404 mode β plain "Not Found" text (no HTML/branding) Beautiful custom block page with location/IP display Custom redirect or message on block Option to completely disable AJAX protection (fallback for tricky integrations) Performance & Management File-based cache β scales to millions of IPs, no DB overhead Cache UI with stats & per-type clear buttons Detailed logging (city/region/ASN included) Admin area always protected (triple-layer) Real-World Results On production sites (e-commerce + others), WireWall consistently: Blocks 99.98%+ of attacks/scrapers/VPN fraud Zero false positives for logged-in users & legitimate traffic (thanks to priority fixes) Handles spikes without issues after rate limiting improvements Eliminates most cloud-based automated probes Installation (Quick) cd site/modules/ git clone https://github.com/mxmsmnv/WireWall.git Then in admin: Modules β Refresh Install WireWall Configure (start with rate limiting + VPN detection + bad/AI bots) Monitor: Setup β Logs β wirewall Priority System (how requests are evaluated) Admin area β always ALLOW Trusted ProcessWire module AJAX β ALLOW Logged-in users β ALLOW (new in 1.3.4 β unconditional bypass) IP whitelist β ALLOW Allowed bots / IPs / ASNs β ALLOW Rate limiting β BLOCK if exceeded IP blacklist β BLOCK JS challenge β CHALLENGE VPN/Proxy/Tor β BLOCK Datacenter β BLOCK ASN blocking β BLOCK Global rules (bots/paths/UA/referer) β BLOCK Country blocking β BLOCK/ALLOW City blocking β BLOCK/ALLOW Subdivision blocking β BLOCK/ALLOW Country-specific rules β BLOCK First match wins. MaxMind Setup (strongly recommended) Free GeoLite2 databases β fast & offline. See README or https://wirewall.org for setup guide. Requirements ProcessWire 3.0.200+ PHP 8.1+ Resources GitHub: https://github.com/mxmsmnv/WireWall Releases & Changelog: https://github.com/mxmsmnv/WireWall/releases Landing: https://wirewall.org License: MIT (free for commercial use) Why build this? ProcessWire deserved a native, scalable, granular firewall with city-level control, offline capability, and proper exception handling β things missing or hard in other solutions. Happy to answer questions, hear about your security setups, or debug any issues! Feedback from the community has already shaped big improvements (like the recent logged-in & stealth fixes). Best regards, Maxim
-
FieldtypeFileB2 - Store Files on Backblaze B2 Cloud Storage
maximus replied to maximus's topic in Modules/Plugins
Yes, I tried to solve this problem yesterday,but there are two options you can use: https://images.weserv.nl/ or https://github.com/thumbor/thumbor Cloudflare Transformations didn't work for sundomains. You may use ProCache module by Ryan for caching images with CDN. -
FieldtypeFileB2 - Store Files on Backblaze B2 Cloud Storage
maximus replied to maximus's topic in Modules/Plugins
Field for any types -
FieldtypeFileB2 - Store Files on Backblaze B2 Cloud Storage
maximus replied to maximus's topic in Modules/Plugins
What do you mean? -
FieldtypeFileB2 - Store Files on Backblaze B2 Cloud Storage
maximus replied to maximus's topic in Modules/Plugins
Live demo running here: https://media.smnv.org/ Attached below is the full, ready-to-go 2025 site profile https://github.com/mxmsmnv/site-media Itβs the complete real-world implementation of FieldtypeFileB2: videos served straight from Backblaze B2, zero bandwidth cost via Cloudflare, everything polished and production-ready. Grab it, use it, butcher it β whatever you need. -
Iβve been working on a module to store ProcessWire files directly on Backblaze B2, and wanted to share it with the community. Why I Built This I needed to host video content without breaking the bank on storage costs. AWS S3 was too expensive, and I wanted something that integrates seamlessly with ProcessWireβs existing file fields. Key Features π Direct B2 Upload - Files go straight to Backblaze, no local storage needed π° Dirt Cheap - $6/TB/month (AWS S3 costs 5x more) π Custom Domain Support - Use your own CDN domain β‘ Cloudflare Integration - Combine with Cloudflare for FREE bandwidth π¦ Works with Repeaters - Multiple files per repeater item π¬ Perfect for Video - Tested with Plyr, Video.js, and HTML5 video Real Cost Savings Hereβs what Iβm actually paying for 500GB of video storage: Backblaze B2 + Cloudflare: - Storage: $3/month - Bandwidth: $0 (free via Cloudflare Bandwidth Alliance) - Total: $3/month AWS S3 (same usage): - Storage: $11.50/month - Bandwidth: $450/month (5TB) - Total: $461.50/month Thatβs a 99% savings on bandwidth costs! How It Works The module extends ProcessWireβs file fields to upload directly to Backblaze B2. You can use it just like regular file fields: // Single video <video controls> <source src="<?= $page->b2_video->url ?>" type="video/mp4"> </video> // Multiple videos in repeater <?php foreach($page->videos as $item): ?> <?php foreach($item->b2_video as $video): ?> <video controls> <source src="<?= $video->b2url ?>" type="video/mp4"> </video> <?php endforeach; ?> <?php endforeach; ?> Cloudflare CDN Integration Want free bandwidth? Hereβs the magic setup: CNAME: cdn.yourdomain.com β f005.backblazeb2.com (with Cloudflare proxy) Transform Rule: Rewrite paths to include /file/bucket-name/ Module setting: Enable custom domain Now all files serve through Cloudflareβs global CDN with zero bandwidth costs thanks to the Bandwidth Alliance partnership. Setup is Simple Create Backblaze B2 bucket Configure module with API keys Create field (type: FieldtypeFileB2) Add field to template Upload files - they go straight to B2! Optional: Add Cloudflare for free bandwidth and caching. Use Cases Video hosting (my use case) Large image galleries Audio files / podcasts Downloadable resources Any high-bandwidth file hosting Technical Details Works with public and private buckets Supports custom Cache-Control headers Files are deleted from local server after upload Can use custom domains via Cloudflare CORS configurable for cross-domain access Try It Out GitHub: https://github.com/mxmsmnv/FieldtypeFileB2
- 9 replies
-
- 13
-
-
-
AgeWire is a powerful, fully customizable age verification module for ProcessWire, built with modern web standards and powered by Tailwind CSS. Perfect for sites requiring age gates (alcohol, tobacco, adult content, etc.). Key Features Two Verification Modes: Simple Yes/No buttons Date Picker with separate MM/DD/YYYY inputs (bot-resistant) 13 Stunning Themes: Modern, Dark, Classic, Minimal, Gradient, Neon, Elegant, Corporate, Vibrant, Nature, Sunset, Ocean, Purple 4 Smooth Animations: Fade In, Slide Up, Zoom In, Bounce In International Date Formats: MM/DD/YYYY (US) DD/MM/YYYY (EU) YYYY/MM/DD (ISO) Advanced Security: Secure, HttpOnly, SameSite cookies Configurable lifetime (1 day to 6 months) Bot protection via manual date entry Smart Exclusions: Skip verification on specific templates or pages Admin pages auto-excluded Privacy & Compliance: Optional Terms & Privacy Policy checkbox Custom links to your legal pages Fully Responsive β Mobile-first design Custom CSS support Tailwind CDN integration (no build required) Installation Download from GitHub Place AgeWire folder in /site/modules/ Go to Modules > Refresh Install AgeWire GitHub: https://github.com/mxmsmnv/AgeWire Download: https://github.com/mxmsmnv/AgeWire/archive/refs/tags/v1.0.9.zip Perfect for: Wineries & breweries Vape & tobacco shops Adult content sites Age-restricted events Feedback, bug reports, and pull requests are welcome! If you like AgeWire, please β star it on GitHub! Made with β€οΈ for the ProcessWire community.
- 1 reply
-
- 15
-
-
-
How to use another fields on Page Auto Complete
maximus replied to maximus's topic in API & Templates
i find it, after 2 hours with AI .. @ryan could you move this field in up of the operators? @elabx thank you for help me. I also found the time when you wrote your reply. -
How to use another fields on Page Auto Complete
maximus replied to maximus's topic in API & Templates
I found it, but I need it in the admin panel and for the field. -
Hello, i not understand have to retrive data from Notes filed on template on Page Auto Complete field on another page. i upload video. does anyone know how to do that? selector.mov
-
So, haha. Iβm look you using x-cloak crutch π©Ό also..
-
i update prompt, it should be generating better now.
-
Hello y'll, I so happy introduce technical template for ai generate templates on Tailwind from ProcessWire fields. How to work: Select templates you want to design interfaces for Copy the generated JSON structure Ask AI to "Create a Tailwind CSS design for displaying this ProcessWire data" Specify any preferences like: mobile-first, card layout, table layout, etc. Push button "Copy Prompt" Insert prompt to Claude AI, ChatGPT or another ai services. How to Setup: Use ftp for transfer lego.php to template folder On ProcessWire create template with same name. Create new page with select template. Enjoy. Note: It is not always possible to generate a template from the first time, but by debugging you can make even more or less excellent variants. On example screenshot finish page with adjusting elements, blocks on Tailwind. If you have questions or wishes ask me below. Thank you. UPDs: 04/14 Update prompt lego.php
-
Hello everyone, Iβm excited to share with you a project Iβve recently developed β a URL shortener site and profile. Github/Profile: https://github.com/mxmsmnv/site-lqrs Demo https://lqrs.org/
- 1 reply
-
- 5
-
-
-
How to add spaces left and right for vertical images
maximus replied to maximus's topic in General Support
Yes, it creates files. But it creates from source files and want it to create a square WEBP file based on an existing square JPG file. -
Hello, i have question how to make square images. I am developing an alcohol online storefront and in it I need to implement square images of bottles - so that they visually all look the same. Right now I am using the following code to position and create the images. The code works great and generates square images. BUT! When I try to add webp support <a href="<?=$large->webp->url?>"><img src="<?=$thumb->webp->url?>" class="pt-2" alt="<?=$page->title?>" width="64" height="64"></a> <?php endforeach; ?> code nothing works. There is a crop image function, but no function to position the image centered with the background added. How to implement this as simple as possible, using core functions and adding webp support ?