Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. #!/bin/sh /etc/rc.common
  2. # Copyright (C) 2009-2010 OpenWrt.org
  3.  
  4. START=99
  5. STOP=15
  6.  
  7. SERVICE_USE_PID=1
  8.  
  9.  
  10. CLASH="/etc/clash/clash"
  11. CLASH_CONFIG="/etc/clash"
  12. DNSSERVER="127.0.0.1#5858"
  13. start() {
  14. # 启动 Clash
  15. $CLASH -d "$CLASH_CONFIG" > /dev/null 2>&1 &
  16.  
  17. sleep 2
  18.  
  19. # 设置 iptables
  20. iptables -t nat -N CLASH
  21.  
  22. # 8080 是 CLASH 代理服务器的端口,即远程 CLASH 服务器提供服务的端口,如果你有多个 ip 可用,但端口一致,就设置这个
  23. iptables -t nat -A CLASH -p tcp --dport 8080 -j RETURN
  24.  
  25. # 192.192.192.192 是 CLASH 代理服务器的 ip, 如果你只有一个 CLASH服务器的 ip,却能选择不同端口,就设置此条
  26. iptables -t nat -A CLASH -d 192.192.192.192 -j RETURN
  27.  
  28. # 保留地址、私有地址、回环地址 不走代理
  29. iptables -t nat -A CLASH -d 0.0.0.0/8 -j RETURN
  30. iptables -t nat -A CLASH -d 10.0.0.0/8 -j RETURN
  31. iptables -t nat -A CLASH -d 127.0.0.0/8 -j RETURN
  32. iptables -t nat -A CLASH -d 169.254.0.0/16 -j RETURN
  33. iptables -t nat -A CLASH -d 172.16.0.0/12 -j RETURN
  34. iptables -t nat -A CLASH -d 192.168.0.0/16 -j RETURN
  35. iptables -t nat -A CLASH -d 224.0.0.0/4 -j RETURN
  36. iptables -t nat -A CLASH -d 240.0.0.0/4 -j RETURN
  37.  
  38. # 7892是clash_redir端口
  39. iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892
  40.  
  41. iptables -t nat -A PREROUTING -p tcp -j CLASH
  42.  
  43. sleep 2
  44.  
  45. #修改dnsmasq
  46. uci delete dhcp.@dnsmasq[0].server
  47. uci add_list dhcp.@dnsmasq[0].server=$DNSSERVER
  48. uci delete dhcp.@dnsmasq[0].resolvfile
  49. uci set dhcp.@dnsmasq[0].noresolv=1
  50. uci commit dhcp
  51. /etc/init.d/dnsmasq restart > /dev/null 2>&1 &
  52. }
  53.  
  54. stop() {
  55. # 清除 iptables
  56. iptables -t nat -D PREROUTING -p tcp -j CLASH
  57. iptables -t nat -F CLASH
  58. iptables -t nat -X CLASH
  59.  
  60. #还原dnsmasq修改
  61. uci delete dhcp.@dnsmasq[0].server
  62. uci delete dhcp.@dnsmasq[0].resolvfile
  63. uci delete dhcp.@dnsmasq[0].noresolv
  64. uci commit dhcp
  65. /etc/init.d/dnsmasq restart > /dev/null 2>&1 &
  66.  
  67. sleep 1
  68. # 关闭 Clash
  69. kill -9 `pidof clash|sed "s/$$//g"` 2>/dev/null
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement