tis-putty

0.80-10
PuTTY is a free and open-source terminal emulator, serial console and network file transfer application
11481 downloads
Download
See build result See VirusTotal scan
tis-putty icon
  • package : tis-putty
  • name : PuTTY
  • version : 0.80-10
  • categories : System and network
  • maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ
  • installed_size : 5785289
  • editor : Simon Tatham
  • licence : opensource_free,cpe:/a:mit:x11_license,wapt_public
  • signature_date : 2023-12-25T16:00:07.161432
  • size : 2.96 Mo
  • locale : all
  • target_os : windows
  • impacted_process : pageant,plink,pscp,psftp,putty,puttygen
  • architecture : x86
  • Homepage : https://www.chiark.greenend.org.uk/~sgtatham/putty/
package           : tis-putty
version           : 0.80-10
architecture      : x86
section           : base
priority          : optional
name              : PuTTY
categories        : System and network
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : PuTTY is a free and open-source terminal emulator, serial console and network file transfer application
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
installed_size    : 5785289
impacted_process  : pageant,plink,pscp,psftp,putty,puttygen
description_fr    : PuTTY est un émulateur de terminal doublé d'un client pour les protocoles SSH, Telnet, rlogin, et TCP brut
description_pl    : PuTTY to darmowy i open-source'owy emulator terminala, konsola szeregowa i aplikacja do przesyłania plików w sieci
description_de    : PuTTY ist ein kostenloser und quelloffener Terminalemulator, eine serielle Konsole und eine Anwendung zur Dateiübertragung im Netzwerk
description_es    : PuTTY es un emulador de terminal gratuito y de código abierto, una consola serie y una aplicación de transferencia de archivos en red
description_pt    : PuTTY é um emulador de terminal gratuito e de código aberto, consola série e aplicação de transferência de ficheiros em rede
description_it    : PuTTY è un emulatore di terminale, una console seriale e un'applicazione per il trasferimento di file in rete gratuita e open-source
description_nl    : PuTTY is een gratis en open-source terminal emulator, seriële console en netwerk bestandsoverdracht applicatie
description_ru    : PuTTY - это бесплатный эмулятор терминала с открытым исходным кодом, последовательная консоль и приложение для передачи файлов по сети
audit_schedule    : 
editor            : Simon Tatham
keywords          : putty,tty,terminal,emulator,console,network,scp,ssh,telnet,rlogin
licence           : opensource_free,cpe:/a:mit:x11_license,wapt_public
homepage          : https://www.chiark.greenend.org.uk/~sgtatham/putty/
package_uuid      : 6139bf52-73c9-4adc-baf3-3b0b99329d68
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html
min_os_version    : 5.1
max_os_version    : 
icon_sha256sum    : 11fe77671fd02e8f58809a2ab1edd6d6801233b5597015ff7452d69b21ab6acb
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : OOBAths/re16pVebwyBaFWR8DuL1wmc3RyqOuTj0gxpiOdjXVjBcwlf0iqz85J7iddwuQM1KFCkKTzL9wACV3K3WY6Ad0/Nbr1c9l3yEwUku4X0xuFUO9bMoJMupQD+0Y0pO/jXvy0BsJ2Whbk3yZ2egjzlYzME+DUXkOgptOL4QVSFpImw16GmFs7+FzmupzA65jGOOcKJcl1dWt5VdBrMxmeEbOg+eAqPScMR4W5HgPlOz0qU7XhtSJaxm8HtxR8EvT0LdYl9cw0PEbVRoxw6tE7MzFc2C3yNAuJ5NfRnB70ymbfr+mRo7GJcAPhXQds8nszm2nvYqlAFeVGTWbw==
signature_date    : 2023-12-25T16:00:07.161432
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
# -*- coding: utf-8 -*-
from setuphelpers import *
import time


