অফলাইনে থাকাকালীন ভুয়া অনলাইন ওয়েবসাইট


15

আমি একটি স্থানীয় সার্ভার ব্যবহার করে একটি ওয়েবসাইট বিকাশ করছি তবে আমার দূরবর্তী নির্ভরতা রয়েছে। আমি দূরবর্তী সার্ভার থেকে ফাইলগুলির জন্য জাল অনুরোধ করতে চাই। উদাহরণস্বরূপ, ব্রাউজার যখন fooCDN.com/bloatedLib.jsবিষয়বস্তুর জন্য অনুরোধ জানায় তখন /Users/name/Desktop/bloatedLib.jsতা ফিরে আসবে।

আমি ম্যাক এবং এমন একটি সমাধান ব্যবহার করি যা সিস্টেম বা ব্রাউজার স্তরে কাজ করে তবে তা ভাল be যদি এটি ব্রাউজার স্তরে কাজ করে তবে কেবল একটি ফায়ারফক্স বা ক্রোম সমাধান ঠিক হয়ে যাবে। আমি উইন্ডোজ কম্পিউটার ব্যবহার করতে পারি না।


আপনি কি উইন্ডোজ কম্পিউটার ব্যবহার করতে পারবেন?
geek1011

@ geek1011 না, এটি সম্ভব হবে না
ড্যানিয়েল এফ

5
আমি আপনাকে সঠিকভাবে বুঝতে পেরেছি কিনা তা নিশ্চিত নই, তবে ইন্টারনেটে আপনার কোনও সংযোগ না থাকা সত্ত্বেও আপনি কি কোনও ওয়েবসাইট অ্যাক্সেস করতে সক্ষম হচ্ছেন? এবং যদি তাই হয়, একটি স্থানীয় অনুলিপি অ্যাক্সেস? প্রক্সি সার্ভারের মতো কি?
এলপিচিপ

@ এলপিসিপি আমি অফলাইনে থাকা অবস্থায়ও আমাকে jQuery এর মতো বহিরাগত নির্ভরতা লোড করতে হবে। এটি অন্য কারোর ভাণ্ডার, সুতরাং আমি কেবল বাহ্যিক নির্ভরতা স্থানীয় করতে পারি না। এটি অফলাইনে থাকা অবস্থায় ব্রাউজারের ক্যাশে সংস্করণটি লোড করতে পারলে তা সঠিক হবে be ওয়েবসাইটটির বেশিরভাগ স্থানীয় সার্ভারে রয়েছে।
ড্যানিয়েল এফ

আপনি এইচটিএমএল 5 "অফলাইন ওয়েব অ্যাপ্লিকেশন" ব্যবহার করতে পারেন
মাইকেল

উত্তর:


11

আমি অনুপস্থিত ফাইলগুলি ডাউনলোড করতে এই ছোট্ট প্রক্সি সার্ভারটি একসাথে হ্যাক করেছি। আপনি 127.0.0.1 এ ক্যাশে করতে চান এমন সাইটগুলি এবং 0.0.0.0 এ আপনি ব্লক করতে চান এমন সাইটগুলিকে নির্দেশ করতে কেবল আপনার / ইত্যাদি / হোস্ট ফাইলটি সেট আপ করুন

