DD-WRTにサードパーティソフトウェアを簡単にインストールするには、追加のスペースが必要です。これは通常、ルーターでは十分ではありません。 したがって、追加のフラッシュドライブを接続する必要があります。 私の場合、ルーターは3Gモデムからインターネットを配布し、ルーターのUSBポートは1であり、USBハブにだまされないように、microSDフラッシュドライブを3Gモデムに直接挿入しました。
Huaweiの3GモデムのほとんどにはmicroSDスロットがあります。 MegaphoneのHuawei E1820モデムがあります。
したがって、フラッシュドライブがDD-WRTシステムファイルのストレージとして機能するには、これが最も純粋な形式のLinuxであるため、まずフラッシュドライブにいくつかのパーティションを作成し、ext3ファイルシステムでフォーマットする必要があります。 誰もがLinuxを手元に持っているわけではないので、Windowsでそれを行う方法を紹介します。
まず、このファイルシステムを操作できるドライバーをインストールします。 sourceforge.net/projects/ext2fsdからダウンロードできます-このドライバーのインストールはオプションです。WindowsでUSBフラッシュドライブの内容を操作する場合にのみ必要です。 ディスク自体をマークするには、www.partition-tool.com / download.htmから入手できるEaseUS Partition Master Home Editionプログラムをダウンロードします。 このプログラムは家庭での使用は無料で、私たちのタスクに非常に適しています。
3つのセクションを作成します。
/ opt-インストールされているすべてのソフトウェアはここに保存されます
/ jffs-さまざまなスクリプトがあります。 ちなみに、最終的にはこのセクションを自分で無効にし、使用しなくなりました。
/ swap-RAMの量を増やすためにシステムを交換します。 dd-wrtで大量のメモリを消費するソフトウェアをインストールする場合は、使用する必要があります。私の場合、プロキシタスクにはルーターに十分な60 MBのメモリがあるため、スワップ用のセクションは作成しません。
フラッシュドライブは2 GBであったため、2つのパーティションを作成しました。1つは900 MBの容量で、もう1つは1000 MBの容量です。

次に、これらすべてをルーターに接続します。
最新のdd-wrt v3.0ファームウェアがインストールされたAsus RT-N13U B1ルーターがあります。 次に、パーティションをマウントする必要があります。 [サービス]-> [USB]タブでWebにアクセスし、セクションを接続します。 [コアUSBサポート]、[USBストレージサポート]、[自動ドライブマウント]のボックスをオンにします。 ブート時に自動的にマウントされるように、ディスクのUUIDをパーティションにコピーします。

次に、ipkg-optパッケージ制御システムをインストールします。 この時点で、ルーターのインターネットは既に構成されているはずです。 ルーターへのSSHアクセスを有効にして、そこにアクセスします。 コマンドを順番に実行します。
インストールスクリプトをダウンロードします。
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh
次に、インストール自体を実行します。
sh /tmp/optware-install.sh
すべてがインストールされたら、プロキシをインストールします。
ipkg-opt install tinyproxy
viの使用方法がわからない場合(以前に学んだように)、nanoエディターをインストールすることもできます。
ipkg-opt install nano
次に、プロキシを構成し、起動スクリプトを作成する必要があります。 これは私の構成のようです。必要に応じて構成できますが、PIDファイルの場所を変更しないでください。
構成を編集します。
nano /opt/etc/tinyproxy.conf
そこに書きましょう:
User root Group root Port 8888 Timeout 600 DefaultErrorFile "/opt/share/tinyproxy/default.html" StatFile "/opt/share/tinyproxy/stats.html" LogLevel Info PidFile "/tmp/var/run/tinyproxy.pid" MaxClients 100 MinSpareServers 5 MaxSpareServers 20 StartServers 10 MaxRequestsPerChild 0 Allow 192.168.0.0/16 ViaProxyName "tinyproxy" ConnectPort 443 ConnectPort 563
次に、起動スクリプトを作成します。 理由はわかりませんが、/ jffs / etc / config / script.startupを介してスクリプトを実行する標準的な方法は、ソフトウェアの再起動が進行中の場合にのみ機能しますが、ネットワークからデバイスを切断して再度オンにすると、このスクリプトは機能しません。 おそらくこれは、3Gモデムを介しているという事実のために、私のmicroSDが何らかの形でゆっくりと接続するという事実によるものです。
この状況は私には向いていません。たとえば、ライトがオフになっている場合、ソフトウェアをオンにした後、必要なソフトウェアは起動しません。この場合、tinyproxyとsshを経由してルーターを起動し、ソフトウェアを再起動する必要があります。 だから私は少しの回避策を行って、メインスクリプトをcronで実行させました。
スクリプト用のディレクトリを作成します。
mkdir /opt/etc/init.d
私たちは実行する権利を与えます:
chmod +x /opt/etc/init.d
メインの起動スクリプトを作成します。
nano /opt/etc/init.d/start_script.sh
#!/bin/sh unset LD_PRELOAD unset LD_LIBRARY_PATH [ -e /opt/etc/profile ] && mount -o bind /opt/etc/profile /etc/profile if [ -d /opt/etc/init.d ]; then for f in /opt/etc/init.d/S* ; do [ -x $f ] && $f start done fi
私たちは実行する権利を与えます:
chmod +x /opt/etc/init.d/start_script.sh
次に、tinyproxy自体を起動するためのスクリプトを作成します。
nano /opt/etc/init.d/S01tinyproxy.sh
#! /bin/sh NAME=tinyproxy DESC="Tiny HTTP and HTTPS proxy" case "$1" in start) if [ -e /tmp/var/run/$NAME.pid ]; then echo "$DESC: $NAME already started." exit 0 fi echo -n "Starting $DESC: $NAME" /opt/sbin/$NAME -c /opt/etc/tinyproxy.conf echo . ;; stop) if [ ! -e /tmp/var/run/$NAME.pid ]; then echo "$DESC: $NAME is not running." exit 0 fi echo -n "Stopping $DESC: $NAME" killall $NAME rm -f /tmp/var/run/$NAME.pid echo . ;; *) echo "Usage: $0 {start|stop}" >&2 exit 1 ;; esac exit 0
実行権を付与します
chmod +x /opt/etc/init.d/S01tinyproxy.sh
次に、ルーターが起動してから20秒後にスクリプトを実行するタスクをクラウンに追加します。 このバージョンでは、すべてのスクリプトがバタンと鳴り、ルーターは時計のように動作します。
Webを介して[管理]-> [管理]タブに移動し、cronで次の行を記述します。
@reboot sleep 20 && /opt/etc/init.d/start_script.sh

設定を保存し、ルーターを再起動します。 すべて準備完了です。