README_RU.md

August 26, 2025 Β· View on GitHub

Platform License GitHub release GitHub downloads GitHub issues GitHub stars Donate

SwitchShuttle Logo

SwitchShuttle

πŸš€ ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ с Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ горячими клавишами

SwitchShuttle Demo

✨ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ SwitchShuttle?

SwitchShuttle β€” это ΠΌΠΎΡ‰Π½ΠΎΠ΅ кроссплатформСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для систСмного трСя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ способ управлСния ΠΈ выполнСния Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠ΅ Π½Π° соврСмСнных тСхнологиях (Rust + Tauri + Vue.js), ΠΎΠ½ΠΎ прСдоставляСт элСгантный интСрфСйс для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, настройки ΠΈ быстрого доступа ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ опСрациям.

🎯 ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ возмоТности

  • πŸ–₯️ ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° - Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° macOS, Windows ΠΈ Linux
  • ⚑ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ горячиС клавиши - ВыполняйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈΠ· любого мСста
  • 🎨 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мноТСства Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² - iTerm, Terminal, Warp, Alacritty, Hyper ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅
  • πŸ“ Умная организация - Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ подмСню для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄
  • πŸ”§ ДинамичСскиС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ - Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ запросы для ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • πŸ”„ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ выполнСния - Запуск Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅, Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅
  • πŸš€ Автозапуск - Запуск ΠΏΡ€ΠΈ стартС систСмы для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ доступа
  • 🎨 Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ интСрфСйс - ΠšΡ€Π°ΡΠΈΠ²Ρ‹ΠΉ, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ интСрфСйс Π½Π° Vue.js
  • πŸ’» Командная строка - ВыполняйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° с CLI
  • βš™οΈ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ конфигурациями - Π’ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π΅Π· удалСния
  • πŸ”„ ΠšΠΎΠΌΠ°Π½Π΄Ρ‹-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ - ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ систСмныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ
  • πŸ“Š ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° - ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ систСмных рСсурсов Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ
  • πŸ“… Π—Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ - Автоматизация Π·Π°Π΄Π°Ρ‡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cron Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • 🎯 БистСма шаблонов - Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ для распространСнных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов

πŸ–₯️ ΠžΠ±Π·ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса

SwitchShuttle прСдоставляСт соврСмСнный, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ интСрфСйс с нСсколькими ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ:

πŸŽ›οΈ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ интСрфСйса

1. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ

  • Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ JSON Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ - Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ с подсвСткой синтаксиса ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ
  • БистСма шаблонов - Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… шаблонов ΠΊΠΎΠΌΠ°Π½Π΄ для распространСнных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов
  • Валидация Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ - МгновСнная обратная связь ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
  • АвтосохранСниС - ИзмСнСния автоматичСски ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ конфигурациями - Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π±Π΅Π· удалСния
  • Поиск ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ - Быстрый поиск ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ
  • Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΉ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ для тСстирования

2. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ

  • ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса Ρ„ΠΎΡ€ΠΌ
  • Настройка горячих клавиш - Установка Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… сокращСний для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄
  • Π’Ρ‹Π±ΠΎΡ€ ΠΈΠΊΠΎΠ½ΠΎΠΊ - Π’Ρ‹Π±ΠΎΡ€ эмодзи ΠΈΠΊΠΎΠ½ΠΎΠΊ для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ
  • Поля Π²Π²ΠΎΠ΄Π° - Настройка динамичСских запросов Π²Π²ΠΎΠ΄Π° для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄
  • Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ подмСню - ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² иСрархичСскиС структуры
  • Валидация ΠΊΠΎΠΌΠ°Π½Π΄ - Валидация синтаксиса ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

3. ПанСль настроСк

  • Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° - Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прилоТСния
  • Π Π΅ΠΆΠΈΠΌ запуска - Настройка способа выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ (Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅/новая Π²ΠΊΠ»Π°Π΄ΠΊΠ°/Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ)
  • Настройки Ρ‚Π΅ΠΌΡ‹ - Настройка внСшнСго Π²ΠΈΠ΄Π° прилоТСния
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ автозапуска - Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ запуска ΠΏΡ€ΠΈ стартС систСмы
  • Настройки Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… горячих клавиш - Настройка систСмных сокращСний для мСню

