genred2config.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/bin/sh
  2. argv1=$1
  3. argv2=$2
  4. argv3=$3
  5. argv4=$4
  6. argv5=$5
  7. argv6=$6
  8. argv7=$7
  9. argv8=$8
  10. argv9=$9
  11. cat <<-EOF >$argv1
  12. base {
  13. log_debug = off;
  14. log_info = off;
  15. log = stderr;
  16. daemon = on;
  17. redirector = iptables;
  18. reuseport = on;
  19. }
  20. EOF
  21. tcp() {
  22. if [ "$argv7" == "0" ]; then
  23. cat <<-EOF >>$argv1
  24. redsocks {
  25. bind = "0.0.0.0:$argv4";
  26. relay = "$argv5:$argv6";
  27. type = socks5;
  28. autoproxy = 0;
  29. timeout = 10;
  30. }
  31. EOF
  32. else
  33. cat <<-EOF >>$argv1
  34. redsocks {
  35. bind = "0.0.0.0:$argv4";
  36. relay = "$argv5:$argv6";
  37. type = socks5;
  38. autoproxy = 0;
  39. timeout = 10;
  40. login = "$argv8";
  41. password = "$argv9";
  42. }
  43. EOF
  44. fi
  45. }
  46. udp() {
  47. if [ "$argv7" == "0" ]; then
  48. cat <<-EOF >>$argv1
  49. redudp {
  50. bind = "0.0.0.0:$argv4";
  51. relay = "$argv5:$argv6";
  52. type = socks5;
  53. udp_timeout = 10;
  54. }
  55. EOF
  56. else
  57. cat <<-EOF >>$argv1
  58. redudp {
  59. bind = "0.0.0.0:$argv4";
  60. relay = "$argv5:$argv6";
  61. type = socks5;
  62. udp_timeout = 10;
  63. login = "$argv8";
  64. password = "$argv9";
  65. }
  66. EOF
  67. fi
  68. }
  69. case "$argv2" in
  70. socks5)
  71. case "$argv3" in
  72. tcp)
  73. tcp
  74. ;;
  75. udp)
  76. udp
  77. ;;
  78. *)
  79. tcp
  80. udp
  81. ;;
  82. esac
  83. ;;
  84. *)
  85. cat <<-EOF >>$argv1
  86. redsocks {
  87. bind = "0.0.0.0:$argv4";
  88. type = direct;
  89. interface = $argv3;
  90. autoproxy = 0;
  91. timeout = 10;
  92. }
  93. EOF
  94. ;;
  95. esac