Table of Contents
INPUTLOOP.COM - internet service bus
Assertion based stream and transactional data federation toolkit.
Initial TODO:
- Start detailed project planning (this file)
- 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
- 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//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
- accept/require the following multi-part form-data:
- 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
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.