4. МСню систСмного трСя

  • Быстрый доступ - Π©Π΅Π»Ρ‡ΠΎΠΊ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ трСя для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ
  • Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ статуса - Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ обратная связь для ΠΊΠΎΠΌΠ°Π½Π΄-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°
  • Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ мСню - ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ иСрархия ΠΊΠΎΠΌΠ°Π½Π΄ для Π»Π΅Π³ΠΊΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ
  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ горячиС клавиши - БочСтания клавиш для Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄
  • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ - Π–ΠΈΠ²Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ систСмных рСсурсов

🎨 ВозмоТности интСрфСйса

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ конструктор ΠΊΠΎΠΌΠ°Π½Π΄

{
  "name": "πŸš€ Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ",
  "command": "npm run dev",
  "hotkey": "Ctrl+Shift+D",
  "icon": "πŸš€",
  "background": false,
  "inputs": {
    "port": "3000",
    "host": "localhost"
  }
}

БистСма шаблонов

SwitchShuttle Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для распространСнных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° - ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Git, инструмСнты сборки, тСстированиС
  • DevOps - Docker, Kubernetes, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвСрами
  • Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… - ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ MySQL, PostgreSQL, MongoDB
  • ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы - ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ AWS, Azure, Google Cloud
  • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ - Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сСти, ΠΎΡ†Π΅Π½ΠΊΠ° уязвимостСй
  • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ - БистСмныС рСсурсы, Π»ΠΎΠ³ΠΈ, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
  • Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ - ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, систСмныС инструмСнты
  • ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ - Cron Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ

Умная организация

  • Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ подмСню - ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² логичСскиС Π³Ρ€ΡƒΠΏΠΏΡ‹
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠΊΠΎΠ½ΠΎΠΊ - Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ идСнтификация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ эмодзи ΠΈΠΊΠΎΠ½ΠΎΠΊ
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ горячими клавишами - Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ сокращСния для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ доступа
  • Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ статуса - ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ
  • Ѐункция поиска - БыстроС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄

πŸ”’ ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ бСзопасности

SwitchShuttle Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ комплСксный ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ бСзопасности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Π²Π°ΡˆΡƒ систСму ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ врСдоносных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ прСдоставляСт Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄.

πŸ›‘οΈ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ бСзопасности

Валидация ΠΊΠΎΠΌΠ°Π½Π΄

  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ‹: Максимальная Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (1000 символов) ΠΈ Π΄Π»ΠΈΠ½Π° Π²Π²ΠΎΠ΄Π° (500 символов) ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ слишком Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
  • Π—Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ список опасных ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ
  • ΠŸΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ regex ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ для обнаруТСния ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ врСдоносных ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄
  • Валидация Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя рСдактирования для обСспСчСния бСзопасности

Настройки бСзопасности

  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ бСзопасности: ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ бСзопасности ΠΏΠΎ нСобходимости
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ списки Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ: ДобавляйтС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² список Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄
  • БопоставлСниС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ²: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠΉΡ‚Π΅ regex ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ для обнаруТСния ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… структур ΠΊΠΎΠΌΠ°Π½Π΄
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ‹: НастройтС ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π»ΠΈΠ½Ρ‹ для ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π²Π²ΠΎΠ΄ΠΎΠ²

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

  1. Валидация Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅: SecurityManager провСряСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм
  2. БопоставлСниС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ²: ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π½Π° соотвСтствиС Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌ ΠΈ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ regex ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌ
  3. Валидация Π΄Π»ΠΈΠ½Ρ‹: ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π²Π²ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π½Π° соотвСтствиС ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ограничСниям Π΄Π»ΠΈΠ½Ρ‹
  4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° списка Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ: ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ списком Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄
  5. БСзопасная конфигурация: Волько ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΊ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ ΠΈ использованию

πŸš€ Быстрый старт

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ установка

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1: Homebrew (macOS - РСкомСндуСтся)

