Remote Workflow

Remote Workflow Used AI

29 devlogs
21h 25m
Created by Ivole32

In my daily development work, I often run into limitations when working solely on Windows, while wanting the speed and flexibility of a lightweight Linux environment. That’s why I created Remote Workflow.

Remote Workflow lets you easily connect your Linux machine to your Windows system and build fully customized workflows. Whether you’re compiling code on Linux, automating server updates, or performing maintenance tasks — everything stays in sync thanks to efficient and secure file sharing. No more manual copying of files.

The tool features:
- A clean and user-friendly graphical interface on Windows
- Powerful command-line tools
- Excellent documentation to help you get started quickly
- High customizability so you can tailor workflows to your exact needs

Whether you're a beginner or an experienced developer, Remote Workflow makes cross-platform development smooth, fast, and accessible.

Timeline

It is getting late so I added a few prebuild workflows and there descriptions to the top. Good night everyone!

Update attachment

While working on another project, I used this program to build it on an external server. However, due to a bug in the program, I accidentally locked myself out of the server and had to reset it to regain access. I believe the bug that caused the program to overwrite other SSH keys is now fixed.

Update attachment

I added the functionallity to use workflows from the build in shell. I also added two example workflows: update and backup to update or backup you server. So now I'll focus on the bad error handeling/logging.

Update attachment

It works! Now I'll start creating prewritten workflows and implement the functionality to run a workflow from the console.

Update attachment

I've added the functionallity to run workflows from the workflow_handler class but I couldn't test it because I'm on my linux laptop...

Update attachment

I improved the SSH setup function in the shell.py file to support standart values and I think I'll stop working for now. See you tomorrow!

Update attachment

I’ve fixed both the uninstallation and installation processes now. At this point, it almost feels like a gamble whether os.system, subprocess.run, or subprocess.Popen will actually work.

Speaking of gambling... Here is my Gambling Simulator project: https://summer.hackclub.com/projects/3543

Update attachment

I not worked on the project for like 3 days but now the uninstallation process is broken (again)

Update attachment

Devlog #04.9.2:
Now I started to test how I can make wqorkflows in yaml files possible and it worked!!!

GitHub: https://github.com/Ivole32/remote-workflow

Update attachment

Devlog #04.9.1:
I’ve reconsidered and realized that I don’t actually need a dedicated upgrade function for the configuration. I will manage everything directly in the code without modifying or rewriting the existing config file.

GitHub: https://github.com/Ivole32/remote-workflow

Update attachment

Devlog #04.9.1:
I'll now start to make a function to upgrae the config...

GitHub: https://github.com/Ivole32/remote-workflow

Update attachment

Devlog #04.9:
I’ve implemented the update/upgrade functionality for the program and integrated it into the shell tool.
You can now easily update everything with a single command:
.\python .\shell.py upgrade
Pretty cool, right?

Also, I fixed a bug that was causing the virtual environment not to be properly deleted during the upgrade process.

GitHub: https://github.com/Ivole32/remote-workflow

Update attachment

Devlog #04.8:
I think I cleaned up the code a bit so now I'll work on a functionallity to update the program from the shell.py file.

GitHub: https://github.com/Ivole32/remote-workflow
Track my progress: https://github.com/users/Ivole32/projects/2/views/1

Update attachment

Devlog #04.7:
So, here we go again. Since the last devlog, I spent my time improving the configuration and its handling. Here’s what I accomplished:
- Updated the config class to support multiple sections within the configuration file
- Added a command in shell.py to configure SSH directly from there

Now, I think it’s time to improve the code readability and clean things up a bit. Stay tuned for the next update!

GitHub: https://github.com/Ivole32/remote-workflow
Track my progress: https://github.com/users/Ivole32/projects/2

Update attachment

Devlog #04.6:
I started to experient with the UI and this is one small prototype. I don't like it yet but I'll work on the design later (I hate designing...).

Update attachment

Devlog #04.5:
I thought I would write the documentation but now I'm experimenting with the UI

Update attachment

Devlog #4.4:
I'm on my laptop now but I can't code on the project here because my laptop is linux and the project is for windows (for now). But I think I'll start to write the documentation soon. Or should I make it linux compatible?!

Update attachment

Devlog #04.3:
So far, there have been no other bugs, so I was able to spend my time adding file sharing to the SSH_handler class, which worked great. Now there is a working file-sharing system with a mechanism to prevent accidental access to other files. Next, I plan to implement a locking system for the files, clean up the code a bit
and work on the automatically created security issues.

GitHub: https://github.com/Ivole32/remote-workflow

Update attachment

Devlog #04.2:
After some time, I also fixed the bug where the configuration wasn't being created.

Issue: https://github.com/Ivole32/remote-workflow/issues/11
Commit: https://github.com/Ivole32/remote-workflow/commit/8daa7d2b30cf9a2dcb477f24e6d8f47a65c1e009

