我可以從 PuTTY 在本機 Windows 電腦上執行腳本嗎?

我可以從 PuTTY 在本機 Windows 電腦上執行腳本嗎?

我使用命令列 Twitter 用戶端,打字機,透過 Linux 機器上的 PuTTY。許多推文包含鏈接,因此有一個/url打開 url 的命令,該命令在給定的推文中搜索 URL a 並在本地運行命令以啟動具有該 url 的瀏覽器(例如open %U​​在 Mac 或firefox -new-tab %ULinux 上)。

我的問題:是否有可以從 PuTTY 會話中執行的命令來開啟本機(Windows 7)電腦中的 URL? 換句話說:有沒有辦法從 PuTTY 的 SSH 會話中脫離 SSH 會話到達本機電腦?

編輯:另一種方法:是否有 PuTTY 和 Windows ssh 守護程序或 cygwin 或其他東西的組合,我可以使用它來 ssh 到我的本地框(環回)並觸發選項卡打開? 我使用 tmux 進行多路復用,因此我的目標是將所有內容放在一個 putty 視窗中。

答案1

PuTTY 不支援啟動本機應用程序,除非您透過 SSH 連接到本機。一種選擇是安裝西格文在您的 Windows 機器上並安裝 TTYtter。本質上,TTYtter 是 Perl 腳本的集合,假設您也安裝了 Perl,那麼在 Cygwin 上應該可以正常工作。

答案2

所以這在很多情況下可能不起作用,但這是我想到的:

  1. 在主機上執行一個服務來偵聽傳入的 URL。

    我用了NodeJS沒有特殊原因就在這裡;我確信大多數流行的腳本語言都可以工作。

    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. 將 URL 從主機傳送到訪客(我使用 cURL)。

    在 my 中.ttytterrc,我這樣定義 urlopen 選項:urlopen curl --data "url=%U" 10.0.2.2:9090 %U(%U 擴充為 URL:參見網址開啟)。

我呼叫 /url <tweet ID>,它向我的主機發送請求,節點服務在我目前的瀏覽器視窗中開啟一個新分頁。我確信這裡存在許多潛在的安全問題,但只要有適當的防火牆設定、nodeJS 腳本中的 IP 檢查等,這些都不是問題。無論如何,它對我有用!

相關內容