Skip to content

A tool for managing the HTTP File Server version 3 (HFS 3) console, which allows it to be hidden in the system tray via the Named Pipes.

License

Notifications You must be signed in to change notification settings

pavelnil/HFS-ConsoleHide2Tray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Project Description

HFS-ConsoleHide2Tray is a tool for managing the console of HTTP File Server version 3 (HFS 3), enabling its minimization to the system tray. Reliably hides the HFS console using Named Pipes. Consists of two components:

  • HFS Plugin (retrieves and transmits window handles).
  • Native Application (C++ tray manager).

No installation required — operates in portable mode.

screenshot


Key Features

HFS Console Management

  • Automatically hides the console when the app starts.
  • Quick visibility toggle via the tray icon:
    • Double left-click.
    • Context menu: "Hide/Show HFS Console".
  • Windows 11 ConPTY support (CASCADIA_HOSTING_WINDOW_CLASS). Handles HWND changes when dragging console tabs.

Technical Specifications

  • Architecture:
    • Agent: HFS plugin in JavaScript (Node.js).
    • Tray Manager: Native C++ application.
  • System Integration:
    • WinAPI for window management (ShowWindow).
    • Shell API for tray operations (Shell_NotifyIcon).
    • Windows message processing (WndProc).
  • Security:
    • Works exclusively with local HFS processes.
    • No network calls.
  • Libraries:
    • user32.lib (window management)
    • Shell32.lib (system tray)

sequenceDiagram
    participant HFS
    participant Plugin
    participant TrayApp
    participant WinAPI

    HFS->>Plugin: Initialization
    Plugin->>PowerShell: Get HWND
    PowerShell->>WinAPI: GetConsoleWindow()
    WinAPI-->>Plugin: Window handle
    Plugin->>Named Pipe: Create server

    loop On each interaction
        alt Invalid HWND
            TrayApp->>Named Pipe: GET_HWNDS request
            Named Pipe-->>TrayApp: HWND (0x...)
            TrayApp->>WinAPI: Verify IsWindow()
        end
    end

    TrayApp->>WinAPI: ShowWindow(SW_HIDE/SW_SHOW)
Loading

Plugin Installation

  1. Copy the plugin folder to \plugins in your HFS directory.
  2. Activate the plugin via the HFS web interface.

Requirements


Support:

  • BTC: bc1qeuq7s8w0x7ma59mwd4gtj7e9rjl2g9xqvxdsl6
  • TON: UQAOQXGtTi_aM1u54aQjb8QiXZkQdaL9MDSky5LHN0F5-yF2

About

A tool for managing the HTTP File Server version 3 (HFS 3) console, which allows it to be hidden in the system tray via the Named Pipes.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published