Skip to content

An utility for automatic creation recursive mirror symlinks from a source folder to a destination folder.

Notifications You must be signed in to change notification settings

smyhlin/Recursive-Symlink-Creator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recursive Symlink Creator


Tired of manually managing symlinks for your media server? This handy utility automates the creation of recursive mirror symlinks, making it a breeze to keep your media organized and accessible.

Why use this?:

  • Effortless Symlink Creation: Create a perfect mirror of your source folder's structure in the destination media server watchdog folder, all with a single click.
  • Media Server Optimization: Ideal for Jellyfin, Plex, or other media servers. Freely use tools like FileBot to rename "files" -> symlinks for easy identification without sacrificing torrent seeding capabilities.

Features:

✅ Folder Selection: Browse and select source and destination folders using intuitive file dialogs and demonstrating directories | files count.

✅ Recursive Symlink Creation: Creates symlinks for all files and subfolders within the source folder, mirroring the directory structure in the destination.

✅ Existing Symlink and Folder Handling: Detects and handles existing symlinks and folders at the destination, allowing for options like overwriting or skipping.

✅ User Feedback: Provides informative messages and error dialogs to keep the user informed about the process.

✅ Administrator Rights: Checks for administrator privileges and attempts to elevate if necessary, ensuring proper symlink creation permissions.

✅ Window Management: Centers the GUI window and makes it topmost to enhance user experience.

✅ Logging: Selfloging tree view of most importan program nodes.


GUI:


Run/Build Instructions:

first install requirements.txt with pip

> pip install -r requirements.txt

Next, you can run main.py

Or build the .exe file with the following command:

> pip install pyinstaller
> pyinstaller -F --onefile --noconsole ^
--clean --icon=".\icon.ico" ^
"main.py"

The executable will be created in dist directory

Or you can just download already built executable here

Technologies Used:

  • Python
  • customtkinter (for Modern GUI)
  • tkinter (for file dialogs and basic GUI elements)
  • ctypes (for administrator rights handling)
  • shutil (for folder removal)

TODO:

  • Refactor media info \ folder tree to be able to open in new windwos

Telegram Support:

ME

LICENSE

  • GPLv3

About

An utility for automatic creation recursive mirror symlinks from a source folder to a destination folder.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages