|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 kzyfl 于 2011-12-27 01:48 编辑
用的是灰太狼版主的ExpAuto的脚本,在这里首先对灰太狼版主表示感谢,写出这么好的脚本,现在问题是可以打开提醒页面,可以点击跳过提醒才可以上网,就是正常上网后,还得等重启路由器后才再出现提醒页面,重新断开宽带连接也不行,能不能实现每次连接宽带连接后打开网页都弹出到期页面.该如何修改呀,先谢了,脚本如下:,
ExpAuto_1[1].03提前3天通知.zip
(91.92 KB, 下载次数: 43)
/system script
remove [find name=Exp_Auto]
add name=Exp_Auto policy=\
ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source="\
# \BD\C5\B1\BE\C3\FB\B3\C6: ExpAuto\r\
\n# \BD\C5\B1\BE\B0\E6\B1\BE: 1.03\r\
\n# \BD\C5\B1\BE\D7\F7\D5\DF: Mxso\r\
\n# Email: mxsogm@gmail.com\r\
\n# QQ/TM: 84046811\r\
\n# \B0\E6\B1\BE\C8\D5\C6\DA: 2011\C4\EA1\D4\C23\C8\D5\r\
\n# \CA\CA\D3\C3\CF\B5\CD\B3: (\CA\B5\C0\FD\CE\AA PPPoE\B5\BD\C6\DA Web Pr\
oxy \B4\ED\CE\F3\D2\B3\C3\E6\CD\A8\D6\AA,\CC\E1\C7\B03\CC\EC\CD\A8\D6\AA\
\D3\C3\BB\A7,\B5\BD\C6\DA\CD\A3\D6\B9\D3\C3\BB\A7,3.30\B2\E2\CA\D4\CD\A8\
\B9\FD,\C6\E4\CB\FB\B0\E6\B1\BE\CE\B4\B2\E2\CA\D4)\r\
\n# \BD\C5\B1\BE\B9\A6\C4\DC: \B6\D4PPP\BC\B0Hotspot\D3\C3\BB\A7\C6\DA\CF\
\DE\B2\D9\D7\F7;\B4\CB\BD\C5\B1\BE\B5\C4\CA\B5\C0\FD\B6\D4\D3\C3\BB\A7\D7\
\B4\CC\AC(\BD\FB\D3\C3/\C6\F4\D3\C3)\BD\F8\D0\D0\C9\E8\D6\C3\BC\B0\CC\DE\
\B3\FD\B5\BD\C6\DA\D4\DA\CF\DF\D3\C3\BB\A7,\CC\ED\BC\D3\C6\E4\CB\FB\B9\A6\
\C4\DC\BF\C9\B2\CE\BF\BC\CF\C2\C3\E6\C0\FD\D7\D3\r\
\n# \C6\E4\CB\FB\B9\A6\C4\DC: \CD\A8\B9\FD\D7\A2\CA\CD\CC\ED\BC\D3system s\
cheduler\D0\C7\C6\DA\D6\C6\B5\C4\BD\FB\D3\C3\C6\F4\D3\C3,\D7\A2\CA\CD\B8\
\F1\CA\BD:[7\CE\BB\B2\BC\B6\FB\D6\B5]\B5\DA\D2\BB\CE\BB\CA\C7\D0\C7\C6\DA\
\C8\D5,\B5\DA\B6\FE\CE\BB\CA\C7\D0\C7\C6\DA\D2\BB,\D2\D4\B4\CB\C0\E0\CD\C6\
,E\CE\AA\C6\F4\D3\C3,D\CE\AA\BD\FB\D3\C3\r\
\n# \C0\FD:[EDDDDDE]\B4\FA\B1\ED\D6\BB\D3\D0\D6\DC\C1\F9\C8\D5\C6\F4\D3\C3\
\B8\C3scheduler,[DEEEEED]\D5\E2\B8\F6\B8\D5\BA\C3\CF\E0\B7\B4,\D6\BB\D3\D0\
\D0\C7\C6\DA\D2\BB\D6\C1\CE\E5\C6\F4\D3\C3\B8\C3scheduler;\r\
\n# \D7\A2\D2\E2:\B1\BB\C9\E8\D6\C3\D7\B4\CC\AC(\C6\F4\D3\C3/\BD\FB\D3\C3)\
\B5\C4scheduler\D4\CB\D0\D0\CA\B1\BC\E4\B2\BB\C4\DC\B5\F7\D5\FB\B5\BD\B8\
\D5\BA\C300:00:00,\D2\F2\CE\AA00:00:00\B8\D5\BA\C3\D4\DA\D6\B4\D0\D0\B4\CB\
\BD\C5\B1\BE,\CE\B4\C4\DC00:00:00\BE\CD\C9\E8\D6\C3\BA\C3\D7\B4\CC\AC\r\
\n\r\
\n# \CC\ED\BC\D3\D3\C3\BB\A7\D7\A2\CA\CD\C8\D5\C6\DA\B8\F1\CA\BD:\r\
\n# \C0\FD1:\"\D5\C5\C8\FD[20100608]\B5\BD\C6\DA\"(\CB\AB\D2\FD\BA\C5\C0\
\EF\C3\E6\CE\AA\D7\A2\CA\CD\C4\DA\C8\DD,[]\C0\EF\C3\E6\CE\AA\C8\D5\C6\DA\
\B0\CB\CE\BB\CA\FD\D7\D6),\r\
\n# \C0\FD2:\"\C0\EE\CB\C4[+365]\B5\BD\C6\DA\",[+365]\D6\B8\B5\B1\C7\B0\C8\
\D5\C6\DA\BC\D3365\CC\EC,\D4\DA\CF\C2\B4\CE\B5\F7\D3\C3\BD\C5\B1\BE\CA\B1\
\D7\A2\CA\CD\BD\AB\D7\D4\B6\AF\B1\E4\CE\AA\"\C0\EE\CB\C4[\B0\CB\CE\BB\B5\
\B1\C7\B0\C8\D5\C6\DA+365]\B5\BD\C6\DA\",\r\
\n# \BC\D9\C9\E8\B5\B1\C7\B0\C8\D5\C6\DA\CE\AA2010\C4\EA4\D4\C24\C8\D5\C1\
\A2\BC\B4\B5\F7\D3\C3\BD\C5\B1\BE\D7\A2\CA\CD\C4\DA\C8\DD\BD\AB\B1\E4\CE\
\AA\"\C0\EE\CB\C4[20100404+365]\B5\BD\C6\DA\",\D2\B2\BE\CD\CA\C72010\C4\EA\
4\D4\C24\C8\D5\B5\C4365\CC\EC\BA\F3\B5\BD\C6\DA\r\
\n# \C0\FD3:\D6\A7\B3\D6\C0\DB\BC\D3\D4\CB\CB\E3,\BC\D9\C9\E8[20090501+365\
]\BD\AB\BD\FC\B5\BD\C6\DA,\D3\C3\BB\A7\D0\F8\B7\D1\BF\C9\D2\D4\D4\DA\BA\F3\
\C3\E6\CC\ED\BC\D3+X\CC\EC,[20090501+365+180]\D5\E2\C0\EF\BC\D3180\CC\EC\r\
\n\r\
\n#\BB\F1\C8\A1\B9\AB\D4\AA\D6\C1\BD\F1\C8\D5( \$Today \B1\E4\C1\BF\CE\AA\
\B9\AB\D4\AA\D6\C1\BD\F1\D2\D1\B9\FD\B5\C4\CC\EC\CA\FD)\r\
\n:local Date [/system clock get date];:local Year ([:pick \$Date 7 11]-1)\
\r\
\n:local Month ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:p\
ick \$Date 0 3]])\r\
\n:local Day [:pick \$Date 4 6];:if ([:pick \$Date 4 5] = 0) do={:set Day \
[:pick \$Date 5 6]};:set Day (\$Day-1)\r\
\n:local leapyear 0,31,59,90,120,151,181,212,243,273,304,334,0,31,60,91,12\
1,152,182,213,244,274,305,335\r\
\n:global Today (\$Year*365+\$Year/4);:if ((\$Year-\$Year/4*4) != 3) do={:\
set Today (\$Today+[:pick \$leapyear \$Month]+\$Day)} else={:set Today (\$\
Today+[:pick \$leapyear (\$Month+12)]+\$Day)}\r\
\n:local usname;:local uspfl;:local Ccomment;:local lc;:local rc;:local Ex\
p;:local js;:local pcl;:local CYear;:local CMonth;:local CDay;:local CToda\
y\r\
\n\r\
\n#\C0\FB\D3\C3\B9\AB\D4\AA\CC\EC\CA\FD\BC\C6\CB\E3\BD\F1\CC\EC\CA\C7\D0\
\C7\C6\DA\BC\B8,0\B4\FA\B1\ED\D0\C7\C6\DA\C8\D5\r\
\n:global Week (\$Today-\$Today/7*7)\r\
\n#:log info (\"\BD\F1\CC\EC\CA\C7\D0\C7\C6\DA\" . \$Week)\r\
\n\r\
\n#scheduler\B4\A6\C0\ED\BF\AA\CA\BC\r\
\n/system scheduler\r\
\n:foreach i in=[find comment!=\"\" name!=\"ExpAuto\"] do={\r\
\n:set Ccomment [get \$i comment];:set lc [:find \$Ccomment \"[\"];:set rc\
\_[:find \$Ccomment \"]\"]\r\
\n:if ([:typeof \$lc]=\"num\" && [:typeof \$rc]=\"num\" && (\$lc+1+\$Week)\
<\$rc) do={\r\
\n:set Exp [:pick \$Ccomment (\$lc+1+\$Week)]\r\
\n:if (\$Exp=\"e\"||\$Exp=\"E\"||\$Exp=\"1\") do={:if ([get \$i disabled ]\
) do={enable \$i}}\r\
\n:if (\$Exp=\"d\"||\$Exp=\"D\"||\$Exp=\"0\") do={:if (![get \$i disabled \
]) do={disable \$i}}\r\
\n}}\r\
\n#scheduler\B4\A6\C0\ED\BD\E1\CA\F8\r\
\n\r\
\n\r\
\n#PPP\B4\A6\C0\ED\BF\AA\CA\BC\r\
\n/ppp secret\r\
\n:foreach i in=[find comment!=\"\"] do={\r\
\n:set Ccomment [get \$i comment];:set lc [:find \$Ccomment \"[\"];:set rc\
\_[:find \$Ccomment \"]\"]\r\
\n:if ([:typeof \$lc]=\"num\" && [:typeof \$rc]=\"num\" && \$lc<\$rc) do={\
\r\
\n:set Exp [:pick \$Ccomment (\$lc+1) \$rc];:set js 0;:set CToday 0\r\
\n:if ([:pick \$Exp 0 1]!=\"+\" && [:len \$Exp]>7 && [:typeof [:tonum [:pi\
ck \$Exp 0 8]]]=\"num\") do={\r\
\n:set usname [get \$i name];:set uspfl [get \$i profile];:set CYear ([:pi\
ck \$Exp 0 4]-1);:set CToday (\$CYear*365+\$CYear /4)\r\
\n:set CMonth [:pick \$Exp 4 6];:if ([:pick \$Exp 4 5] = 0) do={ :set CMon\
th [:pick \$Exp 5 6]};:set CMonth (\$CMonth-1)\r\
\n:set CDay [:pick \$Exp 6 8];:if ([:pick \$Exp 6 7] = 0) do={ :set CDay [\
:pick \$Exp 7 8]};:set CDay (\$CDay-1)\r\
\n:if ((\$CYear-\$CYear/4*4) != 3) do={:set CToday (\$CToday+[:pick \$leap\
year \$CMonth]+\$CDay)} else={:set CToday (\$CToday+[:pick \$leapyear (\$C\
Month+12)])}}\r\
\n:set pcl [:find \$Exp \"+\"];:if ([:typeof \$pcl]=\"num\" && (\$pcl>7 ||\
\_\$pcl=0) && ([:len \$Exp]-1)>\$pcl) do={\r\
\n:if (\$pcl = 0) do={:set CToday \$Today;:set CYear (\$Year+1);:set CMont\
h (\$Month+1);:set CDay (\$Day+1)\r\
\n:if ([:len \$CMonth]<2) do={:set CMonth (\"0\" . \$CMonth)};:if ([:len \
\$CDay]<2) do={:set CDay (\"0\" . \$CDay)}\r\
\nset \$i comment=([:pick \$Ccomment 0 \$lc] . \"[\" .(\$CYear . \$CMonth \
. \$CDay) . [:pick \$Exp \$pcl [:len \$Exp]] . \"]\" . [:pick \$Ccomment (\
\$rc+1) [:len \$Ccomment]])}\r\
\n:while ([:typeof [:find \$Exp \"+\"]]=\"num\") do={\r\
\n:set Exp [:pick \$Exp (\$pcl+1) [:len \$Exp]];:set pcl [:find \$Exp \"+\
\"];:if ([:typeof \$pcl]!=\"num\") do={:set pcl [:len \$Exp]}\r\
\n:set js (\$js+[:tonum [:pick \$Exp 0 \$pcl]])};:set CToday (\$CToday+\$j\
s)}\r\
\n#\C0\FD\D7\D31:\BD\FB\D3\C3\B2\A2\CC\DE\B3\F6\B5\BD\C6\DAPPP\D3\C3\BB\A7\
\r\
\n:if (\$CToday < \$Today) do={:if (![get \$i disabled ]) do={disable \$i;\
/ppp active remove [find name=\$usname]}} else={:if ([get \$i disabled ]) \
do={enable \$i}}\r\
\n#\C0\FD\D7\D32:\CC\E1\C7\B03\CC\EC\CC\DF\B3\F6\B5\BD\C6\DA\D3\C3\BB\A7\
\B2\A2\B8\F8\D3\E8\C9\E8\D6\C3\B5\BD\C6\DA\B9\E6\D4\F2\r\
\n:if ((\$CToday-3) < \$Today) do={:if (![get \$i disabled ] && [:pick \$u\
spfl 0 8]!=\"ExpAuto_\") do={\r\
\n:if ([:len [..profile find name=\"ExpAuto_\" . \$uspfl]]=0) do={..profil\
e add name=(\"ExpAuto_\" . \$uspfl) copy-from=\$uspfl address-list=ExpAuto\
_expired}\r\
\nset \$i profile=(\"ExpAuto_\" . \$uspfl);/ppp active remove [find name=\
\$usname]}} else={:if ([:pick \$uspfl 0 8]=\"ExpAuto_\") do={\r\
\n:if ([:len [..profile find name=[:pick \$uspfl 8 [:len \$uspfl]]]]=0) do\
={..profile add name=[:pick \$uspfl 8 [:len \$uspfl]] copy-from=\$uspfl ad\
dress-list=\"\"}\r\
\nset \$i profile=[:pick \$uspfl 8 [:len \$uspfl]];:foreach acus in=[/ppp \
active find name=\$usname] do={:local tempipaddr [/ppp active get \$acus a\
ddress]\r\
\n/ip firewall address-list remove [find list=ExpAuto_expired address=\$tempi\
paddr];/ip firewall address-list remove [find list=ExpAuto_allow address\
=\$tempipaddr]}}}\r\
\n#\B8\F9\BE\DD\D0\E8\D2\AA\BF\C9\CC\ED\BC\D3\BB\F2\CC\E6\BB\BB\B6\D4\D3\
\C3\BB\A7\B5\C4\B2\D9\D7\F7\C0\FD\D7\D3,\BC\D9\C9\E8\CC\E1\C7\B05\CC\EC\A3\
\AC\D4\F2\D4\DA\CC\F5\BC\FE:if ((\$CToday-5) < \$Today) do={\D6\B4\D0\D0\
\CD\A8\D6\AA\B2\D9\D7\F7\A1\AD}\r\
\n#:if ((\$CToday-5) < \$Today) do={\D6\B4\D0\D0\CD\A8\D6\AA\B2\D9\D7\F7\
\A1\AD}\r\
\n\r\
\n}}\r\
\n#PPP\B4\A6\C0\ED\BD\E1\CA\F8\r\
\n\r\
\n\r\
\n\r\
\n#Hotspot\B4\A6\C0\ED\BF\AA\CA\BC\r\
\n/ip hotspot user\r\
\n:foreach i in=[find comment!=\"\"] do={\r\
\n:set Ccomment [get \$i comment];:set lc [:find \$Ccomment \"[\"];:set rc\
\_[:find \$Ccomment \"]\"]\r\
\n:if ([:typeof \$lc]=\"num\" && [:typeof \$rc]=\"num\" && \$lc<\$rc) do={\
\r\
\n:set Exp [:pick \$Ccomment (\$lc+1) \$rc];:set js 0;:set CToday 0\r\
\n:if ([:pick \$Exp 0 1]!=\"+\" && [:len \$Exp]>7 && [:typeof [:tonum [:pi\
ck \$Exp 0 8]]]=\"num\") do={\r\
\n:set usname [get \$i name];:set uspfl [get \$i profile];:set CYear ([:pi\
ck \$Exp 0 4]-1);:set CToday (\$CYear*365+\$CYear /4)\r\
\n:set CMonth [:pick \$Exp 4 6];:if ([:pick \$Exp 4 5] = 0) do={ :set CMon\
th [:pick \$Exp 5 6]};:set CMonth (\$CMonth-1)\r\
\n:set CDay [:pick \$Exp 6 8];:if ([:pick \$Exp 6 7] = 0) do={ :set CDay [\
:pick \$Exp 7 8]};:set CDay (\$CDay-1)\r\
\n:if ((\$CYear-\$CYear/4*4) != 3) do={:set CToday (\$CToday+[:pick \$leap\
year \$CMonth]+\$CDay)} else={:set CToday (\$CToday+[:pick \$leapyear (\$C\
Month+12)])}}\r\
\n:set pcl [:find \$Exp \"+\"];:if ([:typeof \$pcl]=\"num\" && (\$pcl>7 ||\
\_\$pcl=0) && ([:len \$Exp]-1)>\$pcl) do={\r\
\n:if (\$pcl = 0) do={:set CToday \$Today;:set CYear (\$Year+1);:set CMont\
h (\$Month+1);:set CDay (\$Day+1)\r\
\n:if ([:len \$CMonth]<2) do={:set CMonth (\"0\" . \$CMonth)};:if ([:len \
\$CDay]<2) do={:set CDay (\"0\" . \$CDay)}\r\
\nset \$i comment=([:pick \$Ccomment 0 \$lc] . \"[\" .(\$CYear . \$CMonth \
. \$CDay) . [:pick \$Exp \$pcl [:len \$Exp]] . \"]\" . [:pick \$Ccomment (\
\$rc+1) [:len \$Ccomment]])}\r\
\n:while ([:typeof [:find \$Exp \"+\"]]=\"num\") do={\r\
\n:set Exp [:pick \$Exp (\$pcl+1) [:len \$Exp]];:set pcl [:find \$Exp \"+\
\"];:if ([:typeof \$pcl]!=\"num\") do={:set pcl [:len \$Exp]}\r\
\n:set js (\$js+[:tonum [:pick \$Exp 0 \$pcl]])};:set CToday (\$CToday+\$j\
s)}\r\
\n#\C0\FD\D7\D31:\C9\E8\D6\C3Hotspot\D3\C3\BB\A7\D7\B4\CC\AC(\BD\FB\D3\C3\
\B2\A2\CC\DE\B3\FD\BA\CD\C6\F4\D3\C3)\r\
\n:if (\$CToday < \$Today) do={:if (![get \$i disabled ]) do={disable \$i;\
/ip hotspot active remove [find name=\$usname]}} else={:if ([get \$i disab\
led ]) do={enable \$i}}\r\
\n#:if ((\$CToday-5) < \$Today) do={\D6\B4\D0\D0\B5\C4\B2\D9\D7\F7\A1\AD}\
\r\
\n\r\
\n}}\r\
\n#Hotspot\B4\A6\C0\ED\BD\E1\CA\F8\r\
\n"
/system scheduler
remove [find name=ExpAuto]
add comment="" disabled=no interval=1d name=ExpAuto on-event=Exp_Auto policy=\
reboot,read,write,policy,test,password,sniff,sensitive start-date=\
jan/01/1970 start-time=00:00:00
/system clock set time-zone-name=Asia/Hong_Kong
/system ntp client set enabled=yes mode=unicast primary-ntp=129.6.15.28 secondary-ntp=129.6.15.29
/ppp profile remove [find name=expired_profile]
/ip pool remove [find name=expired]
/ip firewall filter
remove [find comment~"ExpAuto"]
/ip firewall nat
remove [find comment~"ExpAuto"]
add action=accept chain=dstnat comment="ExpAuto allow list 80 port access" disabled=no dst-port=80 protocol=tcp src-address-list=ExpAuto_allow
add action=redirect chain=dstnat comment="ExpAuto redirect 80 port" disabled=no dst-port=80 protocol=tcp src-address-list=ExpAuto_expired to-ports=9797
move [find comment~"ExpAuto"] 0
/ip firewall mangle
remove [find comment~"ExpAuto"]
add action=add-src-to-address-list address-list=ExpAuto_allow address-list-timeout=3h chain=prerouting comment="ExpAuto touch to allow list & Timeout" disabled=no dst-port=20189 protocol=tcp src-address-list=ExpAuto_expired
add action=accept chain=prerouting comment="ExpAuto allow expired notice" disabled=no dst-port=80 protocol=tcp src-address-list=ExpAuto_expired
move [find comment~"ExpAuto"] 0
/ip proxy
:if ([:len [/ip proxy access find comment~"ExpAuto"]]>0) do={set enabled=yes port=9797}
:local proxyport [get port]
:if ([get enabled]=no) do={
:if ([:typeof [:find $proxyport 9797]]="nil") do={set enabled=yes port=9797}
} else={
:if ([:typeof [:find $proxyport 9797]]="nil") do={set enabled=yes port=([:tostr $proxyport] . ",9797")}
}
/ip proxy access
remove [find comment~"ExpAuto"]
add action=deny comment="ExpAuto drop access" disabled=no local-port=9797
/ppp profile
:foreach cl in=[find name~"ExpAuto_" address-list=expired_list] do={set $cl address-list=ExpAuto_expired}
|
|