# Установка Ρ‡Π΅Ρ€Π΅Π· Homebrew
brew tap s00d/switchshuttle
brew install --cask switchshuttle

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2: Π ΡƒΡ‡Π½ΠΎΠ΅ скачиваниС

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ послСдний Ρ€Π΅Π»ΠΈΠ· для вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ с GitHub Releases
  2. УстановитС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
  3. ЗапуститС SwitchShuttle - ΠΎΠ½ появится Π² систСмном Ρ‚Ρ€Π΅Π΅
  4. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ трСя для доступа ΠΊ мСню

ΠŸΠ΅Ρ€Π²Π°Ρ настройка

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ - НаТмитС "Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ" Π² мСню систСмного трСя
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» - Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹
  4. НастройтС горячиС клавиши - НастройтС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ сокращСния для быстрого доступа
  5. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ пСрСзапуститС - Π’Π°ΡˆΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ доступны Π² мСню трСя

ПошаговоС руководство ΠΏΠΎ интСрфСйсу

Π¨Π°Π³ 1: Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ

  • ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ SwitchShuttle ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ "Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€"
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (iTerm, Terminal, Warp ΠΈ Ρ‚.Π΄.)
  • УстановитС Ρ€Π΅ΠΆΠΈΠΌ запуска (Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, новая Π²ΠΊΠ»Π°Π΄ΠΊΠ° ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ)
  • НастройтС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ горячиС клавиши для доступа ΠΊ мСню

Π¨Π°Π³ 2: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄

  • НаТмитС "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ" для создания Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
  • Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
    • Имя: ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ имя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
    • Команда: ЀактичСская Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° для выполнСния
    • Горячая клавиша: Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ сокращСниС (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ)
    • Иконка: Π­ΠΌΠΎΠ΄Π·ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠ° для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
    • Π€ΠΎΠ½: Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π»ΠΈ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅
    • Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: ДинамичСскиС поля Π²Π²ΠΎΠ΄Π° для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄

Шаг 3: ИспользованиС шаблонов

  • НаТмитС "Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаблон" для доступа ΠΊ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ коллСкциям ΠΊΠΎΠΌΠ°Π½Π΄
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, DevOps, Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄.
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹
  • НастройтС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ нСобходимости

Π¨Π°Π³ 4: Доступ Ρ‡Π΅Ρ€Π΅Π· систСмный Ρ‚Ρ€Π΅ΠΉ

  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ SwitchShuttle Π² Ρ‚Ρ€Π΅Π΅
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ мСню ΠΊΠΎΠΌΠ°Π½Π΄
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ горячиС клавиши для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ статус систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Π¨Π°Π³ 5: Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности

  • ΠšΠΎΠΌΠ°Π½Π΄Ρ‹-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ: ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ систСмных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ статуса
  • ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°: ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ систСмных рСсурсов Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • Π—Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: Автоматизация Π·Π°Π΄Π°Ρ‡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cron Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ мСню: ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² иСрархичСскиС структуры

πŸ’» Командная строка (CLI)

SwitchShuttle Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹ΠΉ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для быстрого выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π΅Π· открытия GUI.

ИспользованиС CLI

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄

# Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ID ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
switch-shuttle cmd_8

# Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра)
switch-shuttle "ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹"

Бписок всСх ΠΊΠΎΠΌΠ°Π½Π΄

# ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΈΡ… ID
switch-shuttle --list
# ΠΈΠ»ΠΈ
switch-shuttle -l

Поиск команд

# Поиск ΠΊΠΎΠΌΠ°Π½Π΄, содСрТащих ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст
switch-shuttle --search "git"
# ΠΈΠ»ΠΈ
switch-shuttle -s "docker"

Запуск CLI Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах

macOS

# Если установлСно Ρ‡Π΅Ρ€Π΅Π· Homebrew
switch-shuttle --list

# Если установлСно Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ
/Applications/switch-shuttle.app/Contents/MacOS/SwitchShuttle --list

# Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ алиас для Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ доступа
echo 'alias switch-shuttle="/Applications/switch-shuttle.app/Contents/MacOS/SwitchShuttle"' >> ~/.zshrc
source ~/.zshrc

Windows

