Bisakah saya menjalankan skrip di mesin windows LOCAL saya dari Putty?

1

Saya menggunakan klien twitter baris perintah, TTYtter , melalui Putty pada kotak linux. Banyak tweet yang berisi tautan, jadi ada a /url perintah untuk membuka url, yang mencari URL dalam tweet yang diberikan dan menjalankannya secara lokal untuk meluncurkan browser dengan url itu (mis. open %U di mac atau firefox -new-tab %U di Linux).

Pertanyaan saya: Apakah ada perintah yang bisa saya jalankan dari dalam sesi Putty untuk membuka URL di mesin (windows 7) lokal saya? Dengan kata lain: apakah ada cara, dari dalam sesi SSH di Putty, untuk menjangkau sesi SSH ke mesin lokal?

EDIT: Pendekatan lain: Apakah ada kombinasi dari Putty dan daemon windows ssh atau cygwin atau sesuatu yang dapat saya gunakan untuk ssh ke kotak lokal saya (loopback) dan memicu tab untuk membuka? Saya menggunakan tmux untuk multiplexing jadi tujuan saya adalah memiliki semua barang saya dalam satu jendela dempul.

sequoia mcdowell
sumber

Jawaban:

3

Putty tidak mendukung peluncuran aplikasi lokal kecuali tentu saja Anda terhubung melalui SSH ke mesin lokal. Salah satu opsi adalah menginstal Cygwin pada kotak Windows Anda dan instal TTYtter di sana. Pada dasarnya TTYtter adalah kumpulan skrip Perl dan harus berfungsi dengan baik di Cygwin dengan asumsi Anda telah menginstal Perl juga.

John T
sumber
Lebih jauh, jika Anda menggunakan terminal mint Cygwin, Anda bisa Ctrl + klik pada tautan untuk membukanya di browser default Anda.
ak2
0

Jadi ini mungkin tidak berhasil dalam banyak kasus, tapi inilah yang saya temukan:

  1. Jalankan layanan di mesin host yang mendengarkan URL yang masuk.

    Saya menggunakan NodeJS di sini tanpa alasan tertentu; Saya yakin sebagian besar bahasa scripting populer akan berfungsi.

    var http = require('http'),
      querystring = require('querystring'),
      cp = require('child_process'),
      ip = '127.0.0.1',
      port = 9090,
      links_opened = 0;
      //urlopen curl --data "url=%U" 10.0.2.2:9090 %U  <- cmd for ttytter
    http.createServer(function (req, res) {
      if (req.method == 'POST') {
        req.on('data', function(chunk) {
      //get URL
          var _post = querystring.parse(chunk.toString()),
          //url has extra quotes for some reason:
            url_to_open = _post.url.match(/^'(.*)'$/)[1],
          //these three lines are just for nicely numbered console history (up to 999)
            link_ind = ++links_opened + ".",
            ln = link_ind + Array(5 - link_ind.length).join(' ');//pad it
            console.log( ln + url_to_open);
      //open tab
          cp.spawn('c:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe', ['-new-tab', url_to_open]);
        });
      }
    
      req.on('end', function() {
        //respond w/204 (success, no output)
        res.writeHead(204);
        res.end();
      });
    }).listen(port, ip);
    console.log('Server running at http://' + ip + ":" + port);
    
  2. Kirim URL dari host ke tamu (saya menggunakan cURL).

    Di saya .ttytterrc, Saya mendefinisikan opsi urlopen sebagai berikut: urlopen curl --data "url=%U" 10.0.2.2:9090 %U (% U diperluas ke URL: lihat urlopen ).

Saya memanggil / url & lt; tweet ID & gt ;, mengirimkan permintaan ke mesin host saya, dan layanan node membuka tab baru di jendela browser saya saat ini. Saya yakin ada sejumlah masalah keamanan potensial di sini, tetapi mengingat pengaturan firewall yang tepat, pemeriksaan IP pada skrip nodeJS, dll., Ini bukan penghalang. Bagaimanapun, itu bekerja untuk saya!

sequoia mcdowell
sumber