web-dev-qa-db-ja.com

GitHubでホストされているスクリプトを使用しているサイトを教えてください。

GitHubリポジトリにfoo.jsという名前のJavaScriptスクリプトがあるとします。このスクリプトを使用しているサイト(ドメイン)を知る必要があります。したがって、たとえば、ウェブサイトwww.example.comが私のスクリプトを参照している場合...

<html>
  <head>
    <script src="https://myGitHubRepo/foo.js"></script>
  </head>
  etc...
</html>

ドメインとしてexample.comを取得、追跡、または一覧表示したい。より明確にするために、www.example.comにアクセスする実際のユーザーや、IPやこのようなものを追跡するのではなく、HTMLでスクリプトを参照しているサイト(ドメイン)のリストを追跡または作成したいだけです。それは可能ですか?


PS:いくつかの架空のソリューションとその問題:

  1. 頭に浮かぶ最初のアイデアは、分析ツールを使用することです。ただし、私のコードの所有者であるにもかかわらず、私はリポジトリを含むサイトの所有者ではありません。GitHubが所有者です。したがって、分析ツールを使用することは不可能のようです。
  2. サーバーを呼び出すことができません。ここでも、サーバーがありません。これはGitHubリポジトリです。
  3. スクリプト内の単純なwindow.location.hostnameは、必要なものを取得しますが、クライアント側で取得します。その情報を私に送り返すことが可能かどうかはわかりません...実際、それが合法かどうかさえわかりません。

法的側面に取り組むことなく、 埋め込み PAT(パーソナルアクセスキー) スクリプトにこれにより、上記のスクリプトでGitHub API呼び出しを行うことができます。

通常: " ファイルを作成または更新します(PUT /repos/:owner/:repo/contents/:path "(私 ここで言及

専用のユーザー/リポジトリのファイルの内容を、スクリプトから取得したドメイン名に置き換えます。
そのファイルの各バージョンは、関連付けられたドメインが記述されたスクリプト実行の1つのインスタンスを表します。

欠点は、誰でもそのキーを使用してリポジトリにアクセスできるため、そのコンテンツと使用状況を注意深く監視する必要があります(ここでも、その1つの用途にのみ専用のユーザーアカウント/リポジトリを使用します)。
bk2204 で後述するように、これは安全性が高すぎます。

PATの代わりに、GitHub Webhookと同様のワークフローを採​​用できます。スクリプトは、専用のURLをJSONイベントで呼び出し、その呼び出しを登録します。

2
VonC