{ "name": "vscode-sshfs", "displayName": "SSH FS", "description": "File system provider using SSH", "publisher": "Kelvin", "version": "1.14.7", "engines": { "vscode": "^1.26.0" }, "categories": [ "Other" ], "activationEvents": [ "onFileSystem:ssh", "onFileSystemAccess:ssh", "onView:sshfs-configs", "onCommand:sshfs.new", "onCommand:sshfs.connect", "onCommand:sshfs.reconnect", "onCommand:sshfs.disconnect", "onCommand:sshfs.configure", "onCommand:sshfs.reload", "onCommand:sshfs.settings" ], "main": "./dist/extension.js", "author": { "name": "Kelvin Schoofs", "email": "schoofs.kelvin@gmail.com" }, "repository": "https://github.com/SchoofsKelvin/vscode-sshfs", "license": "GLP-3.0", "bugs": { "url": "https://github.com/SchoofsKelvin/vscode-sshfs/issues" }, "icon": "resources/Logo.png", "contributes": { "views": { "explorer": [ { "id": "sshfs-configs", "name": "SSH File Systems" } ] }, "commands": [ { "command": "sshfs.new", "title": "Create a SSH FS configuration", "category": "SSH FS" }, { "command": "sshfs.connect", "title": "Connect as Workspace folder", "category": "SSH FS" }, { "command": "sshfs.reconnect", "title": "Reconnect Workspace folder", "category": "SSH FS" }, { "command": "sshfs.disconnect", "title": "Disconnect Workspace folder", "category": "SSH FS" }, { "command": "sshfs.configure", "title": "Edit configuration", "category": "SSH FS" }, { "command": "sshfs.reload", "title": "Reload configurations", "category": "SSH FS" }, { "command": "sshfs.settings", "title": "Open settings and edit configurations", "category": "SSH FS" } ], "menus": { "commandPalette": [ { "command": "sshfs.new", "group": "SSH FS@1" }, { "command": "sshfs.connect", "group": "SSH FS@2" }, { "command": "sshfs.reconnect", "group": "SSH FS@3" }, { "command": "sshfs.disconnect", "group": "SSH FS@4" }, { "command": "sshfs.configure", "group": "SSH FS@5" }, { "command": "sshfs.reload", "group": "SSH FS@6" }, { "command": "sshfs.settings", "group": "SSH FS@7" } ], "view/item/context": [ { "command": "sshfs.new", "when": "view == 'sshfs-configs' && !viewItem", "group": "SSH FS@1" }, { "command": "sshfs.connect", "when": "view == 'sshfs-configs' && viewItem == inactive", "group": "SSH FS@2" }, { "command": "sshfs.reconnect", "when": "view == 'sshfs-configs' && viewItem == active", "group": "SSH FS@3" }, { "command": "sshfs.disconnect", "when": "view == 'sshfs-configs' && viewItem == active", "group": "SSH FS@4" }, { "command": "sshfs.configure", "when": "view == 'sshfs-configs' && viewItem", "group": "SSH FS@5" }, { "command": "sshfs.settings", "when": "view == 'sshfs-configs' && !viewItem", "group": "SSH FS@6" } ] }, "configuration": { "title": "SSH FS Configuration", "properties": { "sshfs.configpaths": { "default": [], "description": "Location of JSON files to load configs from", "type": "array", "items": "string" }, "sshfs.configs": { "definitions": { "fields": { "name": { "type": "string", "description": "The unique name for this configuration" }, "label": { "type": "string", "description": "A display name used in some user interface places" }, "root": { "type": "string", "description": "The remote folder to act as root folder", "default": "/" }, "host": { "type": "string", "description": "Hostname or IP address of the server" }, "port": { "type": "number", "description": "Port number of the server", "default": 22 }, "username": { "type": "string", "description": "Username for authentication" }, "password": { "type": [ "string", "boolean" ], "description": "Password for password-based user authentication" }, "privateKey": { "type": "string", "description": "String that contains a private key for either key-based or hostbased user authentication (OpenSSH format)" }, "privateKeyPath": { "type": "string", "description": "String that contains the path to a private key for either key-based or hostbased user authentication (OpenSSH format)" }, "passphrase": { "type": [ "string", "boolean" ], "description": "For an encrypted private key, this is the passphrase used to decrypt it" }, "agent": { "type": "string", "description": "Path to ssh-agent's UNIX socket for ssh-agent-based user authentication (or 'pageant' when using Pagent on Windows)" }, "putty": { "type": [ "string", "boolean" ], "description": "(Windows only) Use the settings from the given PuTTY session (set this to true to find one using the other settings)" }, "hop": { "type": "string", "description": "Use another SSH configuration as intermediate proxy (connection hopping)" }, "proxy": { "type": "object", "description": "Define a SOCKS 4 or SOCKS 5 proxy to connect through", "required": [ "host", "port", "type" ], "properties": { "host": { "type": "string", "description": "The hostname of the proxy" }, "port": { "type": "number", "description": "The port of the proxy" }, "type": { "description": "The type of the proxy (socks4/socks5)", "enum": [ "socks4", "socks5" ] } } } }, "basic": { "type": "object", "properties": { "label": { "$ref": "#/properties/sshfs.configs/definitions/fields/label" }, "root": { "$ref": "#/properties/sshfs.configs/definitions/fields/root" }, "hop": { "$ref": "#/properties/sshfs.configs/definitions/fields/hop" }, "proxy": { "$ref": "#/properties/sshfs.configs/definitions/fields/proxy" } } }, "authentication": { "anyOf": [ { "$ref": "#/properties/sshfs.configs/definitions/authentication-types/password" }, { "$ref": "#/properties/sshfs.configs/definitions/authentication-types/agent" }, { "$ref": "#/properties/sshfs.configs/definitions/authentication-types/key" } ] }, "authentication-types": { "password": { "type": "object", "required": [ "username", "password" ], "properties": { "username": { "$ref": "#/properties/sshfs.configs/definitions/fields/username" }, "password": { "$ref": "#/properties/sshfs.configs/definitions/fields/password" } } }, "key": { "type": "object", "required": [ "username", "privateKey" ], "properties": { "username": { "$ref": "#/properties/sshfs.configs/definitions/fields/username" }, "privateKey": { "$ref": "#/properties/sshfs.configs/definitions/fields/privateKey" }, "privateKeyPath": { "$ref": "#/properties/sshfs.configs/definitions/fields/privateKeyPath" }, "passphrase": { "$ref": "#/properties/sshfs.configs/definitions/fields/passphrase" } }, "dependencies": { "privateKey": { "not": { "required": [ "privateKeyPath" ] } } } }, "agent": { "type": "object", "required": [ "username", "agent" ], "properties": { "username": { "$ref": "#/properties/sshfs.configs/definitions/fields/username" }, "agent": { "$ref": "#/properties/sshfs.configs/definitions/fields/agent" } } } }, "server-identification": { "hostname": { "required": [ "host" ], "properties": { "host": { "$ref": "#/properties/sshfs.configs/definitions/fields/host" }, "port": { "$ref": "#/properties/sshfs.configs/definitions/fields/port" } } }, "putty": { "required": [ "putty" ], "properties": { "putty": { "$ref": "#/properties/sshfs.configs/definitions/fields/putty" } } } } }, "$schema": "http://json-schema.org/draft-06/schema#", "title": "A list of SSH FS configurations", "type": "array", "items": { "allOf": [ { "$ref": "#/properties/sshfs.configs/definitions/basic" }, { "oneOf": [ { "allOf": [ { "$ref": "#/properties/sshfs.configs/definitions/server-identification/hostname" }, { "$ref": "#/properties/sshfs.configs/definitions/authentication" } ] }, { "anyOf": [ { "allOf": [ { "$ref": "#/properties/sshfs.configs/definitions/authentication" }, { "$ref": "#/properties/sshfs.configs/definitions/server-identification/putty" } ] }, { "$ref": "#/properties/sshfs.configs/definitions/server-identification/putty" } ] } ] }, { "required": [ "name" ], "properties": { "name": { "$ref": "#/properties/sshfs.configs/definitions/fields/name" } } } ] }, "default": [ { "root": "/tmp", "host": "localhost", "port": 22, "username": "root", "password": "CorrectHorseBatteryStaple" } ] } } }, "jsonValidation": [ { "fileMatch": "*.sshfs.jsonc", "url": "https://raw.githubusercontent.com/SchoofsKelvin/vscode-sshfs/27dec3277d9a50869c3d2a11db21da6e07a3223a/configschema.json" } ] }, "scripts": { "vscode:prepublish": "npm run compile && cd webview && npm run build", "build": "webpack --mode production", "compile": "webpack --mode none --info-verbosity verbose --display-modules", "profile": "webpack --mode production --profile --json > stats.json", "watch": "webpack --mode none --watch --info-verbosity verbose --display-modules", "postinstall": "node ./node_modules/vscode/bin/install" }, "devDependencies": { "@types/node": "^8.10.43", "@types/request": "^2.48.1", "@types/ssh2": "^0.5.35", "@types/webpack": "^4.4.25", "@types/winreg": "^1.2.30", "clean-webpack-plugin": "^2.0.0", "ts-loader": "^5.3.3", "typescript": "^3.3.3", "vscode": "^1.1.21", "webpack": "^4.29.6", "webpack-cli": "^3.2.3" }, "dependencies": { "event-stream": "^3.3.4", "jsonc-parser": "^2.0.0", "socks": "^2.2.0", "ssh2": "^0.8.2", "winreg": "^1.2.4" } }