ইউমের সাথে সোকস প্রক্সি কীভাবে ব্যবহার করবেন?


13

Yum.conf- এ ম্যান পেজটি বেশ কয়েকটি প্রক্সি সম্পর্কিত ভেরিয়েবলগুলি বর্ণনা করে:

          proxy URL to the proxy server that yum should use.
          proxy_username username to use for proxy
          proxy_password password for this proxy

তবে কীভাবে একটি SOCKS প্রক্সি নির্দিষ্ট করবেন?

আমি ধরে নিয়েছি যে উপরেরগুলি কেবলমাত্র সাধারণ এইচটিটিপি প্রক্সির জন্য ...

উত্তর:


3

tsocksআবেদন প্রত্যেক অন্যান্য অ্যাপ্লিকেশনের socksify করতে

tsocks app args

আশ্চর্যজনক, এটি ডিফল্ট ফেডোরা সংগ্রহস্থলীতে ইতিমধ্যে উপলব্ধ - গুগলের মাধ্যমে আমি সবেমাত্র 'সোকসাইফাই' (ড্যান্ট মোজা ক্লায়েন্ট) খুঁজে পেয়েছি যা পাওয়া যায় না - এবং উত্স থেকে সংকলিত হয়ে ফেডোরা 17 এ কাজ করে না।
ম্যাক্সচলেপজিগ

ঠিক কীভাবে এটি ব্যবহার করবেন?
চানি

tsocks পুরানো, সর্বশেষ আপডেট 2002 সালে ফিরে এসেছে। আজকাল এটি yum / curl কে মোজা দিতে পারে না। danteপরিবর্তে ব্যবহার করুন। এটির আদেশ হ'ল socksify app argstsocks এর মতো। (এবং কমান্ড tsocks জন্য tsocks.conf হিসাবে একই, আপনার কমান্ড socksify জন্য socks.conf প্রয়োজন)। যাইহোক, মোজাফাঁস করার জন্য yum, আমি @ ক্লাউসের উত্তরটি পুনরায় জিজ্ঞাসা করি। /Etc/yum.conf পরিবর্তন করুন আরও ভাল।
ব্রুস 21

17

এই লাইনটি যুক্ত করুন /etc/yum.conf(ড্যাপিলোর পোস্ট থেকে ধারণাটি পেয়েছেন)

proxy=socks5://ip:port

প্রক্সি মাধ্যমে হোস্ট নেম রেজোলিউশনের ক্ষেত্রে, ড্যানিকে মন্তব্যগুলি থেকে ধন্যবাদ যা এটি করবে:

proxy=socks5h://ip:port

এটি ফেডোরা 21-তে আমার 3.4.3 ইয়াম ব্যবহার করে কাজ করেছিল worked


এটি RHEL 2.6.32 (64 বিট) এ ইউম 3.2.29: - এর সাথে কাজ করে না প্রক্সিচেইনগুলি এমন একটি উদ্দেশ্যে যথেষ্ট স্ট্যান্ডার্ড!
যতীন কুমার

প্রক্সিচেইনগুলি যথেষ্ট ন্যায্য বলে মনে হচ্ছে। আমি এটি ব্যবহার করেছি এবং আমি এটি সম্পর্কে খুশি;) তবে আপনার ক্ষেত্রে, আমি মনে করি ইয়াম সংস্করণটি সমস্যা: 3.2.29 (খনিটি 3.4.3)
ক্লাউস

হ্যাঁ সম্মত হয়েছে, এটির কেবল ইয়াম সংস্করণ এবং ৩.২.২৯ 6.৫ চূড়ান্ত প্রকাশের জন্য ডিফল্ট।
যতীন কুমার

RHEL7 / CentOS7 (yum 3.4.3) এ কাজ করে।
স্যাম হার্টসফিল্ড

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত!
ড্যানি গুসেন

7

এনজিটিব দ্বারা চিহ্নিত হিসাবে, tsocksএকটি SOCKS প্রক্সি ব্যবহার করতে ব্যবহার করা যেতে পারে yum

আরও বিস্তারিতভাবে বলতে গেলে, এটি এটির মতো ব্যবহার করতে পারেন:

$ export TSOCKS_CONF_FILE=$HOME/.tsocks.conf
$ cat .tsocks.conf
server = 127.0.0.1
server_port = 1080
$ tsocks yum ...

ডিফল্টরূপে tsocks SOCKS সংস্করণ 4 ব্যবহার করে - তবে আপনি 'সার্ভার_প্রকার' নির্দেশের মাধ্যমে 5 টি কনফিগার করতে পারেন। ব্যবহারকারী / পাসওয়ার্ড বিকল্পের জন্য রয়েছে 'ডিফল্ট_উজার' / 'ডিফল্ট_পাস' নির্দেশিকা এবং TSOCKS_USERNAME / TSOCKS_PASSWORD পরিবেশের ভেরিয়েবল।


5

আমি yum-3.2.29-81, কার্ল / libcurl 7.19.7-53 দিয়ে CentOS6.x ব্যবহার করছি এবং এই একই সমস্যা আছে। আমার ফায়ারওয়ালের পিছনে yum সার্ভার রয়েছে এবং ssh ব্যবহার করে একটি SOCKS5 প্রক্সি সেটআপের জন্য yum ব্যবহার করতে চাই। আদর্শভাবে, আমি tsocks, প্রক্সিচেইন বা অন্য কোনও "সোক্সিফিকেশন" ইউটিলিটিগুলির প্রয়োজনীয়তা ছাড়াই এটি করতে চাই।

