imgssh - SSH içinde yerel panodaki görseli yapıştırma
(github.com/coderredlab)Merhaba.
Son zamanlarda uzak sunuculara SSH ile bağlanıp Claude Code veya Codex gibi terminal araçlarını daha sık kullanıyorum; ama görsel ekleme süreci düşündüğümden daha uğraştırıcı oldu.
Yerelde ekran görüntüsü zaten panoda duruyor, ama uzak sunucunun bunu bilmesinin bir yolu olmadığından her seferinde dosya olarak kaydedip scp ile yüklemem, sonra da yolu tekrar yapıştırmam gerekiyordu.
Bu can sıkıcı olduğu için imgssh'i yaptım.
GitHub:
https://github.com/coderredlab/imgssh
Kullanım şekli, normal ssh yerine imgssh ile bağlanmak.
imgssh user@host
Bu durumda yerel panoda bir görsel varken Ctrl+] tuşuna basarsanız, görseli uzaktaki /tmp dizinine yükleyip mevcut SSH oturumuna dosya yolunu girer.
Örneğin şöyle bir şey olur.
'/tmp/imgssh-20260425-142744-a8f39c.png'
Bu özelliği, Claude Code veya Codex gibi CLI'lara görsel dosyası yolunu vermek için yaptım.
İlk başta terminal bazlı bir eklenti yaklaşımını da düşündüm; ancak Ghostty gibi eklenti sistemi olmayan terminaller var ve her terminale ayrı ayrı uyarlamak da pek istemedim, bu yüzden doğrudan ssh'yi sarmalayan bir yaklaşıma gittim.
Önem verdiğim ana yönler şunlardı.
- Genel sistem çapında klavye kancalaması yok
- Arka plan daemon'u yok
- Ters tünel yok
- Uzak sunucuda kurulması gereken hiçbir şey yok
- Yalnızca
imgsshile açılan SSH oturumu içinde çalışır
Bu yüzden birden fazla sekme açsanız bile her imgssh süreci yalnızca kendi oturumunu yönetir. Örneğin bir sekmede imgssh dev, başka bir sekmede imgssh prod açıksa, her sekmede verilen tetikleyici yalnızca ilgili sunucuya yükleme yapar.
Buna karşılık iç içe SSH oturumlarını takip etmez. imgssh dev ile bağlandıktan sonra onun içinden tekrar ssh prod çalıştırırsanız, görsel yine dev tarafına yüklenir. Bunu kapsamı bilerek dar tuttum.
Şu anda bu ilk sürüm olduğu için kapsamı basit.
- Linux üzerinde test edildi
- OpenSSH kullanıyor
- PNG pano görselleri
- Varsayılan
/tmpyükleme - Tırnaklı yol ekleme
- Yükleme için ayrı bir
sshsüreci ve OpenSSHControlPathkullanılıyor
macOS için kod içinde pngpaste backend'i ekledim, ancak henüz bizzat test edemedim.
Benzer sorunu çözen araçlar olarak clipssh ve PasteHop var; ama imgssh, tek seferlik yükleyici veya terminal entegrasyon aracından çok bir “ssh wrapper”a daha yakın.
Hâlâ düzeltilmesi gereken çok yer var. Özellikle SSH argüman işleme, terminale göre tetikleyici tuşlar ve tmux/nvim gibi ortamlardaki UX için daha fazla test gerekiyor.
Deneyip garip durumlar veya daha iyi bir yöntem görürseniz fikirlerinizi duymak isterim.
Henüz yorum yok.