이 스크립트에서는 루트 또는 sudo 액세스 권한이 있다고 가정합니다.
<?php
function runCommand($command) {
echo "Running command: $command\n";
$output = [];
$return_var = 0;
exec($command, $output, $return_var);
if ($return_var !== 0) {
echo "Command failed: $command\n";
echo implode("\n", $output) . "\n";
exit($return_var);
}
echo implode("\n", $output) . "\n";
}
function install3Proxy() {
// Update package list and install dependencies
runCommand('sudo apt-get update');
runCommand('sudo apt-get install -y build-essential wget');
// Download and extract 3proxy
runCommand('wget https://github.com/3proxy/3proxy/archive/refs/tags/0.9.3.tar.gz');
runCommand('tar xzf 0.9.3.tar.gz');
// Build 3proxy
chdir('3proxy-0.9.3');
runCommand('make -f Makefile.Linux');
// Create necessary directories and copy files
runCommand('sudo mkdir -p /usr/local/3proxy/bin');
runCommand('sudo mkdir -p /usr/local/3proxy/logs');
runCommand('sudo mkdir -p /usr/local/3proxy/conf');
runCommand('sudo cp src/3proxy /usr/local/3proxy/bin/');
// Create a sample configuration file
$config = <<<EOL
daemon
maxconn 1024
nserver 8.8.8.8
nserver 8.8.4.4
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
auth none
allow *
proxy -p8080
flush
EOL;
file_put_contents('/tmp/3proxy.cfg', $config);
runCommand('sudo mv /tmp/3proxy.cfg /usr/local/3proxy/conf/3proxy.cfg');
// Create systemd service file
$serviceFile = <<<EOL
[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
ExecStart=/usr/local/3proxy/bin/3proxy /usr/local/3proxy/conf/3proxy.cfg
ExecReload=/bin/kill -HUP \$MAINPID
KillMode=process
Restart=always
Type=simple
[Install]
WantedBy=multi-user.target
EOL;
file_put_contents('/tmp/3proxy.service', $serviceFile);
runCommand('sudo mv /tmp/3proxy.service /etc/systemd/system/3proxy.service');
// Reload systemd, enable and start 3proxy service
runCommand('sudo systemctl daemon-reload');
runCommand('sudo systemctl enable 3proxy');
runCommand('sudo systemctl start 3proxy');
echo "3proxy has been installed and started successfully.\n";
}
install3Proxy();
?>
스크립트 실행 지침:
- 스크립트를 파일에 저장합니다. 예를 들면 다음과 같습니다.
install_3proxy.php
. - PHP가 설치되어 있는지 확인하세요. 그렇지 않은 경우 다음을 사용하여 설치하십시오.
sudo apt-get install php
. - 다음으로 스크립트를 실행하세요.
sudo php install_3proxy.php
.
이 스크립트는 다음을 수행합니다.
- 패키지 목록을 업데이트합니다.
- 필요한 종속성을 설치합니다.
- 3proxy를 다운로드하고 빌드하세요.
- 필요한 디렉터리를 만듭니다.
- 기본 구성을 설정합니다.
- 3proxy를 관리하기 위한 systemd 서비스를 만듭니다.
- 3proxy 서비스를 활성화하고 시작합니다.
필요에 따라 구성을 사용자 정의할 수 있습니다.
댓글 (0)
여기에는 아직 댓글이 없습니다. 첫 번째 댓글이 되실 수 있습니다!