All Projects → avanzzzi → Hypy

avanzzzi / Hypy

Licence: gpl-3.0
Multiplatform Hyper-V Manager using Python and freeRDP

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Hypy

Inkino
A multiplatform Dart movie app with 40% of code sharing between Flutter and the Web.
Stars: ✭ 3,229 (+10316.13%)
Mutual labels:  multiplatform
Nuklear
A single-header ANSI C immediate mode cross-platform GUI library
Stars: ✭ 5,055 (+16206.45%)
Mutual labels:  multiplatform
Zircon
Zircon is an extensible and user-friendly, multiplatform tile engine.
Stars: ✭ 552 (+1680.65%)
Mutual labels:  multiplatform
Kompass
Kotlin Multiplatform Router for Android and iOS
Stars: ✭ 328 (+958.06%)
Mutual labels:  multiplatform
Compose Jb
Jetpack Compose for Desktop and Web, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
Stars: ✭ 7,562 (+24293.55%)
Mutual labels:  multiplatform
Lgame
A cross-platform Java game Engine (Framework) , support JavaFX / Android / IOS / HTML5 / Linux / MAC / Windows
Stars: ✭ 467 (+1406.45%)
Mutual labels:  multiplatform
Aegys-Acesso-Remoto
Aegys Suporte Remoto é um projeto Open Source de acesso remoto multiplataforma
Stars: ✭ 32 (+3.23%)
Mutual labels:  multiplatform
Kotlinmultiplatform
Kotlin MultiPlatform App (Android, iOS, JVM & JS). MVVM/MVP - Kotlin MultiPlatform
Stars: ✭ 661 (+2032.26%)
Mutual labels:  multiplatform
Bearparser
Portable Executable parsing library (from PE-bear)
Stars: ✭ 415 (+1238.71%)
Mutual labels:  multiplatform
Coyim
coyim - a safe and secure chat client
Stars: ✭ 513 (+1554.84%)
Mutual labels:  multiplatform
Decompose
Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.)
Stars: ✭ 339 (+993.55%)
Mutual labels:  multiplatform
Manifest Tool
Manifest tool for manifest list object creation/query
Stars: ✭ 355 (+1045.16%)
Mutual labels:  multiplatform
Mvikotlin
Extendable MVI framework for Kotlin Multiplatform with powerful debugging tools (logging and time travel)
Stars: ✭ 483 (+1458.06%)
Mutual labels:  multiplatform
Qmplay2
QMPlay2 is a video and audio player which can play most formats and codecs.
Stars: ✭ 310 (+900%)
Mutual labels:  multiplatform
Klock
Multiplatform Date and time library for Kotlin
Stars: ✭ 569 (+1735.48%)
Mutual labels:  multiplatform
Coroutineworker
Kotlin Coroutine-based workers for native
Stars: ✭ 282 (+809.68%)
Mutual labels:  multiplatform
Replxx
A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.
Stars: ✭ 446 (+1338.71%)
Mutual labels:  multiplatform
Reaktive
Kotlin multi-platform implementation of Reactive Extensions
Stars: ✭ 760 (+2351.61%)
Mutual labels:  multiplatform
Ouzel
C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers
Stars: ✭ 607 (+1858.06%)
Mutual labels:  multiplatform
Portacle
A portable common lisp development environment
Stars: ✭ 494 (+1493.55%)
Mutual labels:  multiplatform

HYPY - HYper-v in PYthon

Build Status Build status Codacy Badge

Multiplatform Hyper-V Manager using Python and FreeRDP

How hypy works?

Hypy uses winrm or ssh to comunicate with hyper-v server shell and sends powershell commands to interact with the virtual machines. To access the virtual machines, hypy uses freeRDP.

Hyper-V Server configuration

Clients connecting via WinRM

Hypy uses winrm to communicate with the hyper-v host, so it must be enabled and accepting connections. https://github.com/diyan/pywinrm has a session explaining how to enable WinRM on the server/remote host.

Clients connecting via SSH

As an alternative to winrm, you can setup a SSH server on the hyper-v server. Using the protocol parameter in command line or setting ssh in the protocol option.

Client configuration

FreeRDP

FreeRDP binary must be in path (windows, linux and mac). Make sure FreeRDP is working before using hypy or it will not open the session to the virtual machine.

Linux: Your package manager should have freerdp 1.1 or higher avaiable.

Mac: When using homebrew, make share to include --HEAD option to get the latest version (1.1 or higher) with HyperV support or use macports. Either way you will need XCode installed.

If you need to compile freerdp, look into https://github.com/FreeRDP/FreeRDP for instructions.

Install instructions

Hypy can be installed with pip. Using pypi package:

pip3 install hypy3

Using github package:

pip3 install git+https://github.com/avanzzzi/hypy.git

Configuration

To configure Hypy, create the file '~/.hypy.conf'. You can use hypy.conf.example that comes with the package to get a starting point or use the contents below. These options can be overriden in the command line if needed.

[credentials]
host = <server name in domain>
domain = <domain name>
user = <username in server>
pass = <password>

[options]
protocol = <ssh or winrm>
ssh_port = 22
sync_interval = <interval in hours to make new cache file>

usage

> hypy --help
Usage: hypy [OPTIONS] COMMAND [ARGS]...

  Multiplataform Hyper-V Manager using Python and FreeRDP

Options:
  --version                Show the version and exit.
  -u, --user TEXT          Username in hyper-v server
  -p, --pass TEXT          Password in hyper-v server
  -d, --domain TEXT        Domain name
  -m, --host TEXT          Hyper-V server hostname/ip address
  -t, --proto [ssh|winrm]  Protocol to be used
  --help                   Show this message and exit.

Commands:
  connect   Connect to virtual machine identified by...
  create    Create a new snapshot with vm's current state
  delete    Delete a machine's snapshot by name
  list      List virtual machines and its indexes
  ls        List updated virtual machines and its indexes
  pause     Pause virtual machine identified by index
  restore   Restore virtual machine snapshot
  resume    Resume (paused) virtual machine identified by...
  save      Save virtual machine identified by index
  snap      Manage virtual machine snapshots
  snaps     List virtual machine snapshots
  start     Start virtual machine identified by index
  status    Show virtual machine current status
  stop      Stop virtual machine identified by index
  switch    Manage virtual network switches in the...
  switches  List avaiable virtual network switches in the...

If you need help on any subcommand, run hypy.py COMMAND --help. Further details on subcommands: https://github.com/avanzzzi/hypy/wiki

tests

A tox.ini file is included for execution of style check and unit tests.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].