NCL Client software released

 https://github.com/nus-ncl/Client

Client



Logo

Client

An awesome tool to make your access to your machines on NCL easily!
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

Configurating SSH tunnel and rdesktop to the remote machine(on NCL) is a kind of boring and tedious process. That's what this tool 'Client' aims to solve. It provides a clean GUI to automate the procedure of SSH tunneling, port binding & unbinding and rdesktop to make your life easier :)

Getting Started

Select Platform

Get started from MacOS

[Step1: git clone or download this repository]

  • (option1) git:

    $ git clone https://github.com/nus-ncl/Client.git
  • (option2) Download from the url below:

    Client-master

[Step2: install python3.9]

  • python3.9
    # check in the terminal if python3.9 installed successfully
    $ python3.9 -V
    Python 3.9.9

[Step3: create a python virtual environment]

# Enter main folder
$ cd Client # or 'cd Client-master' 
$ python3.9 -m venv venv

[Step4: enter the python virtual environment & install dependencies]

$ source venv/bin/activate
(venv)$ pip install -r requirements.txt

[Step5: run it]

(venv)$ python client.py

Get started from Windows

using Command Prompt or known as CMD.exe

[Step1: git clone/download this repository]

  • (option1) git:

    $ git clone https://github.com/nus-ncl/Client.git
  • (option2) Download from the url below:

    Client-master

[Step2: install python3.9 & vncviewer]

  • python3.9
    # check in the terminal if python3.9 installed successfully
    $ python3.9 -V
    Python 3.9.9
  • vncviewer

[Step3: configure vncviewer]

  • search installed vncviewer file location search_vncviewer

  • right-click > properties > copy 'Target' find_target

  • add an entry to the Environment Variable 'Path' search_env find_env_path

  • in my case, 'Target' is 'C:\Program Files\RealVNC\VNC Viewer\vncviewer.exe', so add 'C:\Program Files\RealVNC\VNC Viewer\vncviewer.exe' to Path add_path

  • now can invoke it by 'vncviewer' in Command Prompt
$ vncviewer

check_vncviewer

[Step4: create a python virtual environment]

# Enter main folder
$ cd Client # or 'cd Client-master'
$ python3.9 -m venv venv

[Step5: enter the python virtual environment & install dependencies]

$ venv\Scripts\activate
(venv)$ pip install -r requirements.txt

[Step6: run it]

(venv)$ python client.py

Get started from Ubuntu

[Step1: git clone/download this repository]

  • (option1) git:

    $ git clone https://github.com/nus-ncl/Client.git
  • (option2) Download from the url below:

    Client-master

[Step2: install python3.9 & vncviewer]

  • python3.9
    # check in the terminal if python3.9 installed successfully
    $ python3.9 -V
    Python 3.9.9
  • vncviewer

[Step3: create a python virtual environment]

# Enter main folder
$ cd Client # or 'cd Client-master'
$ python3.9 -m venv venv

[Step4: enter the python virtual environment & install dependencies]

$ source venv/bin/activate
(venv)$ pip install -r requirements.txt

[Step5: run it]

(venv)$ python client.py

Usage

mainwindow

  1. Input your NCL Testbed Username into Username blank.

    caution

    • If you use Username nologin that we provide, no more further operations
    • If you use your own NCL Testbed Username(e.g. joedoe)
      • put your private key to the private_key folder and name it as <Username>.pem(e.g. joedoe.pem)
      • (not applicable for Windows) change the file mode of the private key to 400 by chmod 400 <Username>.pem
  2. Click the Choose XML ... button and choose your client xml file.

  3. Click 'Confirm' button to show your remote machines on NCL Testbed

  4. Select your local platform

  5. Select your method to access to the machine

    • 'Console': access with GUI
    • 'SSH': access without GUI via web browser(try again if failed)
  6. Double-click the machine entry to access it

  7. Click 'Tutorial' button to show a window of the relavant documentation

  8. Click 'Reset' button if 'Console' accessing method ALWAYS failed

    caution

    • single-click to select the machine you want to reset before clicking 'Reset'
  9. 'Nothing' Button is a future function button, to be continued...

Issues

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Huang Kang - [huangk@nus.edu.sg]

Project Link: https://github.com/nus-ncl/Client

Acknowledgements

Contributors

  • Huang Kang

Comments

Popular posts from this blog

GreyHats CTF 2023

The Youth Cyber Exploration Programme (YCEP) - Central Capture-the-Flag 2023

Critical Infrastructure Defence Exercise (CIDeX) 2023