# Если установлСно Ρ‡Π΅Ρ€Π΅Π· установщик
"C:\Program Files\SwitchShuttle\switch-shuttle.exe" --list

# Если установлСно Ρ‡Π΅Ρ€Π΅Π· winget ΠΈΠ»ΠΈ chocolatey
switch-shuttle --list

# Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² PATH для Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ доступа
# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ "C:\Program Files\SwitchShuttle" Π² систСмный PATH

Linux

# Если установлСно Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
switch-shuttle --list

# Если установлСно Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ
./switch-shuttle --list

# Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ исполняСмым ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² PATH
chmod +x switch-shuttle
sudo mv switch-shuttle /usr/local/bin/

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ CLI

# БыстрыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Git
switch-shuttle "git status"
switch-shuttle "git pull"

# Π Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
switch-shuttle "npm run dev"
switch-shuttle "docker-compose up"

# Бписок всСх доступных ΠΊΠΎΠΌΠ°Π½Π΄
switch-shuttle --list

# Найти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, связанныС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…
switch-shuttle --search "database"

ВозмоТности CLI

  • πŸš€ БыстроС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ - Запуск ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°
  • πŸ” Π£ΠΌΠ½Ρ‹ΠΉ поиск - Поиск ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ID ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ
  • πŸ“‹ Бписок ΠΊΠΎΠΌΠ°Π½Π΄ - ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ всСх доступных ΠΊΠΎΠΌΠ°Π½Π΄
  • ⚑ Π‘Π΅Π· GUI - ИдСально для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ скриптов
  • πŸ”„ Π’Ρ‹Ρ…ΠΎΠ΄ послС выполнСния - Чистый ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ

πŸ“‹ Руководство ΠΏΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Базовая структура

SwitchShuttle ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JSON Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, хранящиСся Π²:

  • macOS/Linux: ~/.config/switch-shuttle/
  • Windows: C:\Users\<Username>\AppData\Roaming\switch-shuttle\

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

{
  "terminal": "iterm",
  "launch_in": "new_tab",
  "title": "Мои ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹",
  "commands": [
    {
      "name": "πŸš€ Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ",
      "command": "npm run dev",
      "hotkey": "Ctrl+Shift+D"
    },
    {
      "name": "πŸ“¦ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости",
      "command": "npm install",
      "hotkey": "Ctrl+Shift+I"
    },
    {
      "name": "πŸ”§ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ",
      "submenu": [
        {
          "name": "πŸ§ͺ Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСсты",
          "command": "npm test",
          "hotkey": "Ctrl+Shift+T"
        },
        {
          "name": "πŸ“Š Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚",
          "command": "npm run build",
          "hotkey": "Ctrl+Shift+B"
        }
      ]
    }
  ]
}

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности

πŸ”§ ДинамичСскиС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

{
  "name": "πŸ“ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚",
  "inputs": {
    "componentName": "MyComponent",
    "componentType": "functional"
  },
  "commands": [
    "mkdir -p src/components/[componentName]",
    "touch src/components/[componentName]/index.tsx",
    "echo 'import React from \"react\";' > src/components/[componentName]/index.tsx",
    "echo 'export const [componentName] = () => <div>[componentName]</div>;' >> src/components/[componentName]/index.tsx"
  ],
  "hotkey": "Ctrl+Shift+N"
}

πŸ”„ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄:

{
  "name": "πŸ”„ ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ",
  "commands": [
    "git pull origin main",
    "npm install",
    "npm run lint",
    "npm run test",
    "npm run build"
  ],
  "background": true,
  "hotkey": "Ctrl+Shift+F"
}

⏰ Π—Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Cron)

ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для автоматичСского выполнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cron Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

{
  "name": "πŸ”„ АвтоматичСскоС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅",
  "commands": [
    "rsync -av /source/ /backup/"
  ],
  "scheduler": "0 2 * * *",
  "background": true,
  "hotkey": "Ctrl+Shift+B"
}

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Cron Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ стандартныС cron выраТСния с 6 полями: сСкунда ΠΌΠΈΠ½ΡƒΡ‚Π° час дСнь мСсяц дСнь_Π½Π΅Π΄Π΅Π»ΠΈ

