�� Ruby���g�����y�XDial-up Router����@ ���̃_�C�����A�b�v���[�^�[�̓E�F�u�y�[�W�𗘗p�������ł���悤�ɂȂ��Ă��܂����A���������y�[�W���J���͖̂ʓ|�ł��i�Ƃ������A������SOHO-128 SL11�Ȃ�ŗ�̂��Ƃ�Net+�Ƒ����������j�B�܂��߂����v���O�����������̂������͂Ȃ��̂ł����A�X�N���v�g������g���Ă��傿�傢��������Ă��܂��̂���ł��B����Ȃ킯��Perl���E�E�E�ƌ��������Ƃ���Ȃ̂ł����ABe�ł�Perl�͖�����socket���g���܂���B����X�ɂ͓��{���̃I�u�W�F�N�g�w���X�N���v�g����Ruby������ł͂Ȃ��ł����B�Ƃ������Ƃ�ARuby���g�����ȒP�ȃv���O�����Ń_�C�����A�b�v���[�^�[��䂵�Ă݂܂��傤�B
��������@�𒲂ׂ��{���͂���𒲂ׂ�̂���ςȂ̂�������܂���E�E�E�B�Ƃɂ����ڑ��A�ؒf�ɕK�v�ȃ��N�G�X�g������܂��B�ԂɃv���L�V�T�[�o�[�Ȃǂ������A���O�����Ƃ킩��܂��B���Ȃ݂�SOHO-128SL11����͎��̂悤�ɂȂ��Ă��܂��B
[�ڑ�]
POST /config-quick.cgi HTTP/1.0 Content-Length: 10 connect+0=[�ؒf]
POST /config-quick.cgi HTTP/1.0 Content-Length: 15 disconnect+all=
��Ruby�X�N���v�g�����������Ȃ�ł����A�X�N���v�g�������܂��B���ׂ��ڑ��A�ؒf�̂��߂̑��M�f�[�^���t�@�C���Ƃ��ĕۑ����܂��B�����ł�/home/config/etc/connect�A/home/config/etc/disconnect�Ƃ��ĕۑ������Ɖ��肵�܂��B
[�X�N���v�g]
#!/boot/home/config/bin/ruby require "socket" server="169.254.1.1"; port="80"; confpath = "/boot/config/etc/"; mode = ARGV.shift; if (mode == "disconnect") fname = confpath + "connect"; else fname = confpath + "disconnect"; end file = open(fname, "r"); sock = TCPsocket.open(server, port); while line = file.gets sock.write line; end sock.close; file.close;���ꂾ���B�ȒP�i��j�B�����/boot/home/config/bin/duprtr.rb�ȂǂƂ���ATerminal����
$ duprtr.rb connect �Ƃ��A
$ duprtr.rb disconnect �Ƃ������ڑ��E�ؒf���ł��܂��B���A���R�X�N���v�g����server�� ���[�^�[�Ɋ��蓖�Ă��Ă���A�h���X�ɂ��Ă��������B���ʂ�l����192.168.0.1�Ƃ��������ł��傤���B ������A���[�^�[�̃A�h���X���`�t�@�C��������s�ɂ����A�X�N���v�g�����������ڑ�������߂Ă��܂��� �܂��A���ʂ͂���Ȃ��Ƃ���K�v���Ȃ��ł��傤�B��������Terminal����ł‚̂��ʓ|�Ȃ�A
#!/bin/sh duprtr.rb connect���ĂȊ����̃t�@�C�����f�X�N�g�b�v���u�C���^�[�l�b�g��ڑ��v�Ȃ�Ė��O�����Ƃ��Ă���A ������_�u���N���b�N���邾����OK�B��A�ȒP�B�X�N���v�g����o���U�C�B