You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
440 lines
19 KiB
440 lines
19 KiB
{
|
|
"name": "vscode-sshfs",
|
|
"displayName": "SSH FS",
|
|
"description": "File system provider using SSH",
|
|
"publisher": "Kelvin",
|
|
"version": "1.12.0",
|
|
"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.delete"
|
|
],
|
|
"main": "./out/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.delete",
|
|
"title": "Delete configuration",
|
|
"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.delete",
|
|
"group": "SSH FS@6"
|
|
}
|
|
],
|
|
"view/item/context": [
|
|
{
|
|
"command": "sshfs.new",
|
|
"when": "view == 'sshfs-configs' && !viewItem"
|
|
},
|
|
{
|
|
"command": "sshfs.connect",
|
|
"when": "view == 'sshfs-configs' && viewItem == inactive",
|
|
"group": "SSH FS@1"
|
|
},
|
|
{
|
|
"command": "sshfs.reconnect",
|
|
"when": "view == 'sshfs-configs' && viewItem == active",
|
|
"group": "SSH FS@1"
|
|
},
|
|
{
|
|
"command": "sshfs.disconnect",
|
|
"when": "view == 'sshfs-configs' && viewItem == active",
|
|
"group": "SSH FS@2"
|
|
},
|
|
{
|
|
"command": "sshfs.configure",
|
|
"when": "view == 'sshfs-configs' && viewItem",
|
|
"group": "SSH FS@3"
|
|
},
|
|
{
|
|
"command": "sshfs.delete",
|
|
"when": "view == 'sshfs-configs' && viewItem",
|
|
"group": "SSH FS@4"
|
|
}
|
|
]
|
|
},
|
|
"configuration": {
|
|
"title": "SSH FS Configuration",
|
|
"properties": {
|
|
"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",
|
|
"compile": "tsc -p ./",
|
|
"watch": "tsc -watch -p ./",
|
|
"postinstall": "node ./node_modules/vscode/bin/install"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^7.0.43",
|
|
"@types/ssh2": "^0.5.35",
|
|
"@types/winreg": "^1.2.30",
|
|
"typescript": "^2.5.2",
|
|
"vscode": "^1.1.21"
|
|
},
|
|
"dependencies": {
|
|
"event-stream": "^3.3.4",
|
|
"jsonc-parser": "^2.0.0",
|
|
"socks": "^2.2.0",
|
|
"ssh2": "^0.8.2",
|
|
"winreg": "^1.2.4"
|
|
}
|
|
}
|