РаспространСнныС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Cron:

  • "0 0 * * * *" - ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ час Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ 0
  • "0 0 2 * * *" - ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π² 2:00 ΡƒΡ‚Ρ€Π°
  • "0 30 9 * * 1-5" - Π’ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π΄Π½ΠΈ Π² 9:30 ΡƒΡ‚Ρ€Π°
  • "0 0 12 * * 1" - ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ понСдСльник Π² полдСнь
  • "0 0 0 1 * *" - ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ дСнь ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ мСсяца
  • "0 */15 * * * *" - ΠšΠ°ΠΆΠ΄Ρ‹Π΅ 15 ΠΌΠΈΠ½ΡƒΡ‚
  • "0 0 0 * * 0" - КаТдоС Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅ Π² ΠΏΠΎΠ»Π½ΠΎΡ‡ΡŒ

ВозмоТности ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°:

  • Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ - ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΡ…ΠΎ Π±Π΅Π· открытия Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Cron - ΠŸΠΎΠ»Π½Ρ‹ΠΉ парсинг ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ cron Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок - Graceful fallback ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… парсинга cron
  • ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ - Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° macOS, Windows ΠΈ Linux

πŸ–₯️ Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ способ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ - Π² Ρ„ΠΎΠ½Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ConsolePool ΠΈΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

{
  "name": "πŸš€ Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр",
  "commands": [
    "npm run dev"
  ],
  "background": true,
  "hotkey": "Ctrl+Shift+S"
}

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ выполнСния:

  • "background": true - Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ConsolePool (Ρ„ΠΎΠ½)
  • "background": false - Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°
  • "background": null ΠΈΠ»ΠΈ пропуск - АвтоопрСдСлСниС Π½Π° основС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

πŸ“ Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ подмСню

ΠžΡ€Π³Π°Π½ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² иСрархичСскиС мСню:

{
  "name": "🐳 ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Docker",
  "submenu": [
    {
      "name": "πŸš€ Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвисы",
      "submenu": [
        {
          "name": "πŸ—οΈ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°",
          "command": "docker-compose -f docker-compose.dev.yml up -d"
        },
        {
          "name": "🏭 ΠŸΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½",
          "command": "docker-compose -f docker-compose.prod.yml up -d"
        }
      ]
    },
    {
      "name": "πŸ›‘ ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС",
      "command": "docker-compose down"
    }
  ]
}

πŸ”„ ΠšΠΎΠΌΠ°Π½Π΄Ρ‹-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ систСмныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ:

{
  "name": "πŸ”§ БистСмныС элСмСнты управлСния",
  "submenu": [
    {
      "name": "πŸ“Ά ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ WiFi",
      "command": "networksetup -setairportpower en0 toggle",
      "switch": "networksetup -getairportpower en0 | grep -q 'On' && echo 'true' || echo 'false'"
    },
    {
      "name": "πŸ”Š ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Bluetooth",
      "command": "blueutil -p toggle",
      "switch": "blueutil -p | grep -q '1' && echo 'true' || echo 'false'"
    },
    {
      "name": "πŸŒ™ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ",
      "command": "osascript -e 'tell app \"System Events\" to tell appearance preferences to set dark mode to not dark mode'",
      "switch": "osascript -e 'tell app \"System Events\" to tell appearance preferences to get dark mode'"
    }
  ]
}

ВозмоТности ΠΊΠΎΠΌΠ°Π½Π΄-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ:

  • Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ - ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΡ…ΠΎ Π±Π΅Π· открытия Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса - АвтоматичСски опрСдСляСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС
  • Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ обратная связь - ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ статус Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² мСню
  • ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ - Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° macOS, Windows ΠΈ Linux

πŸ“Š ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΡŒΡ‚Π΅ систСмныС рСсурсы ΠΈ сСрвисы с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

