無料インターネット用のプロキシサーバー

「このリソースはオンデマンドでブロックされます」などのページに飽き飽きし、これはますます頻繁に出くわし始めました。 さらに、「深いインターネット」、i2p、tor、タマネギ、匿名のp2pネットワークへの言及があり、一般的にインターネットが神秘的で朝31200の速度でしか利用できなかった幼少期のハッカーロマンスに触発されました...



一般に、目標は設定されていました。ロックをバイパスして、任意のサイト(.i2pおよび.onionドメイン内のサイトを含む)にアクセスできるプロキシサーバーを作成することです。 匿名性を確保するという目標は設定されていません。



すでにハリネズミと交わることができましたが、今では17年前と同じように、インターネットの深い層を探索しています。 ところで、i2pについて話すと、感覚の速度は17年前のインターネットの速度よりもそれほど速くありません。 歴史は周期的です。



この記事は、政治的または犯罪的な性質の行動を要求しておらず、フレームワークと制限が気に入らず、何をどのように読むかを選択する人を対象としています。



仕組み:



メインプロキシサーバーはsquidです。

cache_peer(アップストリームプロキシ)を介して、squidはi2pおよびtorに接続します。 torはSocksプロキシであり、squidはhttpプロキシであるため、squidとtorの間にプライベートレイヤーが組み込まれています。

また、ロシアのインターネットでブロックされているすべてのリソースのACLリストが更新されています。

Squidは、ブラウザからのリクエストを次のように処理します。

URLが.i2pドメインで要求された場合、要求はチェーンでi2pに送信されます。

URLが.onionドメインで要求された場合、要求はチェーンに沿ってtorに渡されます。

禁止されたU​​RLがリクエストされた場合、リクエストはtorにチェーンを渡されます。

他のすべてのリクエストは、Squidから直接送信されます。



自分の手で制限なしにインターネットを作成する方法の手順:



OSとしてFreeBSD 10が使用されました。手があれば、どの* NIXシステムにも同じことを実装できます。

ソフトウェア:Squid、tor、i2p、git(オプション)。

I2Pが機能するには、プロキシにパブリックIPアドレスがない場合、ゲートウェイからポートを転送する必要があります。

システムには、IPアドレス192.168.33.192のネットワークインターフェイスが1つしかありません



まず、システムとポートのすべての更新があること、正しいタイムゾーンが設定されていること、および時刻がワールドタイムと同期していることを確認します。



ポートからプログラムを配置します

インストール前にインストールされたポート:

compat6x-amd64-6.4.604000.200810_3 compat6xライブラリをインストールするための便利なパッケージ

dialog4ports-0.1.5_2ポートを構成するコンソールインターフェイス

perl5.16-5.16.3_18実用的な抽出とレポート言語

pkg-1.4.4パッケージマネージャー

portmaster-3.17.7外部データベースまたは言語なしでポートを管理



インストール。すべてのポートについて、すべてのオプションがデフォルトで設定されています。 Javaディストリビューションを手動でダウンロードする必要がある場合があります。 ご希望の方は、pkg installを使用してインストールすることもできます。

root@freedom_proxy:~ # portmaster -D www/squid root@freedom_proxy:~ # portmaster -D security/tor root@freedom_proxy:~ # portmaster -D security/i2p root@freedom_proxy:~ # portmaster -D www/privoxy
      
      





GITを使用する場合、さらに以下を設定します。

 root@freedom_proxy:~ # portmaster -D textproc/xmlcatmgr root@freedom_proxy:~ # portmaster -D devel/git
      
      





インストールされたプログラムのバージョンを取得します。

squid-3.4.10_2

tor-0.2.5.10_1

i2p-0.9.16

privoxy-3.0.22



ファイル/etc/rc.confに次のように記述します。

 i2p_enable="YES" i2p_user="i2p" squid_enable="YES" tor_enable="YES" privoxy_enable="YES"
      
      





i2pを構成します。

i2pユーザーを作成します。

 root@freedom_proxy:~ # adduser Username: i2p Full name: i2p Uid (Leave empty for default): Login group [i2p]: Login group is i2p. Invite i2p into other groups? []: Login class [default]: Shell (sh csh tcsh nologin) [sh]: Home directory [/home/i2p]: Home directory permissions (Leave empty for default): Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: yes Lock out the account after creation? [no]:
      
      





i2pユーザーになり、初期セットアップを行います。

 root@freedom_proxy:~ # su - i2p $ /usr/local/sbin/i2prouter install $ exit
      
      





FreeBSD 10では、i2pは正しく動作せず、「Tanukiラッパーの現在のバージョンはFreeBSD 10をサポートしていません」というエラーが表示されるため、ファイル/usr/local/etc/rc.d/i2pで

行を変更する

 command="/usr/local/sbin/i2prouter"
      
      





ライン上

 command="/home/i2p/i2p/runplain.sh"
      
      





ファイル/home/i2p/i2p/runplain.sh

行を変更する

 I2PTEMP="%SYSTEM_java_io_tmpdir"
      
      







 I2PTEMP="/tmp"
      
      





i2pを起動します。

 root@freedom_proxy:~ # /usr/local/etc/rc.d/i2p start
      
      





プロセスが開始したことを確認します。プロセスのリストにjavaが存在する必要があります。

 root@freedom_proxy:~ # ps -au | grep java i2p 26809 3.0 3.3 1255096 139080 0 S 1:15PM 0:10.15 /usr/local/openjdk7/bin/java
      
      





ファイル/ etc / hostsレジスタ内

 127.0.0.1 localhost localhost.my.domain i2pconsole
      
      





この行は、ブラウザーからi2p管理コンソールにアクセスするために必要です。



TORをカスタマイズする

ファイル/ usr / local / etc / tor / torrcの行のコメントを外します

 RunAsDaemon 1
      
      





不足しているディレクトリを作成してtorを実行します。

 root@freedom_proxy:~ # touch /var/log/tor root@freedom_proxy:~ # chmod 666 /var/log/tor root@freedom_proxy:~ # mkdir /var/run/tor/ root@freedom_proxy:~ # /usr/local/etc/rc.d/tor start
      
      





Privoxyを構成する

SquidとTorの間のブリッジとして必要なprivoxy

ファイル/ usr / local / etc / privoxy / config

変わる

 listen-address 127.0.0.1:8118
      
      







 listen-address 192.168.33.192:8118
      
      





この置き換えは、Squidに必要です。 squidはcache-peerをIPアドレスにバインドし、127.0.0.1に複数のcache-peerを持つことはできません



次に、前方の例を含むフラグメントを見つけて、行を追加します

 forward-socks4a / 127.0.0.1:9050 .
      
      





行末のドットは必須です!



privoxyを実行します:

 root@freedom_proxy:~ # /usr/local/etc/rc.d/privoxy start
      
      





イカのカスタマイズ

ファイル/usr/local/etc/squid/squid.confの先頭に、次の行を記述します。



 acl russia_block_urls url_regex "/usr/local/etc/squid/zapret-urls.txt" acl i2p_urls url_regex -i .*://.*\.i2p\/.* acl onion_urls url_regex -i .*://.*\.onion\/.* cache_peer 127.0.0.1 parent 4444 4444 no-digest allow-miss no-query cache_peer_access 127.0.0.1 allow i2p_urls cache_peer 192.168.33.192 parent 8118 8118 no-digest allow-miss no-query cache_peer_access 192.168.33.192 allow onion_urls cache_peer_access 192.168.33.192 allow russia_block_urls never_direct allow onion_urls never_direct allow i2p_urls never_direct allow russia_block_urls never_direct deny all always_direct deny onion_urls always_direct deny i2p_urls always_direct deny russia_block_urls always_direct allow all
      
      





空のファイル/usr/local/etc/squid/zapret-urls.txtを作成します

 root@freedom_proxy:~ # touch /usr/local/etc/squid/zapret-urls.txt
      
      





イカを起動します。

 root@freedom_proxy:~ # /usr/local/etc/rc.d/squid start
      
      





禁止されたU​​RLのリストのダウンロードを構成する

https://antizapret.infoというサイトをソースとして使用するか、git-hub https://github.com/zapret-info/ziからアクセスできる定期的に更新されるcsvリストを使用します



gitを使用するオプション

root @ freedom_proxy:〜#mkdir / root / zapret-info

