?
لعرض القائمة المختصرة.تأكد من تثبيت 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 | لا | "" | النطاقات المسموح بها للوصول، مفصولة بفواصل، تُستخدم لمنع إساءة استخدام واجهة برمجة التطبيقات الخلفية |
IPCHECKING_API_KEY | لا | "" | مفتاح API لـ IPCheck.ing، يُستخدم للحصول على معلومات دقيقة عن الموقع الجغرافي لـ IP |
IPINFO_API_TOKEN | لا | "" | رمز واجهة برمجة التطبيقات لـ 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 لـ CURL API للمستخدمين |
VITE_CURL_IPV6_DOMAIN | لا | "" | يوفر مجال IPv6 لـ CURL API للمستخدمين |
VITE_CURL_IPV64_DOMAIN | لا | "" | يوفر المجال المزدوج لـ CURL API للمستخدمين |
لاحظ أنه في حالة فقدان أي من متغيرات بيئة سلسلة CURL، فلن يتم تمكين واجهة برمجة تطبيقات 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%. على العكس من ذلك، في هذه العملية، انتقلت من عدم المعرفة بجافا سكريبت وVue إلى القدرة على فهم معظم أكواد JS البرمجية، ويمكنني الآن كتابة بعضها بنفسي.
بفضل الذكاء الاصطناعي، فقد منحني، كمدير منتج عاطل عن العمل، فرصة سريعة لتعلم البرمجة.