---
sidebar_position: 7
description: Execute custom command and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Execute custom command
Executes a specific (SITE) server command and returns the response
`Function ExecuteCustomCommand(Val Connection, Val CommandText) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Connection | --conn | Arbitrary | ✔ | Existing connection or connection configuration |
| CommandText | --cmd | String | ✔ | Text of the executed command |
Returns: Map Of KeyAndValue - Processing result
:::tip
The result can be returned as text or Base64 binary data in the structure `{"BYTES": <B64 string>}`
FTP Command: `SITE`
:::
```bsl title="1C:Enterprise/OneScript code example"
Host = "172.33.0.10";
Port = "21";
Login = "bayselonarrend";
Password = "12we...";
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = "127.0.0.1";
ProxyPort = "8071";
ProxyLogin = "proxyuser";
ProxyPassword = "12we...";
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTLSSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
CommandText = "UMASK";
Result = OPI_FTP.ExecuteCustomCommand(Connection, CommandText);
Else
Result = Connection; // Error of connection
EndIf;
```
```bash
oint ftp ExecuteCustomCommand \
--conn "{'set':{'advanced_resolve':true,'domain':'172.33.0.11','login':'bayselonarrend','passive':true,'password':'***','port':'21','read_timeout':'120','write_timeout':'120'},'tls':{'accept_invalid_certs':true,'ca_cert_path':null,'use_tls':true},'proxy':{'login':'proxyuser','password':'***','port':'1080','proxy_type':'socks5','server':'127.0.0.1'}}" \
--cmd "UMASK"
```
```batch
oint ftp ExecuteCustomCommand ^
--conn "{'set':{'advanced_resolve':true,'domain':'172.33.0.11','login':'bayselonarrend','passive':true,'password':'***','port':'21','read_timeout':'120','write_timeout':'120'},'tls':{'accept_invalid_certs':true,'ca_cert_path':null,'use_tls':true},'proxy':{'login':'proxyuser','password':'***','port':'1080','proxy_type':'socks5','server':'127.0.0.1'}}" ^
--cmd "UMASK"
```
```json title="Result"
{
"data": "200 Your current UMASK is 022\r\n",
"result": true,
"status": 200,
"close_connection": {
"result": true
}
}
```