feat: cinepro manager binary support for windows#61
Conversation
This comment has been minimized.
This comment has been minimized.
|
Hey @nischaldoescode this is a really good idea. However, please note that I won't be merging this PR since the commits are a little messy (pls no .exe in the git) and it does not seem to work for me.... I would be more then happy to create a new repo for the CinePro Ecosystem Manager (would be nice to start/stop/update all cinepro products)🔥. Is that alright with you? |
This comment was marked as abuse.
This comment was marked as abuse.
ah sad....
hmm... that does not make sense. the manager might change while the scraping does and the other way around. we should keep a manger separate from the scraping logic.
okay dockay.
Why exactly can we not trust the github generated source.zip? that should be safe. (more safe than supplying node packaged to the end customers...)
I'll open a repo and add you as maintainer, yes.
no.
yeah that sounds good.
You won't get access to the releases control of https://github.com/cinepro-org/core . For the new repo for the manager, you can get it sure. |
This comment was marked as abuse.
This comment was marked as abuse.
okay.
no. (and I am worrying a little😂) |
This comment was marked as abuse.
This comment was marked as abuse.
|
you should really read https://noslopgrenade.com/ .... i am asking for your personal reason. not claudes💀😭😭😭🙏🙏 |
This comment was marked as abuse.
This comment was marked as abuse.
|
I disagree on your strategy. You cannot reason to do something "because we don't have it yet" while it is only additional work and also a larger security risk. I will lock this issue and you can write to me about this on telegram. |
For now just remember, we can't use it what you are saying because we can't really validate the commits although in the same zip file So why not just add what manager demands ?... I saw exactly this kind of design on electron docs and other frameworks as well. I will explain much about it laterrrr. |
So what do you want then just randomly fetch the zip for new changes c'mon i ain't saying we need to something. It is more committed towards security we are indeed validating the signatures. I also told in my pr and in the discussion too that I am okay with the feedback in this design but it is what should we go for. I did my research then only I added the pr. |
Pull Request
@An0n-01 @AnonNanoo Heyyy this Pull request specifically introduces the idea which i talked about it here:
Github Discussion
Description
Adds the first Windows-focused CinePro Manager setup experience under
setup-binary/.This PR introduces a Flutter-based desktop manager and an Inno Setup installer for Windows. The goal is to let users install and run CinePro without manually cloning the repo, running Git commands, or figuring out local setup steps by themselves.
The manager is designed as a native-feeling Windows control center for installing, updating, configuring, and running CinePro Core and the CinePro UI. The Inno setup installs the manager app itself, creates shortcuts, supports a setup language prompt, and can launch the manager after installation so the manager can start the verified CinePro install flow.
The manager intentionally does not trust raw GitHub source ZIP installs. Core installation is designed around signed manager-ready release assets using an Ed25519 signed manifest, SHA256 verification, staged extraction, and crash recovery.
As of Now any feedbacks are welcomed.
Type of Change
Related Issues
Closes #11
Changes Made
setup-binary/manager, a Flutter Windows desktop manager for CinePro.setup-binary/installer, an Inno Setup script for packaging the manager as a Windows installer.cinepro-org/ui, since the UI repo currently does not publish releases.state.json.current,previous, andstagingfolders..env.examplebased environment variable editor.TMDB_API_KEYvalidation before starting Core.localhost:5173..sha256verification.--setup-install.Provider Information (if applicable)
Not applicable. This PR does not add or modify a streaming provider.
Provider Details
Provider Testing
Not applicable. This PR adds the Windows manager and setup flow, not a provider.
Tested with the following TMDB IDs:
Test Results:
Not applicable. No provider was added or modified.
Provider Information (if applicable)
Not applicable. No provider was added or modified.
Checklist
General
npm run formatto format my codenpm run build)Provider Checklist (if adding/modifying a provider)
BaseProviderfrom@omss/frameworkidand descriptivenamecapabilities(movies/tv support)getMovieSources()and/orgetTVSources()correctlythis.createProxyUrl()for proxyingthis.console.log()for logging (notconsole.log())this.HEADERSProviderResultformatsrc/providers/directoryNot applicable. This PR does not add or modify any provider.
Documentation
Testing
How Has This Been Tested?
The Windows manager was tested locally through Flutter analysis, widget tests, Windows release builds, and Inno Setup compilation.
Core
npm run buildwas attempted, but it could not start because the local Windows npm installation is currently broken and points to a missingnpm-cli.jsfile under the user's roaming npm directory. The failure occurred before TypeScript compilation began.Test Configuration
Testing Steps
setup-binaryremains intact after pulling the latest upstream development branch.Test Output
Core build attempt:
Screenshots (if applicable)
Not included in this PR body.
The manager UI can be reviewed by running the Flutter Windows application or installing the generated Inno Setup package locally.
Additional Context
This PR is focused on Windows support initially.
The setup binary installs the manager application. The manager then performs the actual CinePro Core/UI installation flow because the manager owns the safety and recovery mechanisms, including:
state.jsonThis separation is intentional.
Inno Setup should not directly download and extract GitHub archives because doing so would bypass the manager's verification, rollback, and recovery model.
The current CinePro Core release workflow still needs to publish manager-ready signed assets before production installs can be completed entirely through the manager.
Expected Release Assets
The manager currently contains a placeholder Ed25519 public key.
Before production usage, this key must be replaced with the project's real release signing key.
Helper Scripts Added
Performance Impact
Details
No runtime provider or scraping path is modified.
The manager is isolated under
setup-binary/and only affects users who choose to build or run the Windows setup manager.Breaking Changes
Details
No breaking changes to existing Core functionality are intended.
The manager is an additive feature and does not alter the current installation workflow for existing users.
Dependencies
New Flutter manager dependencies under
setup-binary/manager:No new Core runtime dependency is introduced by this work.
Reviewer Notes
Feedback would be especially valuable on:
setup-binary/is an acceptable folder boundary for the Windows manager.cinepro-org/uimain until signed UI releases exist.For Maintainers
Merge Checklist