Last active
March 26, 2023 10:02
-
-
Save khai-nguyen-dinh/d23a1de555d811f984fe32ce3212f93b to your computer and use it in GitHub Desktop.
tự tạo ip v6 trên server để làm mmo hoặc spam
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| random() { | |
| tr </dev/urandom -dc A-Za-z0-9 | head -c5 | |
| echo | |
| } | |
| array=(1 2 3 4 5 6 7 8 9 0 a b c d e f) | |
| gen64() { | |
| ip64() { | |
| echo "${array[$RANDOM % 16]}${array[$RANDOM % 16]}${array[$RANDOM % 16]}${array[$RANDOM % 16]}" | |
| } | |
| echo "$1:$(ip64):$(ip64):$(ip64):$(ip64)" | |
| } | |
| install_3proxy() { | |
| echo "installing 3proxy" | |
| URL="https://github.com/z3APA3A/3proxy/archive/3proxy-0.8.6.tar.gz" | |
| wget -qO- $URL | bsdtar -xvf- | |
| cd 3proxy-3proxy-0.8.6 | |
| make -f Makefile.Linux | |
| mkdir -p /usr/local/etc/3proxy/{bin,logs,stat} | |
| cp src/3proxy /usr/local/etc/3proxy/bin/ | |
| cp ./scripts/rc.d/proxy.sh /etc/init.d/3proxy | |
| chmod +x /etc/init.d/3proxy | |
| chkconfig 3proxy on | |
| cd $WORKDIR | |
| } | |
| gen_3proxy() { | |
| cat <<EOF | |
| daemon | |
| maxconn 1000 | |
| nscache 65536 | |
| timeouts 1 5 30 60 180 1800 15 60 | |
| setgid 65535 | |
| setuid 65535 | |
| flush | |
| auth strong | |
| users $(awk -F "/" 'BEGIN{ORS="";} {print $1 ":CL:" $2 " "}' ${WORKDATA}) | |
| $(awk -F "/" '{print "auth strong\n" \ | |
| "allow " $1 "\n" \ | |
| "proxy -6 -n -a -p" $4 " -i" $3 " -e"$5"\n" \ | |
| "flush\n"}' ${WORKDATA}) | |
| EOF | |
| } | |
| gen_proxy_file_for_user() { | |
| cat >proxy.txt <<EOF | |
| $(awk -F "/" '{print $3 ":" $4 ":" $1 ":" $2 }' ${WORKDATA}) | |
| EOF | |
| } | |
| upload_proxy() { | |
| local PASS=$(random) | |
| zip --password $PASS proxy.zip proxy.txt | |
| URL=$(curl -s --upload-file proxy.zip https://transfer.sh/proxy.zip) | |
| echo "Proxy is ready! Format IP:PORT:LOGIN:PASS" | |
| echo "Download zip archive from: ${URL}" | |
| echo "Password: ${PASS}" | |
| } | |
| gen_data() { | |
| seq $FIRST_PORT $LAST_PORT | while read port; do | |
| echo "usr$(random)/pass$(random)/$IP4/$port/$(gen64 $IP6)" | |
| done | |
| } | |
| gen_iptables() { | |
| cat <<EOF | |
| $(awk -F "/" '{print "iptables -I INPUT -p tcp --dport " $4 " -m state --state NEW -j ACCEPT"}' ${WORKDATA}) | |
| EOF | |
| } | |
| gen_ifconfig() { | |
| cat <<EOF | |
| $(awk -F "/" '{print "ifconfig eth0 inet6 add " $5 "/64"}' ${WORKDATA}) | |
| EOF | |
| } | |
| echo "installing apps" | |
| yum -y install gcc net-tools bsdtar zip >/dev/null | |
| install_3proxy | |
| echo "working folder = /home/proxy-installer" | |
| WORKDIR="/home/proxy-installer" | |
| WORKDATA="${WORKDIR}/data.txt" | |
| mkdir $WORKDIR && cd $_ | |
| IP4=$(curl -4 -s icanhazip.com) | |
| IP6=$(curl -6 -s icanhazip.com | cut -f1-4 -d':') | |
| echo "Internal ip = ${IP4}. Exteranl sub for ip6 = ${IP6}" | |
| echo "How many proxy do you want to create? Example 500" | |
| read COUNT | |
| FIRST_PORT=10000 | |
| LAST_PORT=$(($FIRST_PORT + $COUNT)) | |
| gen_data >$WORKDIR/data.txt | |
| gen_iptables >$WORKDIR/boot_iptables.sh | |
| gen_ifconfig >$WORKDIR/boot_ifconfig.sh | |
| chmod +x ${WORKDIR}/boot_*.sh /etc/rc.local | |
| gen_3proxy >/usr/local/etc/3proxy/3proxy.cfg | |
| cat >>/etc/rc.local <<EOF | |
| bash ${WORKDIR}/boot_iptables.sh | |
| bash ${WORKDIR}/boot_ifconfig.sh | |
| ulimit -n 10048 | |
| service 3proxy start | |
| EOF | |
| bash /etc/rc.local | |
| gen_proxy_file_for_user | |
| upload_proxy |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment