?
для просмотра списка ярлыков.Убедитесь, что у вас установлен Node.js.
Клонируйте код:
git clone https://github.com/jason5ng32/MyIP.git
Установите и соберите:
npm install && npm run build
Бегать:
npm start
Программа будет работать на порту 18966.
Нажмите кнопку «Развернуть в 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" | Контролирует первые X запросов с IP каждые 20 минут, на которые не распространяется ограничение скорости, а после X запросов задержка увеличится |
SECURITY_BLACKLIST_LOG_FILE_PATH | Нет | "logs/blacklist-ip.log" | Настройка пути. Записывает список IP-адресов, на которых сработало ограничение после включения SECURITY_RATE_LIMIT. |
BING_MAP_API_KEY | Нет | "" | Ключ API для карт Bing, используемый для отображения местоположения IP на карте. |
ALLOWED_DOMAINS | Нет | "" | Разрешенные домены для доступа, разделенные запятыми, используются для предотвращения неправильного использования серверного API. |
IPCHECKING_API_KEY | Нет | "" | Ключ API для IPCheck.ing, используемый для получения точной информации о геолокации IP. |
IPINFO_API_TOKEN | Нет | "" | Токен API для IPInfo.io, используемый для получения информации о геолокации IP через IPInfo.io. |
IPAPIIS_API_KEY | Нет | "" | Ключ API для IPAPI.is, используемый для получения информации о геолокации IP через IPAPI.is. |
KEYCDN_USER_AGENT | Нет | "" | Доменное имя при использовании KeyCDN должно содержать префикс https. Используется для получения информации об IP-адресе через KeyCDN. |
CLOUDFLARE_API | Нет | "" | Ключ API для Cloudflare, используемый для получения информации о системе AS через Cloudflare. |
MAC_LOOKUP_API_KEY | Нет | "" | Ключ API для поиска MAC, используемый для получения информации о MAC-адресе. |
VITE_GOOGLE_ANALYTICS_ID | Да | "" | Идентификатор Google Analytics, используемый для отслеживания поведения пользователей. |
VITE_CURL_IPV4_DOMAIN | Нет | "" | Предоставляет пользователям домен IPv4 для API CURL. |
VITE_CURL_IPV6_DOMAIN | Нет | "" | Предоставляет пользователям домен IPv6 для API CURL. |
VITE_CURL_IPV64_DOMAIN | Нет | "" | Предоставляет пользователям домен с двойным стеком для API CURL. |
Обратите внимание: если какая-либо переменная среды серии CURL отсутствует, API CURL не будет включен.
Создайте переменные среды:
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 взаимодействий и некоторых незначительных ручных корректировок вся база кода была завершена.
Конечно, архитектура и пользовательский интерфейс по-прежнему требовали моего собственного дизайна.
С выпуском версии 3.0 и последующих версий доля кода, написанного с помощью ChatGPT, постепенно снизилась и сейчас оценивается в пределах 40–50%. Напротив, в этом процессе я прошел путь от отсутствия знаний JavaScript и Vue до понимания большей части кода JS, и теперь я могу писать некоторые самостоятельно.
Благодаря ИИ он дал мне, безработному менеджеру по продукту, быструю возможность научиться программированию.