如何远程 Enable/Disable 其他用户的 tampermonkey 脚本

How to remotely Enable/Disable a tampermonkey script for other users

我创建了一个 tampermonkey 脚本,我想与朋友分享。有什么方法可以远程禁用它并使其无法使用,这样他就不能再使用它了吗?

我想在我的服务器中使用类似 .txt 的文件,其中包含特定的值。这将作为令牌。只有当令牌与服务器匹配时,我的脚本才会起作用。因此,我可以随时更改令牌,使脚本对我的朋友不起作用。

知道怎么可能:) 谢谢!

I am thinking of something like a .txt file in my server with a specific values in it

这是一个想法 - 确保您的服务器端点具有 Access-Control-Allow-Origin * 以便可以从任何地方通过 Javascript 请求它,并让您的用户脚本请求它,然后检查它是否匹配。但是如果你的朋友知道任何 Javascript,这将很容易绕过。

我认为更好的方法是将主要源代码保留在您的服务器上。这样,如果脚本停止工作,用户就不能直接打开它进行调试。考虑让您的服务器提供主脚本内容,并让用户脚本执行响应:

fetch('serverEndpoint')
  .then(res => res.text())
  .then((text) => {
    eval(text);
  });

虽然这可以实现您的目标,但对于您的用户脚本的用户来说非常不安全,因为现在您可以在他们的机器上运行 任意代码。如果我看到这样的用户脚本,我会毫不犹豫地将其标记为不可信。

另一种方法是在用户脚本中加密您的代码,这样只有从您的服务器请求密钥才能解密和 运行。这对用户来说会更安全,但如果他们看不到脚本实际在做什么,他们可能不会信任它 - 如果他们知道的足够多 Javascript,他们将能够窥视您的服务器的响应并自己解码您的源代码。