# cPanel API 2 Functions - LeechProtect::setup Warning: The cPanel API 2 system is deprecated. We **strongly** recommend that you use [UAPI](/cpanel/introduction) instead of cPanel API 2. ## Description This function configures Leech Protection on a cPanel account. Warning: We **strongly** recommend that you use [UAPI](/cpanel/introduction/) instead of cPanel API 2. However, no equivalent UAPI function exists. ## Examples WHM API (JSON) ```undefined syntaxhighlighter-pre https://hostname.example.com:2087/cpsess##########/json-api/cpanel?cpanel_jsonapi_user=user&cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=LeechProtect&cpanel_jsonapi_func=setup&dir=%2Fhome%2Fexample%2Fpublic_html%2Fnewdir&item=url&type=html ``` Note: For more information, read our [Calls from the WHM API](/whm/use-whm-api-to-call-cpanel-api-and-uapi) documentation. LiveAPI PHP Class ```undefined syntaxhighlighter-pre $cpanel = new CPANEL(); // Connect to cPanel - only do this once. // Checks the Leech Protection status on a directory $check_leech = $cpanel->api2( 'LeechProtect', 'setup', array( 'dir' => '/home/example/public_html/newdir', 'item' => 'url', 'type' => 'html', ) ); ``` Note: For more information, read our [Guide to the LiveAPI System](/guides/guide-to-the-liveapi-system/#guide-to-the-liveapi-system). LiveAPI Perl Module ```undefined syntaxhighlighter-pre my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once. # Sets the "en" locale for the account my $check_leech = $cpliveapi->api2( 'LeechProtect', 'setup', { 'dir' => '/home/example/public_html/newdir', 'item' => 'url', 'type' => 'html', } ); ``` Note: For more information, read our [Guide to the LiveAPI System](/guides/guide-to-the-liveapi-system/#guide-to-the-liveapi-system). cPanel Tag System (deprecated) Warnings: - cPanel tags are **deprecated**. We **strongly** recommend that you **only** use the [LiveAPI](/guides/guide-to-the-liveapi-system) system to call the cPanel APIs. Examples are **only** present in order to help developers move from the old cPanel tag system to our [LiveAPI](/guides/guide-to-the-liveapi-system). - cPanel API 2 calls that use cPanel tags vary in code syntax and in their output. - For more information, read our [Deprecated cPanel Tag Usage](/cpanel-api-2/cpanel-api-2-deprecate-cpanel-tag-usage) documentation. Command Line ```undefined syntaxhighlighter-pre cpapi2 --user=username LeechProtect setup dir=%2Fhome%2Fexample%2Fpublic_html%2Fnewdir item=url type=html ``` div Notes: - You **must** URI-encode values. - `username` represents your account-level username. - For more information and additional output options, read our [Guide to UAPI](/cpanel/introduction) documentation or run the `uapi --help` command. - If you run CloudLinux™, you **must** use the full path of the `uapi` command: ```undefined syntaxhighlighter-pre /usr/local/cpanel/bin/uapi ``` br Output (JSON) ```undefined syntaxhighlighter-pre This function does not return output. ``` Note: Use cPanel's [*API Shell*](https://docs.cpanel.net/cpanel/advanced/api-shell-for-cpanel) interface (*cPanel >> Home >> Advanced >> API Shell*) to directly test cPanel API calls. ## Parameters table thead tr th strong Parameter th strong Type th strong Description th strong Possible values th strong Example tbody tr td code dir td em string td p strong Required p The directory to query. td p A valid absolute directory path. td code /home/example/public_html/newdir tr td code item td em string td p strong Required p The type of item to query. td ul li code email — The notification email. li code kill — Disable compromised accounts. li code numhits — The maximum number of logins per username per two-hour period. li code url — The URL to redirect leeches to. td code url tr td code type td em string td p strong Required p The output type. td ul li code raw — Return non-formatted output. li code html — Return HTML-formatted output. li code uri — Return URI-encoded output. li code check — Return code checked if value is present. td code uri ## Returns table thead tr th Return th Type th Description th Possible Values th Example tbody tr td code reason td em string td div p A reason for failure. p This function only returns a code reason value if it failed. td p A string that describes the error. td code This is an error message. tr td code result td em Boolean td p Whether the function succeeded. td ul li code 1 — The function succeeded. li code 0 — The function failed. td code 1