Greasemonkey: Deje que el servidor entregue un script que nunca se actualizará (automáticamente)

Creado en 8 feb. 2018  ·  18Comentarios  ·  Fuente: greasemonkey/greasemonkey

(También publicado en https://github.com/Tampermonkey/tampermonkey/issues/499)

Los scripts en Greasy Fork no tienen @updateURL o @downloadURL , por lo que cuando se buscan actualizaciones, se usa la URL originalmente instalada cuando se buscan actualizaciones. Esto es bueno.

Greasy Fork también permite a los usuarios instalar versiones anteriores de un script. La URL de instalación incluye un parámetro que indica la versión. En este caso, las actualizaciones aún "funcionan", pero nunca habrá cambios. Para ahorrar algunos recursos en el lado del cliente y del servidor, me gustaría indicarle a Greasemonkey que no busque actualizaciones. ¿Hay algo que pueda poner en el script para hacer esto?

Comentario más útil

Deje que el script especifique la frecuencia con la que debe actualizarse automáticamente. Cuando estoy en desarrollo activo puedo mantenerlo bajo, cuando me estabilizo puedo ajustarlo (pero retroceder si / cuando empiezo a actualizar de nuevo). Y un host de script puede (si de todos modos va a cambiar el script) sobrescribir el valor como mejor le parezca (en función de cosas como cuántos usuarios lo han instalado, recursos del servidor, etc.).

Suena razonable.

Me gustaría un nombre más descriptivo, pero todavía no tengo un candidato específico que me guste.

¿Quizás @updateInterval ?

Todos 18 comentarios

<strong i="5">@updateURL</strong> about:blank + <strong i="7">@downloadURL</strong> about:blank debería hacerlo (al menos era posible desactivar las actualizaciones automáticas usando esto en GM 3.x).

updateURL y downloadURL no son compatibles con 4.x.

En 3.x usamos los controles AOM estándar para esto.

En 4.x todavía no tenemos actualizaciones automáticas, por lo que tendremos que incluir esto como una función base, una vez que lo hagamos.

¿Poner <strong i="5">@downloadURL</strong> none alinearía con lo planeado para 4.x?

Oh, me acabo de dar cuenta de que estás diciendo que quieres que el servidor que entrega el script le diga a GM que no debería actualizar el script. (Vaya, no llegué al final de la descripción ...)

No hay planes para leer / usar el valor de ninguna propiedad @...URL en GM 4. No puedo prometer nada hasta que finalmente se escriba el código de actualización, pero algún tipo de encabezado HTTP se siente mejor que intentar cambiar la fuente del guión.

OTOH si TM admite un valor ninguno, siempre hay compatibilidad a considerar.

El OP dice:

La URL de instalación incluye un parámetro que indica la versión.

A partir de esto, asumo que los parámetros de consulta son efectivamente enlaces permanentes a scripts de usuario específicos. También es muy probable que cualquier función de actualización automática / comprobación de actualizaciones utilice el downloadUrl guardado internamente (que es solo la URL de la instalación inicial). Con un cambio mínimo, creo que podemos admitir esta forma de vinculación permanente agregando la coincidencia de parámetros de consulta al detectar scripts de usuario. Se logra agregando *://*/*.user.js?* al oyente user-script-detect.run.js .

Oh, me acabo de dar cuenta de que estás diciendo que quieres que el servidor que entrega el script le diga a GM que no debería actualizar el script.

Sí exactamente.

algún tipo de encabezado HTTP se siente mejor que intentar cambiar la fuente del script

Greasy Fork almacena los scripts en DB y reescribe la fuente de todos modos (por ejemplo, genera un meta.js a partir de un user.js). Cambiar la fuente no es un problema para mí. Los encabezados HTTP pueden ser un problema, ya que los scripts pueden estar pasando por un software de almacenamiento en caché.

A partir de esto, asumo que los parámetros de consulta son efectivamente enlaces permanentes a scripts de usuario específicos.

En mi lenguaje, el parámetro de versión proporciona un enlace permanente a una versión específica de un script de usuario específico.

Creo que podemos respaldar esta forma de vinculación permanente agregando la coincidencia de parámetros de consulta al detectar scripts de usuario.

Greasy Fork no usa parámetros de URL para ningún otro propósito que no sea vincular a versiones específicas, pero no puedo prometer que no lo hará en el futuro, o que otros sitios tampoco lo harán.

Tras una reflexión más profunda: se necesitaría más esfuerzo para ser compatible con motores cruzados (

// <strong i="7">@updates</strong> never
// <strong i="8">@updates</strong> 24h
// <strong i="9">@updates</strong> 7d

Deje que el script especifique la frecuencia con la que debe actualizarse automáticamente. Cuando estoy en desarrollo activo puedo mantenerlo bajo, cuando me estabilizo puedo ajustarlo (pero retroceder si / cuando empiezo a actualizar de nuevo). Y un host de script puede (si de todos modos va a cambiar el script) sobrescribir el valor como mejor le parezca (en función de cosas como cuántos usuarios lo han instalado, recursos del servidor, etc.).

Me gustaría un nombre más descriptivo, pero todavía no tengo un candidato específico que me guste.

* Aunque por el valor nunca, también se puede agregar <strong i="14">@downloadURL</strong> none soporte.

Desde el aspecto técnico, debería ser algo. como @updatefrequency (¿demasiado largo?) o @updatecycle .
Y con suerte, habrá un disparador para iniciar una verificación de todos los scripts manualmente ...

Deje que el script especifique la frecuencia con la que debe actualizarse automáticamente. Cuando estoy en desarrollo activo puedo mantenerlo bajo, cuando me estabilizo puedo ajustarlo (pero retroceder si / cuando empiezo a actualizar de nuevo). Y un host de script puede (si de todos modos va a cambiar el script) sobrescribir el valor como mejor le parezca (en función de cosas como cuántos usuarios lo han instalado, recursos del servidor, etc.).

Suena razonable.

Me gustaría un nombre más descriptivo, pero todavía no tengo un candidato específico que me guste.

¿Quizás @updateInterval ?

o simplemente @updatetime ... (no muy exacto, pero llamativo)

@updatetime me hace pensar en "a las 8:00 am" en lugar de una frecuencia.

@Sxderp ¿Entonces apoyarías <strong i="6">@updatefreq</strong> 1d ?

No soy un hablante nativo, pero el valor (es decir, 24 h) no es realmente una frecuencia. Es un intervalo o un período, ¿verdad? 🤓

<strong i="5">@updateinterval</strong> 1day suena bien. Recomendaría contra "punto", ya que tiene un significado sobrecargado en inglés común (aunque tiene un significado científico preciso)

@updateinterval es tan impreciso como @updatetime . No le interesa el intervalo, sino el intervalo de tiempo (máximo) entre actualizaciones ...

Realmente no me gusta el lapso, por lo que mi próxima sugerencia sería <strong i="5">@updatespan</strong> 1d ...

@arantius , ¿cuándo se programará la actualización automática? No puedo cambiar a 3.x en FF60.

¿Fue útil esta página
0 / 5 - 0 calificaciones