#include #include #include #include #include // for sleep function #define MAX_INPUT_LENGTH 100 // Fonksiyon prototipleri void connect_ssh(const char *host, const char *user, const char *password); int main() { initscr(); // ncurses başlatma cbreak(); // Line buffering kapalı noecho(); // Kullanıcı girişini ekranda gösterme keypad(stdscr, TRUE); // Özel tuşlara erişim // Ekran boyutlarını al int rows, cols; getmaxyx(stdscr, rows, cols); // Form alanları char host[MAX_INPUT_LENGTH] = {0}; char user[MAX_INPUT_LENGTH] = {0}; char password[MAX_INPUT_LENGTH] = {0}; // Host mvprintw(1, 1, "Host: "); echo(); scanw("%s", host); noecho(); // User mvprintw(2, 1, "User: "); echo(); scanw("%s", user); noecho(); // Password mvprintw(3, 1, "Password: "); echo(); // Password için echo açıyoruz, sonra kapatacağız scanw("%s", password); noecho(); // SSH bağlantısını kur ve sürekli açık tut mvprintw(5, 1, "Connecting and keeping connection open..."); refresh(); connect_ssh(host, user, password); // Çıkış mesajı mvprintw(7, 1, "Press Ctrl+C to exit..."); refresh(); // Programı durdurana kadar bekle while (1) { sleep(1); // 1 saniye aralıklarla bekle } endwin(); // ncurses sonlandırma return 0; } void connect_ssh(const char *host, const char *user, const char *password) { ssh_session session = ssh_new(); if (session == NULL) { mvprintw(6, 1, "Error creating SSH session"); refresh(); return; } ssh_options_set(session, SSH_OPTIONS_HOST, host); ssh_options_set(session, SSH_OPTIONS_USER, user); int rc = ssh_connect(session); if (rc != SSH_OK) { mvprintw(6, 1, "Error connecting to %s: %s", host, ssh_get_error(session)); refresh(); ssh_free(session); return; } rc = ssh_userauth_password(session, NULL, password); if (rc != SSH_AUTH_SUCCESS) { mvprintw(6, 1, "Error authenticating with password: %s", ssh_get_error(session)); refresh(); ssh_disconnect(session); ssh_free(session); return; } mvprintw(6, 1, "SSH Connection Successful"); refresh(); // SOCKS5 proxy işlevini yerine getiren kodu buraya ekleyebilirsiniz. // Bu noktada, SOCKS5 proxy işlevselliğini sağlamak için ek kodlar eklemelisiniz. // Bağlantıyı sürekli açık tut while (1) { sleep(10); // Bağlantıyı arka planda açık tut } ssh_disconnect(session); ssh_free(session); }