Files transferred over shell protocol: Difference between revisions

Content deleted Content added
m Added 5 {{Bare URL inline}} tag(s) using a script. For other recently-tagged pages with bare URLs, see Category:Articles with bare URLs for citations from August 2024
Tag: nowiki added
 
(2 intermediate revisions by one other user not shown)
Line 28:
 
== Session initiation ==
The client initiates SSH or RSH connection with <{{code>|echo FISH:;/bin/sh</code>|fish}} as the command executed on remote machine. This should make it possible for the server to distinguish FISH connections from normal RSH or SSH.
 
The first two commands sent to the server are <code>FISH</code> and <code>VER</code> to negotiate FISH protocol, its version and extensions.
{{sxhl|2=fish|<nowiki/>
 
#FISH
echo; start_fish_server; echo '### 200'
Line 37:
#VER 0.0.2 <feature1> <feature2> <...>
echo '### 000'
}}
 
The server may reply to VER command with a lines like
 
VER 0.0.0 <feature2> <...>
### 200
 
which indicates supported version of the FISH protocol and supported extensions.
 
== Implementations ==
* [[Midnight Commander]]<ref>{{cite web | url=https://github.com/MidnightCommander/mc/blob/master/src/vfs/fish/fish.c {{Bare| URLtitle=Mc/Fish.c at master · MidnightCommander/Mc inline|date website=August[[GitHub]] 2024}}</ref>
* [[Far Manager#Linux, MacOS and BSD version|far2l]]<ref>{{cite web | url=https://github.com/elfmz/far2l/issues/1819 {{Bare| URLtitle=Feature: Consider porting FISH(FIle transfer over SHell filesystem) from Midnight Commander · Issue #1819 · elfmz/Far2l inline|date website=August[[GitHub]] 2024}}</ref>
* [[Lftp]]<ref>{{cite web | url=https://github.com/lavv17/lftp/blob/master/src/Fish.cc {{Bare| URLtitle=LFTP/SRC/Fish.cc at master · lavv17/LFTP inline|date website=August[[GitHub]] 2024}}</ref>
* fish:// [[KDE]] [[KIO|kioslave]]<ref>{{cite web | url=https://github.com/KDE/kio-extras/blob/master/fish/fish.cpp {{Bare| URLtitle=Kio-extras/Fish/Fish.CPP at master · KDE/Kio-extras inline|date website=August[[GitHub]] 2024}}</ref> (with [[konqueror]], [[Krusader]] or [[Dolphin (file manager)|Dolphin]])
* fish as [https://github.com/greyltc/tcl-vfs/blob/master/library/template/fishvfs.tcl tcl-vfs]
* FISH was implemented in [[Emacs]] TRAMP some time ago, but support was removed<ref>[https://github.com/emacs-mirror/emacs/commit/03c1ad4351c10ec998410e8d34f52ac4a1a0decd#diff-96ee1cf8a36451f16ddf3f468f6ac74643eeee171d17054ca0c8cbf6653a26a8 related commit in Emacs]</ref><ref>{{cite web | url=https://lists.gnu.org/archive/html/tramp-devel/2010-09/msg00001.html {{Bare URL inline|date title=AugustRe: Tramp's fish method 2024}}</ref> (although TRAMP still can use shell connections in a similar way using tramp-sh.el script file)
 
== See also ==