আমি কীভাবে প্রক্সি সার্ভার ব্যবহার করতে গিট পাব?
আমার একটি গিট সার্ভার থেকে কোড চেক আউট করা দরকার তবে এটি প্রতিবার "অনুরোধের সময়সীমা শেষ" দেখায়। আমি কিভাবে এই কাছাকাছি পেতে পারি?
বিকল্পভাবে, আমি কীভাবে একটি প্রক্সি সার্ভার সেট করতে পারি?
আমি কীভাবে প্রক্সি সার্ভার ব্যবহার করতে গিট পাব?
আমার একটি গিট সার্ভার থেকে কোড চেক আউট করা দরকার তবে এটি প্রতিবার "অনুরোধের সময়সীমা শেষ" দেখায়। আমি কিভাবে এই কাছাকাছি পেতে পারি?
বিকল্পভাবে, আমি কীভাবে একটি প্রক্সি সার্ভার সেট করতে পারি?
উত্তর:
ব্যবহারের আদেশ:
git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
proxyuser
আপনার প্রক্সি ব্যবহারকারীর কাছে পরিবর্তন করুনproxypwd
আপনার প্রক্সি পাসওয়ার্ড পরিবর্তন করুনproxy.server.com
আপনার প্রক্সি সার্ভারের URL এ পরিবর্তন করুন8080
আপনার প্রক্সি সার্ভার কনফিগার প্রক্সি পোর্টমনে রাখবেন যে এটি উভয়ই http এবং https রেপোর জন্য কাজ করে।
আপনি যদি এই প্রক্সিটি পুনরায় সেট করতে এবং প্রক্সি ছাড়াই কাজ করার সিদ্ধান্ত নেন:
ব্যবহারের আদেশ:
git config --global --unset http.proxy
অবশেষে, বর্তমানে সেট করা প্রক্সি পরীক্ষা করতে:
git config --global --get http.proxy
%40
প্রতিস্থাপন হিসাবে ব্যবহার করতে পারেন @
, যদিও আমি নিজে এটি পরীক্ষা করে নিই। আশা করি এটা সাহায্য করবে. :-)
এটি কর্পোরেট ফায়ারওয়ালের পিছনে উইন্ডোজ এক্সপিতে আমার পক্ষে কাজ করেছিল।
আমাকে http://code.google.com/p/msysgit/downloads/list?can=3 থেকে গিট ভি 1.771 ছাড়াও কোনও স্থানীয় প্রক্সি বা অন্য কোনও সফ্টওয়্যার ইনস্টল করতে হয়নি did
$ git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
$ git config --system http.sslcainfo /bin/curl-ca-bundle.crt
$ git remote add origin https://mygithubuser:mygithubpwd@github.com/repoUser/repoName.git
$ git push origin master
প্রক্সিউসার = প্রক্সি ব্যবহারকারী আমাকে আমাদের আইটি ডিপ্ট দ্বারা নির্ধারিত হয়েছিল, আমার ক্ষেত্রে এটি একই উইন্ডোজ ব্যবহারকারী যা আমি আমার পিসিতে লগ ইন করতে ব্যবহার করি, সক্রিয় ডিরেক্টরি ব্যবহারকারী
proxypwd = আমার প্রক্সি ব্যবহারকারীর পাসওয়ার্ড
proxy.server.com:8080 = প্রক্সি নাম এবং পোর্ট, আমি এটি কন্ট্রোল প্যানেল, ইন্টারনেট বিকল্পগুলি, সংযোগগুলি, ল্যান সেটিংস বোতাম, প্রক্সি সার্ভার বিভাগের মধ্যে উন্নত বোতাম থেকে পেয়েছি, প্রথম (HTTP) সারিতে সার্ভারনেম এবং পোর্ট ব্যবহার করব ।
mygithubuser = আমি github.com এ লগ ইন করতে ব্যবহার করি
mygithubpwd = আমার github.com ব্যবহারকারীর জন্য পাসওয়ার্ড
repoUser = রেপোর ব্যবহারকারীর মালিক
repoName = রেপোর নাম
git config --global http.sslcainfo MY_NEW_CERTS_BUNDLE.crt
প্লাস সার্টিফিকেট ডাউনলোড করা যেমন বর্ণিত simplicidade.org/notes/archives/2011/06/... (ধন্যবাদ: stackoverflow.com/a/7206627/98528 ) আমার জন্য তা!
git://
প্রোটোকল ব্যবহার করে কোনও সংগ্রহস্থল ক্লোন করতে বলি তখন গিটটি এখনও কাজ করে না ।
http_proxy
এর মান সহ একটি সিস্টেম ভেরিয়েবল সেট করুন ProxyServer:Port
। এটাই সহজ সমাধান। https_proxy
স্বতঃস্ফূর্তভাবে, মন্তব্যগুলিতে দাইফু নির্দেশিত হিসাবে ব্যবহার করুন ।
গিটপ্রক্সি সেট করা (স্লেস্কে উল্লেখ হিসাবে) অন্য একটি বিকল্প, তবে এর জন্য একটি "কমান্ড" দরকার যা উপরের সমাধানের মতো সোজা নয়।
তথ্যসূত্র: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
http_proxy
এইচটিটিপি ইউআরএলগুলির https_proxy
জন্য প্রয়োজনীয় এবং এইচটিটিপিএস ইউআরএলগুলির জন্য প্রয়োজনীয়। বিকল্পভাবে, একজন কেবলমাত্র all_proxy
সমস্ত URL- এর জন্য সেট করতে পারেন । কার্লেরENVIRONMENT
বিভাগ দেখুন (1) । যাইহোক, গিট-কনফিগার বিকল্পগুলি সেট করার সময়, http.proxy
এইচটিটিপি এবং এইচটিটিপিএস উভয়ই URL এর জন্য ব্যবহৃত হয়। দেখুন http.proxy
মধ্যে Git-কনফিগ (1) ।
যদি আপনার প্রক্সি সার্ভারটি কনফিগার করার কমান্ড লাইন পদ্ধতিটি কাজ করে না, আপনি সম্ভবত .gitconfig সম্পাদনা করতে পারেন (আপনার প্রোফাইলের মূলের মধ্যে যা সি: \ নথি এবং সেটিংস এবং কিছু নেটওয়ার্ক ড্রাইভে উভয়ই লুকিয়ে থাকতে পারে) এবং এটি যুক্ত করতে পারেন :
[http]
proxy = http://username:password@proxy.at.your.org:8080
যদিও ওয়াইএমএমভি, এটি কেবলমাত্র কমান্ড লাইন কনফিগারেশনের প্রথম ধাপটি কভার করে। আপনাকে সিস্টেম গিট কনফিগারেশনটিও সম্পাদনা করতে হতে পারে এবং তারা কোথায় লুকিয়েছিল তা আমার কোনও ধারণা নেই।
ব্যবহারের বিকল্প হিসাবে git config --global http.proxy address:port
আপনি কমান্ড লাইনে প্রক্সি সেট করতে পারেন:
git -c "http.proxy=address:port" clone https://...
সুবিধাটি হ'ল প্রক্সিটি অবিচ্ছিন্নভাবে সেট করা থাকে না। বাশের অধীনে আপনি একটি উপনাম স্থাপন করতে পারেন:
alias git-proxy='git -c "http.proxy=address:port"'
আপনি যদি উবুন্টু ব্যবহার করেন তবে নিম্নলিখিতগুলি করুন ...
পদক্ষেপ 1: কর্কস্ক্রু ইনস্টল করুন
$ sudo apt-get install corkscrew
পদক্ষেপ 2: git-proxy.sh নামে একটি স্ক্রিপ্ট লিখুন এবং নিম্নলিখিতটি যুক্ত করুন
#!/bin/sh
exec corkscrew <name of proxy server> <port> $*
# <name_of_proxy_server> and <port> are the ip address and port of the server
# e.g. exec corkscrew 192.168.0.1 808 $*
পদক্ষেপ 3: স্ক্রিপ্টটি সম্পাদনযোগ্য করুন
$ chmod +x git-proxy.sh
পদক্ষেপ 4: পরিবেশ পরিবর্তনশীল সেট করে জিআইটির জন্য প্রক্সি কমান্ড সেট আপ করুন
$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"
এখন যেমন গিট কমান্ডগুলি ব্যবহার করুন
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
"$@"
পরিবর্তে ব্যবহার করা উচিত $*
। আরও তথ্যের জন্য আপনার শেল ম্যানুয়াল দেখুন।
.gitconfig
উইন্ডোতে একাধিক ফাইলের কারণে একই সমস্যার মুখোমুখি হয়েছিল, একই স্থির করতে নীচের পদক্ষেপগুলি অনুসরণ করা হয়েছে:
পদক্ষেপ 1: গিট বেস খুলুন AS
পদক্ষেপ 2:.gitconfig
নিম্নলিখিত আদেশটি কার্যকর করে দেখুন :
git config --list --global --show-origin
পদক্ষেপ 3: নীচের সামগ্রীটি এতে অনুলিপি করুন .gitconfig
:
[http]
proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
sslverify = false
[https]
proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
sslverify = false
[url "http://github.com/"]
insteadOf = git://github.com/
[user]
name = Arpit Aggarwal
email = aggarwalarpit.89@gmail.com
নিম্নলিখিতগুলি ~ / .gitconfig ফাইলে রাখার চেষ্টা করুন:
[http]
proxy = http://proxy:8080
[https]
proxy = http://proxy:8080
[url "https://"]
insteadOf = git://
গিট প্রোটোকলের জন্য (গিট: // ...) স্যাকট ইনস্টল করুন এবং স্ক্রিপ্ট লিখুন যেমন:
#!/bin/sh
exec socat - socks4:your.company.com:$1:$2
এটিকে এক্সিকিউটেবল করুন, এটিকে আপনার পথে এবং সেই স্ক্রিপ্টের নামে আপনার ~/.gitconfig
সেটটিতে রাখুন core.gitproxy
।
socat STDIO PROXY:%proxy%:%1:%2,proxyport=%PROXYPORT%
set GIT_PROXY_COMMAND=path\to\script
জিআইটি গিট কনফিগারেশনের সাথে গোলযোগ না করে প্রক্সি ব্যবহার করতে ব্যবহার করতে পারে।
এখানে আমি লক্ষ্য করেছি এবং এখানে ভাগ করতে চাই এমন কিছু আছে:
git config --global http.proxy http://<proxy address>:<port number>
উপরের পদ্ধতিটি ssh URL (যেমন, git@github.com:<user name>/<project name>.git
) এর জন্য কাজ করবে না :
git clone git@github.com:<user name>/<project name>.git // will not use the http proxy
এবং যদি আমরা এইচটিটিপিএস পোর্টের উপর এসএসএইচ সেট করি তবে কিছু পরিবর্তন হবে না ( https://help.github.com/en/articles/using-ssh-over-the-https-port ) কারণ এটি কেবল বন্দরে পরিবর্তন করে (ডিফল্টরূপে 22) ) ssh সংযোগের সাথে সংযোগ স্থাপন করে।
(কোনও স্থানীয় ইংরেজী স্পিকার নয়, দয়া করে আমার শব্দগুলি প্রয়োজনে সংশোধন করুন)
আমি কর্মক্ষেত্রে উইন্ডোজ এক্সপি-তে কাজ করি (রাজ্য / সরকার), তাই আমি আমার গবেষণা করেছি এবং এটি এখানে পেয়েছি এবং এটি আমার পক্ষে কাজ করেছে worked আশাকরি এটা সাহায্য করবে :)
Http_proxy পরিবেশ পরিবর্তনশীল
আপনি যদি প্রক্সি সার্ভার বা ফায়ারওয়াল ব্যবহার করেন তবে কমান্ডলাইন থেকে কিছু url অ্যাক্সেস করার জন্য আপনাকে http_proxy এনভায়রনমেন্ট ভেরিয়েবল সেট করতে হতে পারে। উদাহরণ: পার্লের জন্য পিপিএম ইনস্টল করা বা লিনাক্সে আরপিএম প্রয়োগ, উবুন্টু আপডেট করা
প্রক্সি সার্ভারের হোস্টনাম বা আইপি ঠিকানার সাথে http_proxy ভেরিয়েবল সেট করুন: http_proxy = http: // [proxy.example.org]
প্রক্সি সার্ভারটির যদি কোনও ব্যবহারকারীর নাম এবং পাসওয়ার্ডের প্রয়োজন হয় তবে সেগুলিকে নিম্নলিখিত ফর্মটিতে অন্তর্ভুক্ত করুন: http_proxy = http: // [ব্যবহারকারীর নাম: password@proxy.example.org]
প্রক্সি সার্ভার যদি ৮০ টি ব্যতীত অন্য কোনও বন্দর ব্যবহার করে তবে পোর্ট নম্বরটি অন্তর্ভুক্ত করুন: http_proxy = http: // [ব্যবহারকারীর নাম: password@proxy.example.org: 8080]
উইন্ডোজ এক্সপি
- কন্ট্রোল প্যানেলটি খুলুন এবং সিস্টেম আইকনটি ক্লিক করুন।
- অ্যাডভান্সড ট্যাবে এনভায়রনমেন্ট ভেরিয়েবলগুলি ক্লিক করুন।
- সিস্টেম ভেরিয়েবল প্যানেলে নতুন ক্লিক করুন।
- যথাযথ প্রক্সি তথ্যের সাথে http_proxy যুক্ত করুন (উপরের উদাহরণগুলি দেখুন)।
লিনাক্স, সোলারিস বা এইচপি-ইউএক্স
আপনার শেলের জন্য নির্দিষ্ট কমান্ডটি ব্যবহার করে http_proxy এনভায়রনমেন্ট ভেরিয়েবল সেট করুন (যেমন সেট বা এক্সপোর্ট)। এই পরিবর্তনটি অবিরাম করতে শেলের জন্য উপযুক্ত প্রোফাইল ফাইলে কমান্ডটি যুক্ত করুন। উদাহরণস্বরূপ, ব্যাশে, আপনার .bash_profile বা .bashrc ফাইলটিতে নিম্নলিখিতগুলির মতো একটি লাইন যুক্ত করুন:
- http_proxy = http: // [ব্যবহারকারীর নাম: পাসওয়ার্ড @ হোস্টনাম: পোর্ট];
- এক্সপোর্ট করুন $ http_proxy
এই উত্তরগুলির পাশাপাশি, আমি এই 2 পয়েন্টগুলি বিবেচনা করতে সহায়ক পেয়েছি:
একজনকে একটি প্রমাণীকরণ স্কিম প্রয়োগ করতে হবে:
[http]
# https://github.com/git/git/blob/master/Documentation/config.txt
proxyAuthMethod = anyauth|basic|digest|negotiate|ntlm
এছাড়াও, সাধারণত এনটিএলএম প্রমাণীকরণের স্কিমা সহ একজনকে স্পষ্টভাবে এডি ডোমেন সরবরাহ করতে হতে পারে।
গিট ব্যাশে:
echo %userdomain%
এবং সেই অনুযায়ী http.proxy আপডেট করুন:
git config --global http.proxy http://DOMAIN\\proxyuser:proxypwd@proxy.server.com:8080
যাইহোক, তদন্তে সিআরএল লগ যুক্ত করে সহায়তা করা যেতে পারে:
export GIT_CURL_VERBOSE=1
git config --global http.proxyAuthMethod basic
। আমি এই কনফিগার প্যারামিটারটি সেট না করা পর্যন্ত গিট গেরিশন 2.8.3 কোনও প্রমাণীকরণ পাঠায়নি।
আপনার যদি tsks বা প্রক্সিচেনগুলি ইনস্টল এবং কনফিগার করা থাকে তবে আপনি এটি করতে পারেন
$ tsocks git clone <you_repository>
অথবা
$ proxychains git clone <you_repository>
এটিকে আরও ছোট করার /usr/bin/p
জন্য proxychains
, আমি এর জন্য একটি প্রতীক লিঙ্ক তৈরি করেছি , তাই আমি এটি এটির মতো ব্যবহার করতে পারি
p git clone <you_repository>
এবং আমি এটি কোনও আদেশের প্রক্সি করতে ব্যবহার করতে পারি,
p <cmd-need-be-proxied>
যাইহোক, প্রক্সিচেইনগুলি দীর্ঘ সময়ের জন্য আপডেট হয় না, আপনি প্রক্সিচিয়ান-এনজি চেষ্টা করতে চাইতে পারেন
টার্মিনালে গিট প্রক্সি সেট করা হচ্ছে
যদি
এটি বিশ্বব্যাপী একবার সেট করুন
git config --global http.proxy username:password@proxy_url:proxy_port
git config --global https.proxy username:password@proxy_url:proxy_port
যদি আপনি কেবল একটি গিট প্রকল্পের জন্য প্রক্সি সেট করতে চান (এমন কিছু পরিস্থিতি থাকতে পারে যেখানে আপনি কিছু গিট সংযোগের জন্য একই প্রক্সি বা কোনও প্রক্সি ব্যবহার করতে চান না)
//go to project root
cd /bla_bla/project_root
//set proxy for both http and https
git config http.proxy username:password@proxy_url:proxy_port
git config https.proxy username:password@proxy_url:proxy_port
আপনি যদি বর্তমান প্রক্সি সেটিংস প্রদর্শন করতে চান
git config --list
যদি আপনি বিশ্বব্যাপী প্রক্সি সরিয়ে নিতে চান
git config --global --unset http.proxy
git config --global --unset https.proxy
যদি আপনি কেবল একটি গিট রুটের জন্য প্রক্সি সরাতে চান
//go to project root
cd /bla-bla/project_root
git config --unset http.proxy
git config --unset https.proxy
প্রক্সি সেটিংটি এখানে
git config --global http.proxy http://<username>:<pass>@<ip>:<port>
git config --global https.proxy http://<username>:<pass>@<ip>:<port>
আমি এখানে প্রস্তাবিত বেশিরভাগ উত্তর অনুসরণ করেছিলাম। প্রথমে আমি নিম্নলিখিত ত্রুটি পেয়েছি:
মারাত্মক: ' https://github.com/folder/sample.git/ ' অ্যাক্সেস করতে অক্ষম : স্ক্যানেল: পরবর্তী আরম্ভ করুনসিকিউরিটি কনটেক্সট ব্যর্থ হয়েছে: অজানা ত্রুটি (0x80092012) - প্রত্যাহার কার্যটি শংসাপত্রের জন্য প্রত্যাবর্তন পরীক্ষা করতে অক্ষম ছিল।
তারপরে আমি @ সেলিম হামিদী দ্বারা নিম্নলিখিত কমান্ডটি চেষ্টা করেছি
git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
তবে আমি নিম্নলিখিত ত্রুটি পেয়েছি:
মারাত্মক: ' https://github.com/folder/sample.git/ ' অ্যাক্সেস করতে অক্ষম : সংযোগের পরে প্রক্সি থেকে HTTP কোড 407 পেয়েছে
প্রক্সি সার্ভার SSL শংসাপত্রটি যাচাই করতে না পারলে এটি ঘটতে পারে। সুতরাং আমরা নিশ্চিত করতে চাই যে এসএসএল যাচাইকরণ বন্ধ রয়েছে (অবিশ্বস্ত সাইটগুলির জন্য প্রস্তাবিত নয়), তাই আমি নিম্নলিখিত পদক্ষেপগুলি করেছি যা @ আরপিট দ্বারা সুপারিশ করা হয়েছিল তবে কিছুটা পরিবর্তন সহ:
1. প্রথমটি কোনও পূর্ববর্তী প্রক্সি সেটিংস মুছে ফেলার বিষয়টি নিশ্চিত করুন:
git config --global --unset http.proxy
2.পরে তালিকাভুক্ত করুন এবং গিটকনফিগ সামগ্রীটি পান
git config --list --show-origin
৩.গিটকনফিগ ফাইলের লিখিত সামগ্রীটি নীচের মত আপডেট করুন:
[http]
sslCAInfo = C:/yourfolder/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt
sslBackend = schannel
proxy = http://proxyuser:proxypwd@proxy.server.com:8080
sslverify = false
[https]
proxy = http://proxyuser:proxypwd@proxy.server.com:8080
sslverify = false
প্রক্সি পাসওয়ার্ড এনকোডিংয়ের সমস্যা থাকায় আমি উপরের সমস্ত উত্তরগুলি চেষ্টা করেছি এবং আমার পক্ষে কিছুই কার্যকর হয়নি।
এই আদেশটি কাজ করেছে:
git config --global http.proxy http://username@proxy.example.com:PortNumber
আপনার কমান্ডে পাসওয়ার্ড প্রবেশ করবেন না। আপনি যখন কোনও গিট রেপোতে সংযোগ স্থাপন করার চেষ্টা করবেন তখন এটি গতিশীলভাবে জিজ্ঞাসা করবে।
এই পৃষ্ঠার প্রতিটি সমাধান অক্লান্তভাবে চেষ্টা করার পরে, আমার চারপাশের কাজটি ছিল এর পরিবর্তে এসএসএইচ কীটি ব্যবহার করা!