Rcode Obfuscation - Upload R scripts here - All types (.r/.R,.rmd/.RMD)
README
What is OnDemand obfuscation?
- It is a badly needed option that we should have provided much earlier than we did, apparently.
- It is essentially a pay-as-you-go plan that allows you to avoid paying the month based prices
- Instead of $49.95 per month, you get to choose from these 3 cheaper plans:
- 1-Day Access / 1.Script.Submission / 15.resubmissions / Expires in 24.hours
- 2-Day Access / 5.Script.Submission / 50.resubmissions / Expires in 48.hours
- 3-Day Access / 10.Script.Submission / 100.resubmissions / Expires in 72.hours
- For more information, or to make a purchase, you may visit this link OnDemand Options.
- Please note however, as of right now (April 3rd, 2024), OnDemand plans are currently only available for 4 languages...
- Rcode/RMD
- Shell/Bash
- PowerShell
- Python
- We'll add more languages based on...well, demand :)
For a seamless obfuscation of your R scripts, please abide by the following rules:
- Ensure all uploaded R scripts are properly named:
- All R scripts submitted must have a .r/.R or .rmd/.RMD extension:
- my_script.R
- Avoid spaces in the names of your scripts:
- my script.rmd
- Once a R script is dropped into the Upload area, it will be automatically obfuscated.
- After obfuscation completes, you will be redirected to the download page.
- The download page will have a separate "Zip Link" for the obfuscated version of each uploaded R script.
- OR, you can just click on the "PACKAGED" link to get all freshly obfuscated R scripts in one zip file.
For subscribers:
In the space provided for User List, specify the comma seperated list of usernames you wish to grant access to your encrypted scripts. Note, the username(s) provided during encryption will be only usernames able to run the encrypted script(s). The script will not function for any other user!
For subscribers:
In the space provided for Host List, specify the comma seperated list of hostnames(fqdns) you wish to grant access to your encrypted scripts. Note, the hostname(s) provided during encryption will be only hosts on which the encrypted script(s) can be run. The script(s) will not function on any other host!
For subscribers:
In the space provided, specify when you wish for your script to expire.
- 7d = 7 Days
- 2w = 2 Weeks
- 4mo = 4 Months
- 7000d = 19+ Years
- July-18-2022_15:00 = Specific date
Examples:
If no option is selected, the default option will be "off". Which means your script will not expire!
In the space provided for Function names, specify the comma seperated list of functions you wish to protect, if using RStudio/Rconsole.
Choose 'no' (recommended) to disable the ability to debug your encrypted script
This setting forces your protected R script to validate itself with our servers before allowing users to run it.
- NOTE: If an attempt is made to run a satelite enabled obfuscated R script on a host without internet connectivity, the script will abort.
To ensure your obfuscated scripts can only be imported from other obfuscated scripts, configure the following settings:
- Unique Company Name = Set this to your companyname....(.i.e. apple.com, google.com, cnn.com)
- Import Access Key = Set a password here to be assigned to all scripts being encrypted
- Note, this is only needed if Admin Imports and Allowed Importers have values. Do not enter anything here if you're not encrypting imported modules
- Admin Imports = Specify the names of the main/master scripts which will be importing other scripts
- Allowed Importers = Specify here the names of other scripts which the main/master scripts will be importing
Currently available only for Subscribers:
Rcode Obfuscator - Obfuscate R Scripts (.r/.R/.rmd/.RMD)
- Prevent modifications to commercial R scripts - Ensure no one, regardless of privilege, is allowed to make changes to an obfuscated code
- Retain the ability to sell or share R scripts without the crippling fear of your intellectual property falling into the wrong hands
- Gathering usage metrics on sensitive R code once it is shared with the external/outside world
- Regulate how long commercial R scripts can be used - Define and enforce date locks or expiration dates
- Moderate the list of users who are authorized to run protected R scripts
- Regulate where (on which systems) specific obfuscated R scripts can be utilized
- Safeguard highly confidential credentials stored within R scripts
- example1.R can be re-submitted multiple times
- example2.R can be re-submitted multiple times
- example3.R can be re-submitted multiple times
- example4.R can be re-submitted multiple times
- example5.R can be re-submitted multiple times
- ....
- example19.R can be re-submitted multiple times
- example20.R can be re-submitted multiple times
- Contact us immediately and provide as much information as possible
- We will prioritize issues like this with the utmost urgency
- If we're unable to fix the problem to your satisfaction
- We will gladly issue you a refund!
- Try uploading some of your R scripts first, using the free obfuscation portal available on this page.
- Note, all R scripts uploaded through this free portal will expire within 24 to 48 hours.
- However, the obfuscated R scripts that were produced by it will be fully functional for the duration of their valid period.
- If any of the R scripts you obfuscated does not work exactly as the original, let us know as soon as possible.
- We are very, very proud to be the one and only robust and versatile obfuscation for R code that just works.
- There's nothing complicated for you to figure out or configure. You just upload your R script and within seconds, you'll get back an obfuscated copy!
- Every single obfuscated R script protected by us will work, as the original. No special loaders or addons necessary to run them.
- This option has a feature that allows you to obfuscate multiple scripts at the same time...depending on how powerful your server is.
- For instance, if you have a directory with hundreds of R scripts, there is a '-mc-r-lv' option available to use to simulteneously obfuscate multiple scripts at once. This will utilize all available cores on your system.
Protect R Code - Secure variable content, Hide Source Code
- Duplication Prevention
- This feature ensures the name you gave to your obfuscated script at the time of obfuscation is the same name it will be forever known by. If changed, script will abort.
- Expiration Date Control
- This feature ensures all submitted R scripts expire within 24 to 48 hours. The allowed time is verified remotely, with our servers. This means we will be notified of all unauthorized attempts to prolong the usage of the obfuscated R code.
- Self-Defend/Self-Destruction
- This feature handles the process of terminating the execution of a protected script whenever it is under attack. We understand once an obfuscated R script is sent out into the wild, anyone can try all sorts of hacks on it. As such, we built in some defensive capabilities in all obfuscated R scripts to combat this very real possibility. If during execution of a protected R script, we sense that it has been maliciously altered, we will cause the script to abort, and self destruct!
- The plain text version of the R script (which you submitted) is buggy and does not work.
- If this is the case, you'll need to fix that first before re-submitting to the R obfuscator.
- The obfuscated R script was altered in one way or other..i.e. adding/removing text from it, script name was changed, script was put through a debugger
- If this is the case, you'll need to get the fresh copy of the obfuscated script from the zip file that it came in OR just undo the unauthorized changes.
- You're running the obfuscated R script on a host on which you configured it not to run on.
- If this is the case, you'll get an error alerting you about the issue.
- You're attempting to import an obfuscated R script from within a non-obfuscated plain text script
- If you obfuscated your R script with the 'secureimport' setting enabled, then tried to 'include' or 'require' it from an unprotected script, you will be confronted with an error message.
- You're attempting to execute a satelite enabled obfuscated R script on a host without internet connectivity
- Whenever a R script is obfuscated with the satelite feature enabled, that means the author wants to retain tight control over the usage of the script
- And if this is the case here, the obfuscated script will fail to function, and might even self-destruct if it cannot remotely validate itself.
- We take the security of all R scripts protected by us, very seriously.
- And as such, we consider the disclosure of sensitive security details as an unnecessary risky move.
- Nevertheless, it is worth noting that, some of these private settings were developed specifically for clients with unique customization requests.
- Therefore, if you wish to have a particular setting customized to your liking or developed (if it doesnt already exist in our arsenal of features), let us know.
- For obvious security reasons, we have restricted the ability to import an obfuscated R code from within a non-obfuscated plain text R script.
- If you wish to import R scripts from within other R scripts, you'll need to ensure all associated R scripts are obfuscated.
- If an attempt is made to import an obfuscated R script from within a plain text R script, the obfuscated R code will fail to execute.