Table of Contents
INPUTLOOP.COM - internet service bus
Assertion based stream and transactional data federation toolkit.
Initial TODO:
[X]Start detailed project planning (this file)[X]Make a git repository for the project[ ]Start the homepage[ ]Add authorized users area to website[ ]write webservice access control configuration[ ]create seed password file and set permissions[ ]create authorized user landing page[ ]add login form to homepage[ ]configure feil2ban to guard login form and protected resources
[-]Add simple file upload[X]install CGI::Upload[ ]create file upload CGI program in Perl[ ]accept/require the following multi-part form-data:- file-stream (0bytes .. 1.2GB limit)
- filename (required, generate if none, don't error unless stream is also zero bytes)
- title (text field, optional, becomes commit short description)
- description (textarea, optional, becomes commit message body)
- overwrite (optional, checkbox; when form passes a truthy value overwrite, otherwise error)
- files are placed in users home directories into ~/Uploads which is a symlink to /srv/git/<username>/Uploads
- upon first use by user, create this directory structure and initialize git within the upload folder
- git commit upon successfully writing the uploaded file to disc
[ ]install within protected site area[ ]add file browser for Upload area (CGIT probably, but web server allow-indexing might be fine)
[ ]create system users and groups, configure rsync[ ]Add system users/keys for alpha users/testers[ ]Add user settings to website[ ]Add user sync settings to website[ ]Add live-cast to website[ ]audio[ ]video
[ ]Add live-editor page to website[ ]audio[ ]video
[ ]Create projects area (ability for users to create system groups and for the various tools to save/load/use them)[ ]Add user privacy flag and ability to browse non-private users, add them to projects, and share uploaded files and open mixes or active streams with them[ ]Add ability for users to generate share-with-me links so private users can invite specific people to share directly with them
1. Development Log
2025-05-16 bought this domain several years back to host a javscript based audio editor I made; I was thinking of making it edit video, sync audio with video, etc. tedious chores which, like clipping big audio files into little ones and annotating them with meta-data, is more fun when several people work together on a given project. Recently, other projects have necessitated additional tooling for arbitrary ad-hoc data-sharing between peers. Things like file sharing on the go or throwing a hunk of audio from one person another in near-real-time have been coming up a lot so it seemed to make sense to re purpose this project somewhat more generally, so it can serve as a "big tent" for working on these problems. Created an initial repo for sources for this on my gitea instance.