আমি এসওকেএসএস সংযোগটি ব্যবহার করে সেটআপ করছি:

ssh -D 40000 dmz-server

আমি ইয়াম পাইথনের উত্সগুলিতে ঘুরে দেখলাম এবং তারা পাইকারল ব্যবহার করেছে যা libcurl কে আবৃত করে (এছাড়াও দয়া করে নোট করুন যে সমস্ত প্রক্সি এনভায়রনমেন্ট ভেরিয়েবলগুলি - http_proxy, HTTP_PROXY, all_proxy, ALL_PROXY ইত্যাদি ।-- প্রথমে অপরিজ্ঞাত ছিল)। তদুপরি, আমি যাচাই করেছি যে ~ / .curlrc খালি ছিল তাই এটি আমার পরীক্ষার ফলাফলগুলিকে দাগ দেয় না।

আমি মোজা 5 প্রক্সি দিয়ে কথা বলার জন্য কার্ল পেতে পারি কিনা তা দেখতে চেয়েছিলাম:

curl --socks5 127.0.0.1:40000 http://some-server/some-url

রিমোট ওয়েব পৃষ্ঠাটি সাফল্যের সাথে ফিরিয়ে দিয়েছে, তাই এটি একটি ভাল লক্ষণ ছিল - libcurl দেখানো SOCKS5 প্রক্সি ব্যবহার করতে পারে। যাইহোক, একটি পরিবেশের ভেরিয়েবলের সংজ্ঞা দেওয়া হচ্ছে

http_proxy=socks5://127.0.0.1:40000 

যথেষ্ট ছিল না:

http_proxy=socks5://127.0.0.1:40000 curl http://some-server/some-url

ব্যর্থ হয়েছে.

এই মুহুর্তে, আমি পাইথন পরীক্ষা প্রোগ্রাম টেস্ট.পি ব্যবহার করে স্যুইচ করেছি :

import pycurl
import sys
sys.stderr.write("Testing %s\n" % pycurl.version)
c = pycurl.Curl()
c.setopt(c.URL, 'http://some-server/some-url')
c.setopt(c.WRITEFUNCTION, sys.stdout.write)
c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
c.perform()
c.close()

এখন, চলছে

./test.py

আনতে ব্যর্থ হবে, তবে চলছে

http_proxy=socks5://127.0.0.1:40000 ./test.py

সফলভাবে http: // কিছু-সার্ভার / কিছু-ইউআরএল আনবে । সুতরাং এটি আমার কাছে মনে হচ্ছে এটি (স্বীকৃতভাবে প্রাচীন) ইয়াম / লিবকরল সংমিশ্রণ যা সেন্টোস 6 এর সাথে জাহাজগুলি লাইবকার্লের মধ্যে প্রক্সি টাইপটিকে সঠিকভাবে সেট করে না। আমি মনে করি কি ঘটছে যে PROXYTYPE পরিবর্তে একটি প্রমিত HTTP প্রক্সি নির্ধারিত লিঙ্ক করা হয় socks5 চিহ্নিতকরণের হয়: // স্কিম URL- এ উল্লেখিত মধ্যে http_proxy এনভায়রনমেন্ট ভেরিয়েবল।

যে কোনও ইভেন্টে, নিম্নলিখিত প্যাচটি /usr/lib/python2.6/site-packages/urlgrabber/grabber.py আমাকে একটি SOCKS5 প্রক্সি মাধ্যমে http: // yum সংগ্রহস্থল অ্যাক্সেস করার অনুমতি দেওয়ার জন্য কাজ করেছে। পাইকার্লফিলঅবজেক্ট # _সেট_অ্যাপ্টসের মধ্যে (স্ব, অপ্টস = {}) যোগ করুন:

if self.scheme == 'http':
  proxy = os.getenv('http_proxy') or os.getenv('HTTP_PROXY') or os.getenv('all_proxy') or os.getenv('ALL_PROXY')
  if proxy and proxy.find("socks5://") != -1:
    self.curl_obj.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)

1205 লাইন কাছাকাছি, ঠিক আগে

# ssl options
if self.scheme == 'https':

এই পরিবর্তনের সাথে,

http_proxy=socks5://127.0.0.1:40000 yum install <package_name>

SOCKS5 ssh প্রক্সি মাধ্যমে ফায়ারওয়ালের অপর প্রান্তে আমার সমস্ত http: // yum সংগ্রহস্থলের সাথে সাফল্যের সাথে সংযোগ স্থাপন করেছে।

অবশ্যই, এক এক্সপোর্ট পারে http_proxy একজনের শেল মধ্যে এনভায়রনমেন্ট ভেরিয়েবল প্রতিটি আবাহন আগেই উল্লেখ এড়াতে ইস


1

Proxychaines এছাড়াও আপনার জন্য একটি ভাল বিকল্প!

প্রথমে এটি ডাউনলোড করুন এবং আপনার মোজা সম্পর্কিত তথ্য proxychains.confফাইলে সেট করুন এবং proxyxhanesকোনও মোড প্রক্সি ব্যবহার করতে চান এমন কোনও আদেশের আগে প্রবেশ করুন !


1

এই লাইনটিতে যুক্ত করুন /etc/yum.confএবং প্রত্যাশিত প্রোটোকল (HTTP নয়) ব্যবহার নিশ্চিত করুন:

...    
proxy=socks5h://localhost:1080
...

5
এটি কাজ করে না:Options Error: Error parsing "proxy = "socks5h://abc.mnl.xyz.com:9999/ # "": URL must be http, ftp or https not "socks5h"
চানি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.