108 lines
3.9 KiB
Markdown
108 lines
3.9 KiB
Markdown
# PurrForce
|
|
purrforce purforce-purforce-purforce...(drum roll)... it
|
|
really is the cats meow...(meow) (meow)
|
|
|
|
like the winamp lamas ass thing
|
|
|
|
it can play that by default on each startup. launches to
|
|
the system tray if %APPDATA% has purfoce.ini that tells the
|
|
server address, else it prompts for server deets
|
|
|
|
uses http/https for all comms
|
|
|
|
because you might want to run it behind nginx with proxy
|
|
pass, the server runs just http and you use apache or nginx
|
|
reverse proxy to do lets encrypt and add https. client
|
|
tries both so we don't force people to setup some https bs.
|
|
|
|
the program does not need to store two copies (or the full
|
|
history) on your local PC. only your current working copy
|
|
is stored, and is rsynced to the server.
|
|
|
|
also, server does not keep too many backups because it will
|
|
use up too much space. but users can request a backup via
|
|
rightclick menu on any file.
|
|
|
|
click on systray to get a list of all files currently being
|
|
tracked. tracking is via direct file selection not using
|
|
any kind of repo.
|
|
|
|
you can use github for code, and purrforce for the massive
|
|
.blend files and such.
|
|
|
|
server maintains list of users registered and list of users
|
|
online. you can ping them a DM and it shows up in their
|
|
systemtray, it can reference a file you tracked and suggest
|
|
them a path to save it to.
|
|
|
|
path can use variables that they can set in the GUI
|
|
varaibles section which is stored in .ini file locally as
|
|
you might have different computers each with the base
|
|
project dir in different locations each time.
|
|
|
|
if you add a file to tracking you add it writeable in
|
|
progress or readonly finished. others can DL it but the
|
|
systray will constantly set its file flags to readonly,
|
|
unless they right click clone private copy (tracked) or
|
|
clone private copy (untracked) under a new name. with a
|
|
checkbox for remove original from local drive.
|
|
|
|
normal deleting a file just makes it untracked but still
|
|
available in systray file listing on server, can redownload
|
|
from server. to delete on server, rightclick and choose
|
|
delete on server (keep local) or delete on both server and
|
|
local. Server side it moves to recycle bin and old recycle
|
|
bin items get deleted to make hdd space free when needed.
|
|
|
|
systray has a bar meter of how much server HDD is used up.
|
|
|
|
allows storage slaves to connect to server and provide a
|
|
fixed GB amount of storage for the server to use via remote
|
|
commands (rename,copy,delete,create,rsync transfer).
|
|
|
|
sys admin panel shows server HDD and all slave HDD and all
|
|
file objects with rectangle size set by file size in mb,
|
|
and drag drop to move storage locations.
|
|
|
|
client access a file stored on storage slave? all client
|
|
transfer goes to server, which then proxies to storage
|
|
client. only server needs to have a stable IP, storage
|
|
slaves can be behind carrier grade NAT, the connection is
|
|
storage slave connects to server in an infinite loop and
|
|
long holds open and then bidir data transfer through that.
|
|
|
|
allow screen streaming via rapid screenshots -> video
|
|
encode -> upload to server -> all viewers download from
|
|
server.
|
|
|
|
allows remote assistance by request assistance right click
|
|
option on systray icon, choose user to gift control, they
|
|
get a popup to confirm, they get an SDL window that sees
|
|
your desktop stream, and mouse and kb input into that
|
|
window are sent to you and emitted by the app using
|
|
SendKey() type OS calls. Should allow someone to quickly
|
|
jump in and show you how to do something in your local
|
|
blender model, etc. also microphone streaming to speakers.
|
|
|
|
and an optional internet radio streamed from server with
|
|
playlist requests voting. Add a track by syncing a local
|
|
music file to server radio/ folder and then enqueue it in
|
|
the radio requests UI on the systray app.
|
|
|
|
app tracks mouse / kb activity and provides AFK status and
|
|
online status on all registered user avatars.
|
|
|
|
designed as a blender model and other large binary file
|
|
syncing service to complement a github repository for LGDG
|
|
collab project mar-apr 2024.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|