Nulled WP-Rocket y cómo parchearlo

Hay una cosa que muchos no saben y que que el gestor de contenidos o CMS WordPress es código abierto con licencia GPL (GNU Lesser General Public License), lo cual exige que todos sus componentes también lo sean. Entre otras cosas significa que cualquiera es libre de hacer lo que quiera con él, incluso venderlo o modificarlo siempre y cuando el producto resultante también sea GPL.

Hace unos años, en un afán de simplificar mi instalación quité el caché de WordPress. Sin embargo las cosas han ido cambiando y bien es cierto que después de estar con W3 Total Cache no probé los actuales líderes en cuanto a cacheo, todos ellos plugins de pago: WP-Rocket y WP Fastest Cache Premium. WP-Rocket se lanzó en 2013 y tiene un equipo de trabajo detrás, es decir no es la obra de un hombre solo como muchos otros.

Hice unas pruebas y me di cuenta que con WP-Rocket y con WP Fastest Cache todo mejoraba mucho. Sin embargo eran plugins de pago, el primero desde 49$/año y el segundo desde 49$ de por vida. ¿Pero cómo pueden ser de pago siendo GPL? Bueno, porque GPL no impide cobrar por el software siempre y cuando se proporcione el código fuente del mismo y la libertad de estudiarlo y modificarlo entre otras.

Nulled WP-Rocket y cómo parchearlo

Según indican desde WP-Media el plugin WP-Rocket está instalado en cerca de 1,5 millones de webs, así que a 49$ por año podéis hacer números vosotros mismos…

En efecto han surgido multitud de servicios que ofrecen plugins comerciales de WordPress a precio más ventajoso. El sistema que utilizan es sencillo, compran uno y cómo es GPL lo modifican y lo venden más barato, algo que es perfectamente legal.

En el caso de WP-Rocket no es necesario llegar a tanto, porque sus autores WP-Media tienen el código disponible en Github. No tenemos más que descargarlo o clonarlo y nos haremos con él, por lo que se puede ofrecer gratuitamente sin problemas.

Queda inicializarlo mediante composer, la parte más tediosa si no lo tenemos instalado y que con muchas dependencias de software nos instalará las dependencias que necesita:

composer require wp-media/wp-rocket

Nulled WP-Rocket y cómo parchearlo

El primer paso para tenerlo nulled, nuleado o registrado es introducir nuestros datos de usuario. Es lo mismo que deben hacer aquellos que lo han comprado desde wp-rocket.me, sólo que nosotros nos los inventaremos.

license-data.php

// Your license KEY.
if ( ! defined( 'WP_ROCKET_KEY' ) ) {
	define( 'WP_ROCKET_KEY', '1234567');
}

