php


SWAPhp

My First SPA!
Probably the simplest yet still powerful use for a single text-area page.
A WYSIWYG, whatever is typed into the field is auto-synchronized to server (every 3s), and ultimately to anyone else viewing the page.
A great little utility for transferring stuff.
Cons: Lockless, resulting in update wars as the userbase grows.

Added (Dec 28, 2023)
Download


Searchlight.php

Staying with the 'keeping-it-simple' approach, I created a drop-in file search script which is %100 self-contained. Well, except for maybe a font or two but that'll get adjusted in time. Nevertheless, this single php file is responsible for the entire layout(thankyou Skeleton CSS 2.0.4), along with form hanlding and actual search functionality. It can even be tested via php in the terminal. It matches, and returns links to file(s) residing inside the same folder (and deeper) as the script itself is residing, and returns hits (against the partial path of the file) which contain all space-delimited keyword matches provided as substrings.
There are no access restrictions of any sort but it can still provide a very capable way to navagate large file trees on a simple webserver which otheriwse would need to be traversed via Apache autoindex.

Added (June 13, 2023)
Download


ImageHub

To date my largest project yet, Image Hub is a completely stand-alone image/video content management system. Designed for easy setup and high performance.
It supports accounts, and access restrictions on groups of files, along with commenting and several ease-of-use features such as folder zip creation.
Pains have been taken to assure compatability while processing into the latest html5 media formats.
Some of the latest updates include support for renaming, and thus sorting, media files uploaded from Apple devices via using thier embedded EXIF creation time similar to the default filenames used in android devices. Prior to this files would be uploaded with a haphazardly non globally-unique serial number which would cause ordering issues.

The Following free software packages need to be present on the system you intend to host ImageHub with.

  • Zip (zip)
  • ImageMagick (convert, identify) May also need to modify ImageMagick policy.xml to allow it to process VERY large images
  • FFMpeg (ffmpeg)
  • ExifTool

Updated (May 20, 2020) V0.98
Download


EZHost

EZHost is my attempt at creating the most intuitive, self-organizing, server-based temporary file transfer platform, with an emphasis on lean software development. Its honestly not much to look at, but it has it where it counts. Got a lot of features, not a lot of fluff. In designing it I wanted something undeniably minimal, something that runs respectably even on a raspi, and at the same time trivial to set up. Almost a zero-conf replacement. There are no frameworks, minimal javascript, and a database is not used at all. There are no cookies, sessions, or accounts. Its functionality primarily serves to suffice for the use case at hand, which is to store files. Temporarily.
Everything put on EZHost resides under its own resource, specifically one resource for each creation event. Resources consist of a group of file(s) which a user has chosen to post via the use of a specially crafted random URL which describes the specific resource group by id. At the end of a preset time period the resource will expire, and all files will be unavailable and removed from the server automatically. Users visit the entrance page and either supply the random resource id to visit a resource group or creation password to make a new resource. Users are not implemented and it wouldn't gain anything to add them to the system. There is no way for an average "user" to view all files on the system. They must keep links to the files they have uploaded, and ones which others have sent to them as well.
Despite its simplicity, it can be a powerful drop-in solution to transfer large quantities of files, even just from phone to computer, etc.

Updated (Jan 31, 2017) V0.95
Download


Noter

A standalone note/file organizing web app with account management. Useful for keeping track of text documents on multiple machines. There is also a public directory root which all users share access with.

This web app started nearly ten years ago and went through many iterations, having been rewritten several times. Ultimately, it is in line for another refactor, name change and a bunch of improvements I'd like to add eventually, but for lack of time I'd like to at least post it in its current state.

Some todo improvements will include hover-over image previews, file move/copy commands, alternative file type handlers, responsive layout, user selectable styling, and operation drop-down menus.

Updated (Feb 3, 2021) V0.99
Download


Vanilla Poll App

Basic web app written as proof of concept for creating and tracking questionaire polls.
Will self-configure upon accessing and track users based on long-lived cookie.
Although not thread-safe, it was not an original requirement.
Most likely not to be expanded but you never know.

Updated (June 02, 2020)
Download


Traffic Logger

Simple anaylitics Shim to collate visits to a page.
Simply insert the invocation call (example in code comments) on any php page you'd like to monitor traffic to.
To view visitor status assign the view param from "CHANGEME" to a stronger password-like variable and visit any page invoking the library with "?param" tacked on the end.
The status page includes simple collation operations such as resorting and forced pruning.

Small update to address serialization errors due to encodings.

Updated (August 23, 2023)
Download


Cert Checker (BASH Linux Only)

Setting trends with php commandline utilities, I've slowly cooked this up over the last few years to allow you to easily itemize servers and verify the HTTPS/SSH authentication certificates they are sending back match what the program has historically witnessed via a small cache json file.
The .json file (which comes with example ignored entries) drives the operation of the program.
Once you enter in a valid host:port combo in the outermost key of the file and the correct "proto" subkey as shown in the examples, the program will retrieve and store what it sees at that endpoint and will warn the user if subsequent retrievals fail to match in the future.
A somewhat rough programmer's tool, though clearly very capable once you get the hang of it.
Great for road warriors.

Added (August 29, 2023)
Download


ApacheLogTail

When combined with logcat.sh, can be a powerful tool to simultaneously combine + filter multiple Apache (or any logformat) log files in a single output for manual review, even if g-zipped.
Ideal for test systems, not intended for high-volume or prod-like systems.
Consists of a single page refresh form, with password field.
Will exit on insufficient permissions.
Basically a better web frontend for my logcat.sh.

Added (Sept 17, 2023)
Download