#!/bin/sh 
nc -ll -p 80 -e sh -c ' 
while read A B DUMMY 
do 
   case "$A" in 
      [Gg][Ee][Tt]) 
         FULL=$B #full path of the file
         F=${FULL##*/}
         F=${F%%\?*} #file name only
         #if we have it cat it back to browser
         [ -f "$F" ] && cat "$F" && break 
      ;; 
      [Hh][Oo][Ss][Tt]*) 
         [ -f "$F" ] && break #file already exists
         HOST=${B:0:$((${#B}-1))} #the host name
         #resolve by DNS first so we can cache it
         sed -i "s/hosts:\t\tfiles /hosts:\t\t/g" /etc/nsswitch.conf 
         wget -t 0 -q --no-dns-cache $HOST$FULL
         #got it now revert to checking host file 1st
         sed -i "s/hosts:\t\t/hosts:\t\tfiles /g" /etc/nsswitch.conf
         #cat the file because I didn't think to wget through tee
         cat "$F" 
         break 
      ;; 
   esac 
done 
'

নোট করুন যে এটি সমস্ত ফাইলকে একটি ডিরেক্টরিতে রেখে দেয় তাই এটি সংস্করণ বিবাদ সৃষ্টি করতে পারে। (আমি ইচ্ছাকৃতভাবে এটি করেছি যাতে আমার কাছে 500 টি অনুলিপি না থাকে)


আপনি কি আপনার কোডটি মন্তব্য করতে পারেন যাতে আমি এটি আরও ভালভাবে বুঝতে পারি। আমি এই উত্তরটি অনেক পছন্দ করি কারণ আমার অনেকগুলি সফ্টওয়্যার ইনস্টল করার দরকার নেই
ড্যানিয়েল এফ

1
@ ড্যানিয়েলএফ আমি কিছু ইনলাইন মন্তব্য যুক্ত করেছি। যদি তা বোঝা যায় তবে আমাকে জানান, এটি সম্ভবত আমার লেখা হ্যাকিস্ট হ্যাকগুলির মধ্যে একটি। আমি কেবল এটি প্রয়োজনীয়তার বাইরে লিখেছি কারণ আমি একটি ব্যস্ত সংস্থার জন্য ব্রাউজারের স্টলগুলি পেতে থাকি। আমার উল্লেখ করা উচিত আমি যখন লিখি তখন আমি কুকুরছানা লিনাক্স ব্যবহার করতাম, তাই কয়েকটি লাইনে sudo চালানোর প্রয়োজন হতে পারে।
টেকনোসরাস

দ্রষ্টব্য: কিছু ব্রাউজারের কেবলমাত্র "ক্যাটিং" ফাইলের পরিবর্তে একটি প্রকৃত HTTP শিরোনামের প্রয়োজন হতে পারে (যদিও আমার কোনওটিই করেনি)। আপনার যদি এমন কোনও ব্রাউজার থাকে যা এই খারাপ আচরণটি স্বীকার / সংশোধন করে না, আপনি ফাইলের আকার পেতে স্ট্যাট ব্যবহার করতে পারেন এবং এটি একটি সঠিক শিরোনাম মুদ্রণ করতে ব্যবহার করতে পারেন।
টেকনোসরাসটি

@ টেকনোসরাস: আমি অনুরূপ কিছু বাস্তবায়নের চেষ্টা করছি, তবে আমি একটি ত্রুটি পাচ্ছি:, আপনি কি এটিতে illegal option -- eসহায়তা করতে পারেন?
অনুরাগ পেশে

@ অনুরাগপেশনে নেটকাটের বিভিন্ন বিবিধ প্রয়োগ রয়েছে; আপনি কোন প্রয়োগটি ব্যবহার করছেন তার উপর নির্ভর করে, আপনি -cকোনও স্ক্রিপ্ট চালানোর জন্য প্যারামিটারটি ব্যবহার করতে সক্ষম হতে পারেন ( অংশ -eছাড়াই একই sh -c)
টেকনোসরাস

24

মনে হচ্ছে আপনি কোনও স্থানীয় ওয়েব সার্ভার চালাচ্ছেন। চমৎকার।

আপনার ম্যাকের ফাইল সিস্টেমে একটি ফাইল রয়েছে /etc/hosts। আপনি fooCDN.comএই লাইনটি যুক্ত করে আপনার স্থানীয় মেশিনে সমস্ত অনুরোধ পুনর্নির্দেশ করতে পারেন /etc/hosts:

127.0.0.1   foocdn.com www.foocdn.com

সম্পাদনা করার জন্য আপনাকে রুট (সুপার ব্যবহারকারী) অনুমতি প্রয়োজন হবে /etc/hosts

উপরের লাইনটির অর্থ এটি fooCDN.comআপনার নিজের কম্পিউটার থেকে লোড হবে, যেখানে কোনও ওয়েব সার্ভার শুনছে।

আপনি স্থানীয়ভাবে কোন ওয়েব সার্ভারটি চালাচ্ছেন তা আপনি নির্দিষ্ট করেননি। ওয়েব সার্ভারের ডকুমেন্টেশন অনুসরণ করে, আপনার একটি ভার্চুয়াল হোস্ট তৈরি করা উচিত যা নথির মূলটিকে নির্দেশ fooCDN.comকরে /Users/name/Desktop/

এটি একটি নমুনা কনফিগারেশন (আমি নিজে এটি পরীক্ষা করে দেখিনি) আপনি অ্যাপাচি ব্যবহার করার চেষ্টা করতে পারেন :

<VirtualHost 127.0.0.1:80>
    ServerName foocdn.com
    ServerAlias www.foocdn.com
    DocumentRoot /Users/name/Desktop
</VirtualHost>

এখানে এনগিনেক্সের জন্য একটি নমুনা কনফিগারেশন (অনির্ধারিত):

server {
    listen 80;
    root /Users/name/Desktop;
    server_name foocdn.com;
}

আপনার ওয়েব সার্ভার পরিষেবাটি পুনরায় চালু করতে বা নতুন কনফিগারেশন ফাইলটি পুনরায় লোড করতে ভুলবেন না।


আপনার উত্তরটি ভাল ছিল, তবে আমি এমন উত্তরটি গ্রহণ করেছি যেটির জন্য আমার কোনও ইনস্টল করার প্রয়োজন নেই
ড্যানিয়েল এফ

@ ড্যানিয়েলএফ: ওহ, সুতরাং আপনি কোনও স্থানীয় ওয়েব সার্ভার চালাচ্ছেন না?
ডেল্টিক

1
পছন্দ করুন তিনি চায় জিজ্ঞাসা পাবে fooCDN.comযখন সে কোন ইন্টারনেট সংযোগ আছে একটি ফাইল জন্য।
বেনজিওবি

2

আপনি সেই প্রক্সি সার্ভার সফ্টওয়্যার ব্যবহার করতে পারেন যা কাজটি সম্পাদন করতে ইউআরএল পুনর্লিখনকে সমর্থন করে। অনেকগুলি প্রক্সি সার্ভার অ্যাপ্লিকেশনগুলি ইউআরএল পুনর্লিখনকে সমর্থন করে। উদাহরণস্বরূপ, উইন্ডোজ, ম্যাক ওএস এবং লিনাক্সের জন্য চার্লস ওয়েব ডিবাগিং প্রক্সি অ্যাপ্লিকেশন ইউআরএল পুনর্লিখনকে সমর্থন করে । আপনি এটি আপনার ম্যাক সিস্টেমে ইনস্টল করতে পারেন এবং তারপরে প্রক্সি সার্ভারটি ব্যবহার করার জন্য সিস্টেমে ব্রাউজারগুলি কনফিগার করতে পারেন।

বিকল্পভাবে, অ্যাপাচি , যা নিখরচায় ও মুক্ত উত্স, এর মধ্যে Mod_proxy এবং mod_rewrite মডিউল রয়েছে।

Mitmproxy বিনামূল্যে এবং এটি একটি ম্যাক ওএস এক্স সিস্টেমেও চলবে।

প্রক্সি সার্ভারের মাধ্যমে আইটেমগুলি আপনার ব্রাউজারের ক্যাশে থেকে উপলভ্য করার জন্য যদি আপনাকে প্রয়োজন হয় তবে আপনি ক্রোম ক্যাশে দেখার সহজ কৌশলগুলি (সহজ উপায়) সরবরাহ করতে পারেন । উদাহরণস্বরূপ, গুগল ক্রোমে আপনি chrome:\\cacheব্রাউজারের ঠিকানা বারে রাখতে পারেন এবং তারপরে ক্রোম ক্যাশে প্রাসঙ্গিক আইটেমগুলি সনাক্ত করতে পারেন এবং সেগুলি অন্যত্র অনুলিপি করতে পারেন।


আপনি কি চার্লস ছাড়া অন্য কোনও সফটওয়্যার, বিশেষত ফ্রি সফটওয়্যার সম্পর্কে জানেন?
ড্যানিয়েল এফ

আপনার উত্তরটি ভাল, তবে আমি অন্য উত্তরটি মেনে নিয়েছি যার জন্য নিখরচায় সফ্টওয়্যার দরকার নেই।
ড্যানিয়েল এফ

সেটা ঠিক আছে; ডেলটিকের সমাধান আপনার পরিস্থিতির জন্য ভাল। আমি চার্লসের জন্য কয়েকটি বিনামূল্যে বিকল্প যুক্ত করেছি।
চাঁদপয়েন্ট

1
@ ড্যানিয়েলএফ আরেকটি ডিবাগিং প্রক্সি হলেন ফিডলার, যার একটি আলফা ওএস এক্স বিল্ড রয়েছে এবং ফাইল প্রতিক্রিয়াগুলি এবং নির্দিষ্ট প্রতিক্রিয়াগুলি পুনরায় খেলতে সহায়তা করে । এটি পুরো ডোমেনটিকেও পুনঃনির্দেশ করার চেয়ে আরও সূক্ষ্ম।
বব

2

ভাল পুরানো wwwoffle এর মত শোনাতে আপনার প্রয়োজনের স্যুট করা উচিত। এটি একটি প্রক্সি সার্ভার যেখানে আপনি অফলাইনে ব্যবহারের জন্য সংস্থান নির্বাচন করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.