?
を押してください。ショートカットリストを表示します。Node.js がインストールされていることを確認してください。
コードのクローンを作成します。
git clone https://github.com/jason5ng32/MyIP.git
インストールしてビルドします。
npm install && npm run build
走る:
npm start
プログラムはポート 18966 で実行されます。
上部にある「Deploy to Docker」ボタンをクリックしてデプロイを完了します。または、次のシェルを使用します。
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
環境変数を追加せずにプログラムを使用することもできますが、高度な機能を使用したい場合は、次の環境変数を追加できます。
変数名 | 必須 | デフォルト値 | 説明 |
---|---|---|---|
BACKEND_PORT | いいえ | "11966" | プログラムのバックエンド部分の実行ポート |
FRONTEND_PORT | いいえ | "18966" | プログラムのフロントエンド部分の実行ポート |
SECURITY_RATE_LIMIT | いいえ | "0" | IP がバックエンド サーバーに対して 60 分ごとに実行できるリクエストの数を制御します (制限がない場合は 0 に設定します)。 |
SECURITY_DELAY_AFTER | いいえ | "0" | 速度制限の影響を受けない、IP からの最初の X リクエストを 20 分ごとに制御します。X リクエストの後、遅延が増加します。 |
SECURITY_BLACKLIST_LOG_FILE_PATH | いいえ | "logs/blacklist-ip.log" | パスの設定。 SECURITY_RATE_LIMIT が有効になった後に制限をトリガーした IP のリストを記録します。 |
BING_MAP_API_KEY | いいえ | "" | Bing Maps の API キー。地図上に IP の位置を表示するために使用されます。 |
ALLOWED_DOMAINS | いいえ | "" | バックエンド API の誤用を防ぐために使用される、カンマで区切られたアクセスを許可されるドメイン |
IPCHECKING_API_KEY | いいえ | "" | IPCheck.ing の API キー。正確な IP 地理位置情報を取得するために使用されます。 |
IPINFO_API_TOKEN | いいえ | "" | IPInfo.io の API トークン。IPInfo.io を通じて IP 地理位置情報を取得するために使用されます。 |
IPAPIIS_API_KEY | いいえ | "" | IPAPI.is の API キー。IPAPI.is を通じて IP 地理位置情報を取得するために使用されます。 |
KEYCDN_USER_AGENT | いいえ | "" | KeyCDN を使用する場合、ドメイン名には https プレフィックスが含まれている必要があります。 KeyCDN を通じて IP アドレス情報を取得するために使用されます |
CLOUDFLARE_API | いいえ | "" | Cloudflare の API キー。Cloudflare を通じて AS システム情報を取得するために使用されます。 |
MAC_LOOKUP_API_KEY | いいえ | "" | MAC ルックアップ用の API キー。MAC アドレス情報を取得するために使用されます。 |
VITE_GOOGLE_ANALYTICS_ID | はい | "" | ユーザーの行動を追跡するために使用される Google Analytics ID |
VITE_CURL_IPV4_DOMAIN | いいえ | "" | CURL API の IPv4 ドメインをユーザーに提供します |
VITE_CURL_IPV6_DOMAIN | いいえ | "" | CURL API の IPv6 ドメインをユーザーに提供します |
VITE_CURL_IPV64_DOMAIN | いいえ | "" | CURL API のデュアルスタック ドメインをユーザーに提供します |
CURL シリーズの環境変数のいずれかが欠落している場合、CURL API は有効になりませんので注意してください。
環境変数を作成します。
cp .env.example .env
.env
を変更し、たとえば次の内容を追加します。
BACKEND_PORT=11966
FRONTEND_PORT=18966
BING_MAP_API_KEY= " YOUR_KEY_HERE "
ALLOWED_DOMAINS= " example.com "
IPCHECKING_API= " YOUR_KEY_HERE "
次に、バックエンド サービスを再起動します。
Docker の実行時に環境変数を追加できます。次に例を示します。
docker run -d -p 18966:18966
-e BING_MAP_API_KEY= " YOUR_KEY_HERE "
-e ALLOWED_DOMAINS= " example.com "
-e IPCHECKING_API= " YOUR_TOKEN_HERE "
--name myip
jason5ng32/myip:latest
インターネット アクセスにプロキシを使用している場合は、このルールをプロキシ構成に追加することを検討してください (クライアントに応じて変更してください)。この設定により、実際の IP とプロキシ使用時の IP の両方を確認できます。
# IP Testing
IP-CIDR,1.0.0.1/32,Proxy,no-resolve
IP-CIDR6,2606:4700:4700::1111/128,Proxy,no-resolve
DOMAIN,4.ipcheck.ing,DIRECT
DOMAIN,6.ipcheck.ing,DIRECT
# Rule Testing
DOMAIN,ptest-1.ipcheck.ing,Proxy1
DOMAIN,ptest-2.ipcheck.ing,Proxy2
DOMAIN,ptest-3.ipcheck.ing,Proxy3
DOMAIN,ptest-4.ipcheck.ing,Proxy4
DOMAIN,ptest-5.ipcheck.ing,Proxy5
DOMAIN,ptest-6.ipcheck.ing,Proxy6
DOMAIN,ptest-7.ipcheck.ing,Proxy7
DOMAIN,ptest-8.ipcheck.ing,Proxy8
バージョン 2.0 がリリースされたとき、このプログラムのコードの 70% は私ではなく ChatGPT によって書かれたと言いました。約 90 回の対話といくつかの手動調整を経て、コードベース全体が完成しました。
もちろん、アーキテクチャと UI は依然として私自身のデザインが必要でした。
バージョン 3.0 以降のリリースにより、ChatGPT を使用して作成されたコードの割合は徐々に減少し、現在は 40% から 50% の間であると推定されています。逆に、この過程で JavaScript や Vue の知識がまったくなかった私は、ほとんどの JS コードを理解できるようになり、一部は自分で書けるようになりました。
AI のおかげで、失業中のプロダクト マネージャーである私に、プログラミングを学ぶ機会が急速に与えられました。