Update attachment

Devlog #04.1:
So now I found another bug. The configuration file can't be created after or while the installation.

Issue: https://github.com/Ivole32/remote-workflow/issues/11

Update attachment
Fazin Ahamed Fazin Ahamed about 2 months ago
Nicee project but one thing is wouldnt recommend showing your umm file directory and username and whatnot

Devlog #04:
I think I’ve fixed the bug that caused issues during the uninstallation process. And I did much more...
So here’s a new release with:
- Improved logging system
- Introduced the first UI window
- Debug mode is now functional
- Added a command-line tool for uninstallation (more features coming soon)
- Fixed bugs in the installation/uninstallation process
-> https://github.com/Ivole32/remote-workflow/issues/9
- Cleaned up codebase (added docstrings, minor refactoring)

Next up: I’ll be working on SSH file sharing and handling.

GitHub: https://github.com/Ivole32/remote-workflow
Release (Devlog04): https://github.com/Ivole32/remote-workflow/releases/tag/Devlog04
Compare/Full Chnagelog: https://github.com/Ivole32/remote-workflow/compare/Devlog03...Devlog04
Track my progress: https://github.com/users/Ivole32/projects/2

Update attachment

Devlog #03.5:

I thought it would be a quick fix... turns out, not quite. I patched it up a bit, but now there's another bug when trying to reinstall the program. Should be an easy fix too — hopefully ;)

Update attachment

Devlog #03.4:
I'm currently encountering an error when trying to delete the virtual environment (venv). So for now, I'm going to focus on fixing that issue.

Issue: https://github.com/Ivole32/remote-workflow/issues/9

Update attachment

I added some functionality to make working with the venv easier and did a few other things too. I'm done for today – good night and see you tomorrow!

Github: https://github.com/Ivole32/remote-workflow
Track my work: https://github.com/users/Ivole32/projects/2
Project Link: https://summer.hackclub.com/projects/1395

Update attachment

Devlog #03.2:
I’m done for today.
I improved the installer, added better logging, introduced a config system, and made several other enhancements.
I’ll be back tomorrow to continue working on the project.

Track my progress: https://github.com/users/Ivole32/projects/2

Update attachment

Devlog #03.1:
I just finished the automated installation on the Linux side via SSH. Now I'm starting to think about how the command-line tools should work to make them as user-friendly as possible.

Track my progress: https://github.com/users/Ivole32/projects/2

Update attachment

Devlog #03:
In this update, I focused on improving the overall structure and preparing the project for future development.

Changes:
- Added a configuration file for centralized setting management
- Outsourced SSH handling to a dedicated module for better readability and modularity
- Improved the logger for cleaner and more consistent output
- Added extra loggin messages on some parts of the program

Known Issues:
- Issue #9 is still open
-> https://github.com/Ivole32/remote-workflow/issues/9
- Some parts of the code are still a bit messy and will need further refactoring

GitHub Repo: https://github.com/Ivole32/remote-workflow
What I’m working on: https://github.com/users/Ivole32/projects/2/views/1
Project Release #03: https://github.com/Ivole32/remote-workflow/releases/tag/Devlog03
Full Changelog: https://github.com/Ivole32/remote-workflow/compare/Devlog02...Devlog03

Update attachment

Devlog #02:
As I mentioned in my last devlog, I focused on automating the installation process on the Linux side. I’ve now implemented functionality to create and copy your SSH key on the Linux server, allowing the program to connect without requiring a password in the future. Additionally, I cleaned up the code to make it more readable and easier to understand.

Here’s a brief summary of what I accomplished:

  • Implemented SSH key generation (ssh-keygen), SSH key copying (ssh-copy-id), and SSH connection testing (sounds simple, but it’s tricky because Windows doesn’t have as many SSH tools as Linux)
  • Refactored the code to improve readability
  • Added a basic configuration file

Known Issues:
- Problems when trying to delete venv:
-> https://github.com/Ivole32/remote-workflow/issues/9
- SSHfileshare.p is a bit messy:
-> https://github.com/Ivole32/remote-workflow/blob/Devlog02/SSH_file_share.py

GitHub Repo: https://github.com/Ivole32/remote-workflow
What I’m working on: https://github.com/users/Ivole32/projects/2/views/1
Project Release #02: https://github.com/Ivole32/remote-workflow/releases/tag/Devlog02
Full Changelog: https://github.com/Ivole32/remote-workflow/commits/Devlog02

Update attachment

I'm just getting started! In the first two hours, I focused on building a custom logger, a powerful installation script, and a clean, informative README.

Now, I'm working on automating the Linux-side setup, so the installation requires as few manual steps as possible — making it super easy for users to get started without needing to configure everything themselves.

You can follow my progress and see what I’m currently working on on my project dashboard:
👉 https://github.com/users/Ivole32/projects/2

Update attachment