{
  "name": "πŸ“Š БистСмный ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³",
  "submenu": [
    {
      "name": "πŸ’Ύ ИспользованиС памяти",
      "command": "top -l 1 | head -n 10",
      "monitor": "memory",
      "icon": "🧠"
    },
    {
      "name": "πŸ’» Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° CPU",
      "command": "top -l 1 | grep 'CPU usage'",
      "monitor": "cpu",
      "icon": "⚑"
    },
    {
      "name": "πŸ’Ύ Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ мСсто Π½Π° дискС",
      "command": "df -h | grep '/dev/'",
      "monitor": "disk",
      "icon": "πŸ’Ύ"
    },
    {
      "name": "🌐 Бтатус сСти",
      "command": "ifconfig | grep -E 'inet |status:'",
      "monitor": "network",
      "icon": "🌐"
    }
  ]
}

ВозмоТности ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с мСню - Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π² мСню систСмного трСя
  • Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ - Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ мСню
  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… - Показ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ прямо Π² интСрфСйсС мСню
  • Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ - Иконки ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ статуса Π² мСню
  • ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ - Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° macOS, Windows ΠΈ Linux

βš™οΈ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Основная конфигурация

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π’ΠΈΠΏΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠŸΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
terminalStringΠ’Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для использования"terminal"
launch_inStringΠ“Π΄Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹"current"
themeStringΠ’Π΅ΠΌΠ° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (Ссли поддСрТиваСтся)-
titleStringΠ—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°/Π²ΠΊΠ»Π°Π΄ΠΊΠΈ-
menu_hotkeyStringΠ“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ горячая клавиша для открытия мСню-
commandsArrayБписок ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄[]
enabledBooleanΠ”ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ эта конфигурация Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡtrue

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ²

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»macOSWindowsLinux
itermβœ…βŒβŒ
terminalβœ…βœ…βœ…
warpβœ…βŒβŒ
alacrittyβœ…βœ…βœ…
hyperβœ…βœ…βœ…

Π Π΅ΠΆΠΈΠΌΡ‹ запуска

РСТимОписаниС
currentΠ’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°
new_tabΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ
new_windowΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π’ΠΈΠΏΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
nameStringβœ…ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ имя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
commandsArrayβŒΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для выполнСния
submenuArrayβŒΠ’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
switchString❌Команда для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ состояния ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true/false)
monitorString❌Команда для получСния значСния отобраТСния для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°
inputsObjectβŒΠ”ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ поля Π²Π²ΠΎΠ΄Π°
hotkeyStringβŒΠ“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ горячая клавиша
iconString❌Эмодзи ΠΈΠΊΠΎΠ½ΠΊΠ° для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
backgroundBooleanβŒΠ’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ„ΠΎΠ½Π΅ (ConsolePool) ΠΈΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»
schedulerString❌Cron Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ выполнСния

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ конфигурациями

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для контроля Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ доступны Π² мСню систСмного трСя. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для:

  • Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ - ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π±Π΅Π· удалСния
  • ВСстирования - Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ - Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ мноТСствСнных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ…

Π’ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅:

  • ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "Бтатус ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΈ доступны Π² мСню
  • ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹

Π’ JSON ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

{
  "terminal": "iterm",
  "launch_in": "current",
  "title": "Мои ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹",
  "enabled": true,
  "commands": [
    {
      "name": "ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹",
      "command": "echo Hello World"
    }
  ]
}
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π’ΠΈΠΏΠŸΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
enabledBooleantrueΠ”ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ эта конфигурация Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΈ Π±Ρ‹Ρ‚ΡŒ доступной Π² мСню

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Когда enabled установлСн Π² false ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½, конфигурация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈ Π΅Ρ‘ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ появятся Π² мСню систСмного трСя.

🎯 Π‘Π»ΡƒΡ‡Π°ΠΈ использования

πŸ‘¨β€πŸ’» Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ

  • Быстрая навигация ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ - ΠœΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ
  • Π Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы сборки ΠΈ тСстирования - ΠžΠ΄Π½ΠΎΠ½Π°ΠΆΠ°Ρ‚Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Docker - Запуск/остановка ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с горячими клавишами
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Git - ΠžΠ±Ρ‰ΠΈΠ΅ git ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвСрами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ - Запуск/остановка сСрвСров Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ качСства ΠΊΠΎΠ΄Π° - Запуск Π»ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ², Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€ΠΎΠ² ΠΈ тСстов