// Your email, the one you used for the purchase.
if ( ! defined( 'WP_ROCKET_EMAIL' ) ) {
	define( 'WP_ROCKET_EMAIL', 'gmail@gmail.com' );

También debemos introducir nuestra clave privada, que de nuevo es inventada:
wp-rocket.php

define( 'WP_ROCKET_PRIVATE_KEY'         , '365tredstq3gy5egftae45t4y5twegd');

Ahora queda retornar que el software está licenciado y que su licencia es válida hasta el timestamp que queramos, en este caso 2030:

inc/Engine/License/API/UserCLient.php

public function get_user_data() {
	return (object) [
		'licence_account'    => '-1',
		'licence_expiration' => 1893456000,
	];
}

Y finalmente saltarnos las validaciones de claves que están en un par de sitios del mismo archivo:

functions/options.php

function rocket_valid_key() {
	return true;
}

function rocket_check_key() {
	Logger::info( 'LICENSE VALIDATION PROCESS STARTED.', [ 'license validation process' ] );

	$rocket_options                   = [];
	$rocket_options['consumer_key']   = 'activated';
	$rocket_options['consumer_email'] = 'gmail@gmail.com';
	$rocket_options['secret_key']     = 'activated';

	if ( ! get_rocket_option( 'license' ) ) {
		$rocket_options['license'] = '1';
	}

	Logger::info( 'License validation successful.', [ 'license validation process' ] );

	set_transient( rocket_get_constant( 'WP_ROCKET_SLUG' ), $rocket_options );
	delete_transient( 'rocket_check_key_errors' );
	rocket_delete_licence_data_file();

	return $rocket_options;
}

Para ahorrarte el trabajo puedes descargar tu mismo el archivo nulled_wp-rocket_3.8.8.zip (2,5 MB en formato ZIP), que además he aprovechado para optimizar con FileOptimizer, así que podríamos decir que es aún más rápido que el genuino.

Nulled WP-Rocket y cómo parchearlo

14 comentarios en “Nulled WP-Rocket y cómo parchearlo”

  1. Uf, va como un tiro, lo he puesto en mi blog y la mejora es increíble.
    Más de una vez he hecho lo mismo que tu para quitar alguna limitación de las versiones gratuitas, así que entiendo perfectamente el tiempo que requiere hacer lo que has hecho.
    Muchas gracias por compartir tu esfuerzo.

  2. Javier Gutiérrez Chamorro (Guti)

    He pasado por todas las fases Fernando. Supongo que como todos, desde no usar caché en favor de Cloudflare a ir probando unos cuantos. Llevaba tiempo sin mirar y llegué al que se vende como el líder: WP Fastest Cache. Sin embargo el WPFastestCache no se compara con WP-Rocket, y fue probarlo y quedarme alucinado. Llevo varios meses con él y estupendo. Lo malo que tiene es la distribución, tanto si te lo parcheas tu como si es comprado no se actualiza vía el updater de WordPress, así que de tanto en tanto hay que ir mirando las versiones y si los cambios te interesan reparchear.

    En tu web veo que tienes habilitada la precarga también. Pasas sobre un link y él carga la página en segundo plano así que cuando realmente haces clic es inmediato. Me encanta el desarrollo que han hecho, la verdad.

  3. Menuda pasta se llevan en cada venta… Es una de esas modificaciones muy útiles, gracias por compartirla.

  4. Javier Gutiérrez Chamorro (Guti)

    Nuñez de Balboa, y hablamos de un pago recurrente, porque es una licencia anual. Es cierto que son una empresa y que tienen a varios trabajadores en plantilla, pero si los casi dos millones de webs que tienen son ciertos, eso hace 98 millones de dólares por año.

  5. Javier Gutiérrez Chamorro (Guti)

    Muchas gracias sebax2165. Ahora ya has visto que sabiendo lo que hay que tocar, no es complicado. Aunque ciertamente es un software de tamaño bastante grande, y analizarlo requiere de mucho tiempo.

  6. Gracias por tu ayuda, en especial en el zip que cargaste, en las versiones nuevas como la 3.12.1.1 ya no funciona este metodo.

  7. Javier Gutiérrez Chamorro (Guti)

    Espero ponerme pronto Edwin. Lo cierto es que con esta página, el canal de Youtube, el software libre y mis libros, apenas tengo ya tiempo disponible para otras actividades.

  8. Hola Guti,
    Recientemente he leido una publicacion tuya de hace bastante tiempo, es como parchear WP Rocket para WordPress.
    El caso es que funciona correctamente pero en la nueva version (3.15.10) han debido cambiar el codigo y no funciona.
    Me gustaría que creases un post para parchear esta version ya que han mejorado muchas cosas y es un plugin activo en +2.5millones de webs.
    Gracias

  9. Javier Gutiérrez Chamorro (Guti)

    Bienvenido Alex. Un gusto que el artículo te resultara de utilidad. Efectivamente su cometido era mostrar el código y dar a conocer lo fácil que es eliminar este tipo de protecciones, en especial en lenguajes de script como PHP, y aprender a hacerlo. Su propósito no era distribuir versiones registradas de WPRocket ni de cualquier otro plugin de WordPress, para ello ya hay webs especializadas tanto gratis como de pago por suscripción que lo ofrecen.

    En mi caso hace tiempo que me pasé a FlyingPress, una alternativa más ligera y potente y que a mi modo de ver ofrece mayor desempeño en rendimiento y funciones. Pese a que me estoy centrando en Youtube y no en la web, decidí pagarlo y así tenerlo disponible sin complicarme. Veremos si lo renuevo o no.

    No sé si lo habrás notado, pero he pasado de un caro alojamiento dedicado en VPS a uno compartido, y gracias a Flying-Press el rendimiento es equivalente al que tenía WP-Rocket.

Responder a Javier Gutiérrez Chamorro (Guti)Cancelar respuesta