def install():
    # Initializing variables
    package_version = control.version.split("-", 1)[0]
    bin_name = glob.glob("putty-*-installer.msi")[0]

    # Uninstalling the EXE versions of the software
    for to_uninstall in installed_softwares(uninstallkey="PuTTY_is1"):
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])

    # Force uninstalling older versions of the software
    for to_uninstall in installed_softwares(name="PuTTY "):
        if Version(to_uninstall["version"]) < Version(control.get_software_version()) or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(ensure_list(control.impacted_process))
            try:
                run(uninstall_cmd(to_uninstall["key"]))
                wait_uninstallkey_absent(to_uninstall["key"], max_loop=60, raise_on_timeout=True)
            except Exception as e:
                print(e)
                time.sleep(60)
                unregister_uninstall(to_uninstall["key"], win64app=to_uninstall["win64"])
                if isdir(to_uninstall["install_location"]):
                    remove_tree(to_uninstall["install_location"])

    # Installing the package
    install_msi_if_needed(
        bin_name,
        min_version=package_version,
    )


def session_setup():
    remove_user_programs_menu_folder("PuTTY (64-bit)")
    remove_user_programs_menu_folder("PuTTY")


def uninstall():
    remove_programs_menu_folder("PuTTY (64-bit)")
    remove_programs_menu_folder("PuTTY")


def remove_user_programs_menu_folder(folder):
    """Remove a folder from the start menu of current user

    Args:
        folder(str): folder to remove
    """
    user_programs_menu_folder = makepath(winshell.programs(common=0), folder)
    if isdir(user_programs_menu_folder):
        remove_tree(user_programs_menu_folder)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    download_dict = {
        "windows-x64": "https://the.earth.li/~sgtatham/putty/latest/w64/",
        "windows-x86": "https://the.earth.li/~sgtatham/putty/latest/w32/",
    }
    url = download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]]
    download_str = download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]]

    # Getting latest version from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(url, "a", "href", proxies=proxies):
        if "installer.msi" in bs_search["href"]:
            latest_bin = bs_search["href"]
            version = latest_bin.rsplit("-")[-2]
            download_url = url + bs_search["href"]
            break

    # Downloading latest binaries
    print("Latest %s version is: %s" % (control.name, version))
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print("Binary is present: %s" % latest_bin)

    # Deleting outdated binaries
    remove_outdated_binaries(latest_bin)
    # arch_list = ensure_list(control.architecture)
    # remove_outdated_binaries(version, filename_contains=("x64" if "x64" in arch_list else "x86" if "x86" in arch_list else []))

    # Checking version from file
    if get_os_name() == "windows" in control.target_os.lower():
        version_from_file = get_version_from_binary(latest_bin)
        if Version(version_from_file, 4) == Version(version, 4):
            print(f"INFO: Binary file version ({version_from_file}) corresponds to online version ({version})")
        else:
            error(f"ERROR: Binary file version ({version_from_file}) do NOT corresponds to online version ({version})")

    # Changing version of the package
    if Version(version, 4) > Version(control.get_software_version(), 4):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating or not update-package-sources
    return package_updated

    # # Changing version of the package and validating update-package-sources
    # return complete_control_version(control, version)
2c96692e945a24c7f38b18e158d64a72a47a9cad9a9a4b407a56186c04532603 : setup.py
 : __pycache__
1407101e95bba5343a20f9bf9324d4d5410567723b255f6e06396a0b5fc655a0 : putty-0.80-installer.msi
7932fd07da48225b5f01580cee43d715710746bff2450e93616517130315f385 : update_package.py
11fe77671fd02e8f58809a2ab1edd6d6801233b5597015ff7452d69b21ab6acb : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 : WAPT/changelog.txt
6a2f1c53f8ee1345600bca20696d0e308dfd885daad6d4482eab0179f4a04e52 : luti.json
0798f4ece3afb30f6c6cfa246a2cf398e8775adfd2bda0e94cb5ebc0f417dc70 : WAPT/control