ファイル/root/zapret-info/getzapretinfo.shを作成します

 #!/bin/sh cd /root/zapret-info/zapret-info rm -rf zi /usr/local/bin/git clone https://github.com/zapret-info/zi.git cat zi/dump.csv | sed 1d | cut -d ';' -f 3 | tr "\|" "\n" |sed 's/^[ \t]*//;s/[ \t]*$//' |uniq > /usr/local/etc/squid/zapret-urls.txt
      
      





ファイルを実行可能にします:

 root@freedom_proxy:~ # chmod +x /root/zapret-info/getzapretinfo.sh
      
      





gitおよび一時ファイルなしのオプション:

 fetch -o - https://raw.githubusercontent.com/zapret-info/zi/master/dump.csv | sed 1d | cut -d ';' -f 3 | tr "\|" "\n" |sed 's/^[ \t]*//;s/[ \t]*$//' |uniq > /usr/local/etc/squid/zapret-urls.txt
      
      





どちらの場合も、インターネットからdump.csvファイルを取得し、それを使用してアクションを実行します。

「Sed 1d」-最初の行をカット

「カット-d ';' -f 3“-3列目以外をすべて切り取ります。

tr "\ |" 「\ n」-文字を置き換えます| 改行ごとの文字

sed 's / ^ [\ t] * //; s / [\ t] * $ //'-スペースとタブをトリム

uniq-重複行を削除します。

結果は/usr/local/etc/squid/zapret-urls.txtに書き込まれます



crontabでは、定期的なファイル更新を記述します。

 1 2 * * * root fetch -o - https://raw.githubusercontent.com/zapret-info/zi/master/dump.csv | sed 1d | cut -d ';' -f 3 | tr "\|" "\n" |sed 's/^[ \t]*//;s/[ \t]*$//' |uniq > /usr/local/etc/squid/zapret-urls.txt
      
      







プロキシの動作を確認します。

お気に入りのブラウザで、プロキシサーバー192.168.33.192、ポート3128を登録し、チェックを開始します。



アドレスhttp://hideme.ru/ip/にアクセスし、プロキシ句に示されているものを確認します。「プロキシサーバー1.1 localhost(squid / 3.4.10)と実際のIP:XX.XXを使用しています」のようになります。 .XX.XX」

イカは働いています。



次に、TORの動作を確認します。

サイトhttp://thehiddenwiki.orgにアクセスするか、非表示のWikiが現在存在するアドレスをgoogleして、.onionリンクのいずれか、たとえばhttp://3g2upl4pq6kufc4m.onion/をクリックしてみます-これは検索エンジンです。

http://zqktlwi4fecvo6ri.onion/wiki/index.php/Main_Page-好みと遊女のタマネギサイトの無修正カタログ。

すべてが正しく構成されていれば、探しているページが表示されます。

プロキシが「192.168.33.192との接続に失敗しました」というエラーを返した場合、privoxyが実行されていないか、squid-privoxyリンクが正しく構成されていません。

privoxyからエラー503が表示された場合(Privoxyはリクエストをsocks4a-forwardできませんでした)、2つのオプションが可能です:存在しないサーバーのアドレスを入力したか、torの問題を入力しました。 正確な診断のために、ダースのタマネギのリンクをチェックすることをお勧めします。 動作しない場合は、torエラーファイルを注意深く読んでください。



i2pの動作確認:

アドレスhttp:// i2pconsole:7657 / homeに移動します

左側のi2pロゴの下には、ネットワークステータスがあります。 ステータスが[OK]または[ファイアウォール]の場合-作業できます。 テストステータスは、i2pの起動後しばらく保持されます。



Eepsites of Interestセクションの推奨サイトのリストについては、以下を参照してください。

私たちはリンクをたどろうとします:

http://plugins.i2p/

http://anoncoin.i2p/



i2pを設定するには、アドレスhttp:// i2pconsole:7657 / consoleに移動します



テストの最終段階では、ロックのバイパスを確認します。

https://antizapret.info/のサイトにアクセスし 、禁止されているリソースのリストを見て、選択したいくつかのリソースにアクセスしてみてください。 ページは問題なくロードされるはずです。



やった! 今、インターネットは大きくなっています!



All Articles