πŸ› οΈ DevOps ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹

  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвСрами - SSH соСдинСния ΠΈ сСрвСрныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° - Быстрый доступ ΠΊ Π»ΠΎΠ³Π°ΠΌ ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ развСртывания - АвтоматизированныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы развСртывания
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… - ΠžΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠžΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² - Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Docker ΠΈ Kubernetes
  • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ инфраструктуры - ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ систСмных рСсурсов

🎨 Π”ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹

  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ рСсурсов - ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ оптимизация ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½-систСмы - ГСнСрация ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
  • Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² - Быстрый запуск сСрвСров Π΄ΠΈΠ·Π°ΠΉΠ½Π°
  • Автоматизация инструмСнтов Π΄ΠΈΠ·Π°ΠΉΠ½Π° - ΠŸΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы

πŸ”§ БистСмныС администраторы

  • БистСмный ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ - ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ рСсурсов Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвисами - Запуск/остановка систСмных сСрвисов
  • Автоматизация Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования - Π—Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования
  • Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ инструмСнты - Диагностика ΠΈ конфигурация сСти
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ бСзопасности - Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ уязвимостСй ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ°
  • Π—Π°Π΄Π°Ρ‡ΠΈ обслуТивания - ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° ΠΈ оптимизация систСмы

πŸ”§ Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· исходного ΠΊΠΎΠ΄Π°

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования

  • Rust (послСдняя ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия)
  • Node.js (v16 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅)
  • pnpm (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²)
  • Tauri CLI

Π¨Π°Π³ΠΈ сборки

# ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git clone https://github.com/s00d/switchshuttle.git
cd switchshuttle

# Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости
pnpm install

# Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
pnpm run tauri dev

# Π‘Π±ΠΎΡ€ΠΊΠ° для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°
pnpm run tauri build

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ

macOS

# Если Ρƒ вас ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с подписью
chmod +x /Applications/switch-shuttle.app
xattr -cr /Applications/switch-shuttle.app
codesign --force --deep --sign - /Applications/switch-shuttle.app

Windows

# Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Rust ΠΈ Node.js
# Π—Π°Ρ‚Π΅ΠΌ слСдуйтС шагам сборки Π²Ρ‹ΡˆΠ΅

Linux

# Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ систСмныС зависимости
sudo apt-get update
sudo apt-get install libwebkit2gtk-4.0-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev

# Π—Π°Ρ‚Π΅ΠΌ слСдуйтС шагам сборки Π²Ρ‹ΡˆΠ΅

🀝 УчастиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

ΠœΡ‹ привСтствуСм Π²ΠΊΠ»Π°Π΄! Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ:

  1. Π€ΠΎΡ€ΠΊΠ½ΠΈΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (git checkout -b feature/amazing-feature)
  3. ЗафиксируйтС ваши измСнСния (git commit -m 'Add amazing feature')
  4. ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π² Π²Π΅Ρ‚ΠΊΡƒ (git push origin feature/amazing-feature)
  5. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Pull Request

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

  • Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ ΠΊΠΎΠ΄Π°
  • ДобавляйтС тСсты для Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
  • ΠžΠ±Π½ΠΎΠ²Π»ΡΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ pnpm для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ

Настройка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

# Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости
pnpm install

# Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
pnpm run tauri dev

# Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ²
pnpm run type-check

# Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°
pnpm run tauri build

πŸ“„ ЛицСнзия

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ MIT License - см. Ρ„Π°ΠΉΠ» LICENSE для Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

πŸ™ Благодарности

  • Π’Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Shuttle
  • ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Tauri для кроссплатформСнных дСсктопных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
  • UI Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Vue.js
  • Π‘Ρ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Tailwind CSS

πŸ“ž ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°


Π‘ΠΎΠ·Π΄Π°Π½ΠΎ с ❀️ сообщСством SwitchShuttle

⭐ ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π²Π΅Π·Π΄Ρƒ этому Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, Ссли ΠΎΠ½ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½!