3proxy.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. install_3proxy() {
  2. echo "installing 3proxy"
  3. URL="https://github.com/z3APA3A/3proxy/archive/3proxy-0.8.6.tar.gz"
  4. wget -qO- $URL | bsdtar -xvf-
  5. cd 3proxy-3proxy-0.8.6
  6. make -f Makefile.Linux
  7. mkdir -p /usr/local/etc/3proxy/{bin,logs,stat}
  8. cp src/3proxy /usr/local/etc/3proxy/bin/
  9. cp ./scripts/rc.d/proxy.sh /etc/init.d/3proxy
  10. chmod +x /etc/init.d/3proxy
  11. chkconfig 3proxy on
  12. cd $WORKDIR
  13. }
  14. gen_3proxy() {
  15. cat <<EOF
  16. daemon
  17. maxconn 1000
  18. nscache 65536
  19. timeouts 1 5 30 60 180 1800 15 60
  20. setgid 65535
  21. setuid 65535
  22. stacksize 262144
  23. flush
  24. auth strong
  25. users $(awk -F "/" 'BEGIN{ORS="";} {print $1 ":CL:" $2 " "}' ${WORKDATA})
  26. $(awk -F "/" '{print "auth strong\n" \
  27. "allow " $1 "\n" \
  28. "proxy -6 -n -a -p" $4 " -i" $3 " -e"$5"\n" \
  29. "flush\n"}' ${WORKDATA})
  30. EOF
  31. }
  32. gen_proxy_file_for_user() {
  33. cat >proxy.txt <<EOF
  34. $(awk -F "/" '{print $3 ":" $4 ":" $1 ":" $2 }' ${WORKDATA})
  35. EOF
  36. }
  37. upload_proxy() {
  38. local PASS=$(random)
  39. zip --password $PASS proxy.zip proxy.txt
  40. URL=$(curl -s --upload-file proxy.zip https://transfer.sh/proxy.zip)
  41. echo "Proxy is ready! Format IP:PORT:LOGIN:PASS"
  42. echo "Download zip archive from: ${URL}"
  43. echo "Password: ${PASS}"
  44. }
  45. gen_data() {
  46. seq $FIRST_PORT $LAST_PORT | while read port; do
  47. echo "usr$(random)/pass$(random)/$IP4/$port/$(gen64 $IP6)"
  48. done
  49. }
  50. gen_iptables() {
  51. cat <<EOF
  52. $(awk -F "/" '{print "iptables -I INPUT -p tcp --dport " $4 " -m state --state NEW -j ACCEPT"}' ${WORKDATA})
  53. EOF
  54. }
  55. gen_ifconfig() {
  56. cat <<EOF
  57. $(awk -F "/" '{print "ifconfig eth0 inet6 add " $5 "/64"}' ${WORKDATA})
  58. EOF
  59. }