From e7cafe070536ea4c8c4b8164e18251741e31882f Mon Sep 17 00:00:00 2001 From: BelPE Date: Fri, 21 Apr 2023 15:17:21 +0800 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BA=D0=BE=D0=B4=D0=B0,=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D1=81=D0=B8=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D1=8C=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D0=BD=D1=8F=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=B2=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=BC=D0=B5=D0=B6=D1=83=D1=82=D0=BE=D0=BA=20=D0=B2=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B8,=20=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D1=83=20=D0=B2=20=D1=82=D1=80?= =?UTF-8?q?=D0=B5=D0=B5=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D1=82=D0=B5=D0=BA=D1=83=D1=89=D0=B8=D0=B9=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D1=81=D0=B8=20(=D0=BA=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D1=8B=D0=B9=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B8=D0=B2=D0=B0=D0=B5=D1=82=20=D0=BF=D1=80=D0=BE=D0=B3?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D0=BC=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- out/artifacts/proxy/config/config.json | 3 +- .../logs/2023.04.13_15-25-43_startup.log | 9 ++ .../logs/2023.04.13_15-26-50_startup.log | 7 ++ .../logs/2023.04.13_15-27-02_startup.log | 7 ++ .../logs/2023.04.13_15-28-22_startup.log | 9 ++ .../logs/2023.04.13_15-36-25_startup.log | 7 ++ .../logs/2023.04.13_15-38-36_startup.log | 18 ++++ .../logs/2023.04.13_15-41-12_startup.log | 10 ++ .../logs/2023.04.13_15-49-32_startup.log | 12 +++ .../logs/2023.04.21_15-02-47_startup.log | 11 +++ out/artifacts/proxy/proxy.jar | Bin 58321 -> 58534 bytes out/production/proxy/org/proxy/Main$1.class | Bin 1175 -> 1206 bytes out/production/proxy/org/proxy/Main$2.class | Bin 951 -> 795 bytes out/production/proxy/org/proxy/Main$3$1.class | Bin 0 -> 1122 bytes out/production/proxy/org/proxy/Main$3.class | Bin 1072 -> 1011 bytes out/production/proxy/org/proxy/Main$4.class | Bin 954 -> 0 bytes out/production/proxy/org/proxy/Main.class | Bin 7116 -> 7050 bytes .../proxy/org/proxy/loadConfig.class | Bin 3308 -> 3505 bytes src/org/proxy/Main.java | 92 ++++++++---------- src/org/proxy/loadConfig.java | 7 ++ 20 files changed, 138 insertions(+), 54 deletions(-) create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-25-43_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-26-50_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-27-02_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-28-22_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-36-25_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-38-36_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-41-12_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.13_15-49-32_startup.log create mode 100644 out/artifacts/proxy/logs/2023.04.21_15-02-47_startup.log create mode 100644 out/production/proxy/org/proxy/Main$3$1.class delete mode 100644 out/production/proxy/org/proxy/Main$4.class diff --git a/out/artifacts/proxy/config/config.json b/out/artifacts/proxy/config/config.json index e96e519..802bfbb 100644 --- a/out/artifacts/proxy/config/config.json +++ b/out/artifacts/proxy/config/config.json @@ -3,5 +3,6 @@ "proxyList" : [ "http://ideco.mcs.br/wpad.dat", "http://proxy.mcs.br:8080/array.dll?Get.Routing.Script" - ] + ], + "setRepeatTimeMs" : "60000" } \ No newline at end of file diff --git a/out/artifacts/proxy/logs/2023.04.13_15-25-43_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-25-43_startup.log new file mode 100644 index 0000000..b8914d5 --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-25-43_startup.log @@ -0,0 +1,9 @@ +[2023-04-13 15:25:44] [Config Loading] Port loaded: 7458 +[2023-04-13 15:25:44] [BindSocket] Socket binded +[2023-04-13 15:25:44] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:25:44] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:25:44] [SystemTray] System tray launched +[2023-04-13 15:26:10] [Program] Closing server socket... +[2023-04-13 15:26:10] [Program] Exiting program diff --git a/out/artifacts/proxy/logs/2023.04.13_15-26-50_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-26-50_startup.log new file mode 100644 index 0000000..d31d6bb --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-26-50_startup.log @@ -0,0 +1,7 @@ +[2023-04-13 15:26:50] [Config Loading] Port loaded: 7458 +[2023-04-13 15:26:50] [BindSocket] Socket binded +[2023-04-13 15:26:50] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:26:50] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:26:50] [SystemTray] System tray launched diff --git a/out/artifacts/proxy/logs/2023.04.13_15-27-02_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-27-02_startup.log new file mode 100644 index 0000000..5317a2a --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-27-02_startup.log @@ -0,0 +1,7 @@ +[2023-04-13 15:27:02] [Config Loading] Port loaded: 7458 +[2023-04-13 15:27:02] [BindSocket] Socket binded +[2023-04-13 15:27:02] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:27:02] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:27:03] [SystemTray] System tray launched diff --git a/out/artifacts/proxy/logs/2023.04.13_15-28-22_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-28-22_startup.log new file mode 100644 index 0000000..91d721a --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-28-22_startup.log @@ -0,0 +1,9 @@ +[2023-04-13 15:28:22] [Config Loading] Port loaded: 7458 +[2023-04-13 15:28:22] [BindSocket] Socket binded +[2023-04-13 15:28:22] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:28:22] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:28:22] [SystemTray] System tray launched +[2023-04-13 15:31:01] [Program] Closing server socket... +[2023-04-13 15:31:01] [Program] Exiting program diff --git a/out/artifacts/proxy/logs/2023.04.13_15-36-25_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-36-25_startup.log new file mode 100644 index 0000000..2b74b59 --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-36-25_startup.log @@ -0,0 +1,7 @@ +[2023-04-13 15:36:25] [Config Loading] Port loaded: 7458 +[2023-04-13 15:36:25] [BindSocket] Socket binded +[2023-04-13 15:36:25] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:36:25] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:36:25] [SystemTray] System tray launched diff --git a/out/artifacts/proxy/logs/2023.04.13_15-38-36_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-38-36_startup.log new file mode 100644 index 0000000..0e48fde --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-38-36_startup.log @@ -0,0 +1,18 @@ +[2023-04-13 15:38:36] [Config Loading] Port loaded: 7458 +[2023-04-13 15:38:36] [BindSocket] Socket binded +[2023-04-13 15:38:36] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:38:36] [Config Loading] Repeat time loaded: 10000 +[2023-04-13 15:38:36] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:38:36] [SystemTray] System tray launched +[2023-04-13 15:38:50] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:39:01] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:39:11] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:39:21] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:39:47] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:39:57] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:40:07] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:40:18] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:41:04] [Program] Closing server socket... +[2023-04-13 15:41:04] [Program] Exiting program diff --git a/out/artifacts/proxy/logs/2023.04.13_15-41-12_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-41-12_startup.log new file mode 100644 index 0000000..feada60 --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-41-12_startup.log @@ -0,0 +1,10 @@ +[2023-04-13 15:41:12] [Config Loading] Port loaded: 7458 +[2023-04-13 15:41:12] [BindSocket] Socket binded +[2023-04-13 15:41:12] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:41:12] [Config Loading] Repeat time loaded: 60000 +[2023-04-13 15:41:12] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:41:12] [SystemTray] System tray launched +[2023-04-13 15:41:21] [Program] Closing server socket... +[2023-04-13 15:41:21] [Program] Exiting program diff --git a/out/artifacts/proxy/logs/2023.04.13_15-49-32_startup.log b/out/artifacts/proxy/logs/2023.04.13_15-49-32_startup.log new file mode 100644 index 0000000..0ab440e --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.13_15-49-32_startup.log @@ -0,0 +1,12 @@ +[2023-04-13 15:49:33] [Config Loading] Port loaded: 7458 +[2023-04-13 15:49:33] [BindSocket] Socket binded +[2023-04-13 15:49:33] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-13 15:49:33] [Config Loading] Repeat time loaded: 60000 +[2023-04-13 15:49:33] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:49:33] [SystemTray] System tray launched +[2023-04-13 15:49:37] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:50:37] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-13 15:50:42] [Program] Closing server socket... +[2023-04-13 15:50:42] [Program] Exiting program diff --git a/out/artifacts/proxy/logs/2023.04.21_15-02-47_startup.log b/out/artifacts/proxy/logs/2023.04.21_15-02-47_startup.log new file mode 100644 index 0000000..36acbc1 --- /dev/null +++ b/out/artifacts/proxy/logs/2023.04.21_15-02-47_startup.log @@ -0,0 +1,11 @@ +[2023-04-21 15:02:47] [Config Loading] Port loaded: 7458 +[2023-04-21 15:02:47] [BindSocket] Socket binded +[2023-04-21 15:02:47] [BindSocket] Local Socket Address: localhost/127.0.0.1:7458 +[2023-04-21 15:02:47] [Config Loading] Repeat time loaded: 60000 +[2023-04-21 15:02:47] [Config Loading] Proxy list loaded. Items count: 2 + [Config Loading] Proxy list item: http://ideco.mcs.br/wpad.dat + [Config Loading] Proxy list item: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-21 15:02:47] [SystemTray] System tray launched +[2023-04-21 15:02:55] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script +[2023-04-21 15:03:01] [setProxy] Proxy is set on: http://ideco.mcs.br/wpad.dat +[2023-04-21 15:03:09] [setProxy] Proxy is set on: http://proxy.mcs.br:8080/array.dll?Get.Routing.Script diff --git a/out/artifacts/proxy/proxy.jar b/out/artifacts/proxy/proxy.jar index b77d80484c7c4c064e4bbb6320dc4d3c539f7bb9..1b5c9206df5f9eb775b77eabf77a0617bb327c9f 100644 GIT binary patch delta 8948 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 delta 8823 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 P5d8)X4z6$U&jkJpgfnMp diff --git a/out/production/proxy/org/proxy/Main$1.class b/out/production/proxy/org/proxy/Main$1.class index 477176dae74b7de27d6f58f49f40a74b2f2fe062..82f1245c3ca5eb5b6f9935413301373b98f4bccb 100644 GIT binary patch delta 356 zcmXYt$w~u36h%*UN1L?05D6Ga2!WQUiQ2|_o`;pY>;xfbP(e(HQ=)<&k%c?|AqW}- z{Q#G){TA_dYeC)nUfuWJt*XcPOWghZdHVpC*=@V;#!oQlF+{ha=kTn0Q7N6&E9E1X zJOzglk5R^2U&ikrH}qEP$3d-LZ8U?u^6B|N(P84*vr@+1WUH08O9ufKhN8w>+Ff)j zn^Y8tO?Z-j#k3=NN*KyeV_N9_6)?lBGQ%A6!m#;?7`C|3`nLUt4mrESa62kbk|HB9 z9F`+4ycAy1$2CcsQg2Apz~@%_ogQ@`nPt_J#$kcQ=%$5#TbZz=uQ9A>mV>qLka6U{ Zs?=hQ^{j#z2{zb{juPyMU3COvtzRjSEEfO( delta 331 zcmXYtyH3ME5Jk`00b`Q_p%ej<2w_A_2$=AGKSEkMx=2V=5e-3U0PzU$3oh~bV!J6!%BPa%-oqft9^2NuJ`ft`VMTmBZDmtqA%O;+AmDSX>Xn}N>UQ12?m7MxZE(zEqU&x-cg{7 z&jV#1(=FrbFW|7sTKdG`f1li0XG6Z5@^P@54kbs6x0G7?njLY593#8b(^8HDv8Rcu GSmzfwq$i~S diff --git a/out/production/proxy/org/proxy/Main$2.class b/out/production/proxy/org/proxy/Main$2.class index bd7b4ce3345b09d482b9c681443b2029ac97cdc9..36b456863472f96e9b00aa9b2387bc081b555416 100644 GIT binary patch delta 346 zcmZWl%}T>y5S)$0#xz#j+8+>Yq*YU^^xophi$cMJ!HcI*(;6xH!k4dVPa>#y37&k4 zdhqYy1Nbn4FCZ?)o4YW>470ni&*_J0bJcSG%#My6VR2_9r57kGl;UFCPRQ~jOZ58&3Rp;^XrhEN zA@^?u!H7Inb%Yo?en=?V$(f-W3|a?D`oW;nIE*Xw8h=tPZfnhQ0~-W0QX=g7k@5mh z5?1U+JfTv2uN~1<{H0Y#yU@4+^9AWgnECl9iI}{m3(y-oIYo0IXrPCFPq^O|y3_vvHa?I6Msg zBekw7WmC!Iw;DyQYL`tCWQK50sHldnWDHxgtdpv(m7E+A;|zSzNrE2}9050im}Cf< zmadcz)w*VtvZh{BHXVPx#vp5r{+x|scN#GZ@$B!kf^C%zJ^hDqhNctytgNnwH`1xknjLNcIio4Q|~4 diff --git a/out/production/proxy/org/proxy/Main$3$1.class b/out/production/proxy/org/proxy/Main$3$1.class new file mode 100644 index 0000000000000000000000000000000000000000..845690c021aa6f6e4d11d0e9b857590cd7236729 GIT binary patch literal 1122 zcmZux-BQy)6#ljp(w0yPw5Xtf8nrD-K>RPFh&a|MKVz9Xe&!)ANpUfn?d(PSKeBar#`T6Jj4*++u7)AhH3W6%S(Zeuk zJ7vA<*p1ivGB+%3R-0ky@hXO^O_Miw*qw_}%b5rvf>!fCu*#G&j)a0?6(?|#A$kyl zA>;~gO-f)$B#&;FB;puRF^ba+5l2)7_tuRq!N9T+jA2~Cgo?8`cRJ-ga=M36*EL0ZKmE;Ecu z9i0`A0r?#CYlX|XTiYnQm`Lt$Pe8VKgRG@?9 z(`GZN0;yZHOXTj)8J1Y7ZEXl=y}5x}pvcVvcMQ318H2Jx7~)5;w3!T@yHm3m0-{0b zjwQ&@m-l$_sdv?^WeI1|I#PNW}LGndul#i58&tH;=0uTTI literal 0 HcmV?d00001 diff --git a/out/production/proxy/org/proxy/Main$3.class b/out/production/proxy/org/proxy/Main$3.class index fda1d733da09fafd876e079c68b06e7af8d992e5..66022b04a99212f0577763d5bf5f1d8816d50424 100644 GIT binary patch delta 536 zcmZ8d$xgyh6g{timC_ob40XVqd=<%c=x1q>xgKZe;7i4K^5mK-UgY zj3h2y_!a(xd*f{}acJ`Hx$oX{&$+KR?H|1G_WAq*U462y8b| zmA6T`r-8^lB&RWGySQMxglG<^liLL;UZNjYP;l+IhFXf>uB43#sN^^4OfwN~q$%Yv ag$$t^9rU0%r_zCW!cOXOkSL>1ZowA~EM0j3 delta 577 zcmZut$w~u35PjWhI!xk%F>#4zaZgMfcLnhv=s{5;2nr%XFvA#;8JUa{FXjil=zs^e zt5*dNBH{=5JKoirRud0t=zd+VUe~MY5Aont-alX70L)?LTq!W+{4`qf7BqX!GK(h+ z!NHaN>~U5-$Qru3Zd-XnpG|BCv@ir@B5$fonZ@F+c4+5KLm7^>0r30p)T|hNo*LFzJ+dzBLNg z)Py>C=o>k0ADRi{&KD1tx+(U6(Rqm;I{oslpcj1<_0#5(8^9oC;uN0}Q$rX?K7l=> z{vN*7=GN3R+BY9%c>x6h61W&7scR7;d*F(=TVk)Ng&S((4m+-Aj6^<4C6JT_0>AF$ ofgz;GH!aKYWr1OVT8vQ0F^Vz5S~OrBQ<7=GG@(Kd+%ai=12vj;`Tzg` diff --git a/out/production/proxy/org/proxy/Main$4.class b/out/production/proxy/org/proxy/Main$4.class deleted file mode 100644 index dbf668c714787a65112153291ef2fae8b98cc79b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 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 delta 3677 zcmZ`*dtg)L75|;QzMGrd*DX*&d6X8Rq@`)0^pWzgV1e2ekfK<85t>UIXp@?x(mJ=O zb5jv<`fW~}n{0FI<{V0KZJ@qIH=Q^(mCen~IUn1cb2`U19m38{LSVr1NACT;@7&+{ zopXNQ`MzznFVw2fAKU*JfQ4k-uD;qh9+NZ_!a-1@gVC7LyEftAKuFazhvL0aRQg;Igp8aybw{rxHVsjpUtBQb)tbau1A z9Qh7SQ_A7hU`M6QvP^f()i4j$vf5JSszI$lorZe&_Dt|9Hoz~iQ9~yJ@?~2&ZIWa!Ue>K4h|L5M zjJ5_t{R0GAFVMq2H~X*hd;MEu-euts=PE?VS!?w6g(Lo=*5yl!E(`@#Y(bwH`js+h zpPU~h*c&53e~*e;=+|%+w#vKgGigvhZZF6kfYpU-@L7S+X^7)m`HsETbv-^WaD#>~ zFsD+-bme;7sNp8uEH7{rExv`2nIhP&}KIa@R+1NgdzZ{S|pBj!!{Cc)M;5M%|6 z$G0`yhwrfG7%Rq{lnGIurD6!*6ZpP{`|$%gQCZ^np@!XfP;O9WIrf-2AC|W&Wy%m9 z*6<^Y$S0I)PvTUjrU08e!yyIxIZdl0;ekOFqj^F zGneL-sCWst3HEw=B(;tcjdyUMxN?DZ4dZIjebC%&!GYe7qUe-d!og(YAud`6IOk~&5Z24jK zYfdF2^Q)cH<(oNvS}dD#&s~s{6vV1fYmmEV$cPY>o6U}GQZn zg8VW!-$R|UA%9-n0;k#W_^fc6otmFn;9|f53+X(X$0OpW-7^Z>!!H)f=YN$|3KYSH z=`@btw3HEzrwITR@Qe*aE;wl-xzkWBX{bD1B;eF@639!$F)ji3N!$tS8hql|aSr>K z$z*0B7p158$fHSAnD$|kbkSs{J~2c12zxd$R_c>m^r;CHwI(og;TXz0$|jGZV&yQZ z=8Rze5GMF+q{kN~u-N0aCD63ann1HhUuEOx1s*mV!G-(L!I78~dzgFyrt+cK0BbS@ zHB1gDgB9gWU=EKe*rJkc=Cf55N-!6*Ie(R$)oRpW0c!aWt4oGb%@j+JM^oc8jrm&9 zLPdCx;hboq=~T?lvd~B+G=uY8fLc0-X0qE^Y*7HqamKd^Y!jS(L8Typ20fYdlL_I| zK9zRMi|k9~giX>fYf0dWyPBNfvy;$1tDKZY$GdapG%cNF2)A><~<5o@kyjuVKr z*%pmqpkowQ`)uX=@EL;7?zZp4b%dR$GvB^Q+^Dzt9Antt;dYE-hfmyKCATOW!I#{^ z?MUFuBe=_LbBht&vu^140n} zGvz%-c2e*hY{~NO-~z!cHW$u`g~-Dq=xAi6EkP;H<03EPtITq?Siz%aY~;?@ix%{u zm5=&1T#J=_bg#lKETKEG9{2F6cpslv53uDh-#VUwfmb;H+9ycYFLqX;s&Z^XghOkN&zy_8mgmu zc6SVu$wv)PXaVQQ-1{lGg)BK!qZ{Bl3Y`@?{wOqoEypndj-+6>2wcN*9T2!4_ymjM zM^P`Z{U~w-Ejo%R0;Bfh9HjF!>+QVEYl5Nq^XHV))XsMlZZ~GXs^fsnex;7#AS?D~ zEgqH*(>mF-wnE|H(oHMQ0}Gu?jcnwkC1-;<#4x`&6XquV@{SWQr=plQtTdUWoKv$; zy2kKQ2RG1HTFXvj6K88Db|rBpq-<$vx)Y>$@tvH`I~%XV%^>VWYT~@6 zntCIr$V^g>9)C4~-+1=pcL2Yf?8Dj29IR72_VQN`XYlx&6u(mnu#6e5IMHsnA)3e> zvu;A`ucu)tS%DPnD8nYWC+(wxI9sNgmWk5*|4`mI3(6ym@+hM`_PsDw7xxeDNNKNjyJ=JAEOFF`3gkHB*FQPSsRe$vxfNYyuX)AeWQ-)+!!a zXf<8HPnF|3%y-a3I7n-FJdPc-GuMvf|0T))%gB2LFL^kV2l;9K4y7LaVd{4{^`H&3 Ikpgi47h9C@wg3PC diff --git a/out/production/proxy/org/proxy/loadConfig.class b/out/production/proxy/org/proxy/loadConfig.class index 343d0a16ba7d48f6d6e96916a0e8e232cc52c081..bc74447bded1eeb6e22c384bfac9b699b5956c92 100644 GIT binary patch delta 933 zcma)4NlX(_82(;cc*C@mSX`)RnMl+KF~mSk#AssJg9;&1Ma7q7;|lUFq!JP|_tW*QW3W|IHSd+*!+f988InXiAGo_G&n1KuU| z-<~`T-2yoY(`qt1&4{%v+F@=<1mICqp3jSq3*@#%c1KF0@shfRs_va;rxlIIB!<+_ zi~%vM;+fz4*}Gk0mf7Llz7klF4rf?Q_m3#xtBb|Vu8Q_ZB4H*Z-U=*N zzqFA0Dy3UuT>a3(wGsju$Ykwh+a+8D*NmcZh$LTJ=wr37fgJ2*^`!yWhyC1Tp#qge z^{Te4u;^1GSp`)#st6uF2Kq6;T{afs01lEFgcpZ!n2ZorkKicWI7UP!PX=*3>6Q47t`uzFfPt0D>No%RV}ovM$Am)zQhAOH1Wv6UOZNx%rD!X3Iv3-@LV9$ zTPT*@e4(%3>+f=fg_mmH+TQ+JAlh3jREORCK&k8wl)XV_1)SW_kXP)^_mxUs$;5&( z?X*!BNGfS3)e$?^6M{exI#$@;F3y5;F#Qpt&P4!KMx6$lG0f;R1UQZp+}Y^H0jer$ z!R`=MwPL3ZYE>Erhl>%MNqCQgh?twJek4_d0|%2yqwIE zH!4$^wW^Zt2Cqhk1@Q-)Omei}AbX1Lo!IERm*io(Q{lFwYu&hr<1Egxp8kafCx#t3 zk6C(?NZ|r5(yQ6c2&}?2amhqh{ATm(OI(KMmzWFh&gsXAvN(`o%p!sgw4&30s1~XW zZ1pb*W}>(P#Zv!Y_bRTjrHYC<$JlVuY1^Y4c6rvtXS+^E6Dd9aDEmpdLCQ_4^jAcn zPi}ElQ{SAHL+j~t)C6#wgggG~F6KFJA@3gbPyG1Ik1zcA3U8Q~%)P}syhq|M diff --git a/src/org/proxy/Main.java b/src/org/proxy/Main.java index 3da679e..aa58ae2 100644 --- a/src/org/proxy/Main.java +++ b/src/org/proxy/Main.java @@ -13,13 +13,15 @@ import java.util.Locale; import static javax.swing.JOptionPane.showMessageDialog; import static org.dhaverdLogs.DhaverdLogs.*; -import static org.proxy.loadConfig.getProxyList; -import static org.proxy.loadConfig.getSocketPort; +import static org.proxy.loadConfig.*; public class Main { public static boolean isLinux = System.getProperty("os.name").toLowerCase(Locale.ROOT).contains("linux"); public static ServerSocket serverSocket; + public static int repeatTime; + + public static TrayIcon trayIcon = null; static { try { @@ -29,13 +31,13 @@ public class Main { } } - public Main() throws IOException { - } + public static Thread currentThread = null; public static void main(String[] args) throws IOException, ParseException { setLogDir("logs"); setLogName("startup"); bindSocket(); + repeatTime = getRepeatTime(); systemTray(); } @@ -77,22 +79,13 @@ public class Main { proxy.addActionListener(proxyListener(prox)); trayMenu.add(proxy); } - /* - PopupMenu trayMenu = new PopupMenu(); - MenuItem proxyOn = new MenuItem("Proxy On"); - proxyOn.setFont(trayFont); - proxyOn.addActionListener(proxyOnListener()); - MenuItem proxyOff = new MenuItem("Proxy Off"); - proxyOff.setFont(trayFont); - proxyOff.addActionListener(proxyOffListener()); - */ + MenuItem stopbutton = new MenuItem("Stop"); + stopbutton.setFont(trayFont); + stopbutton.addActionListener(stopListener()); + trayMenu.add(stopbutton); MenuItem trayExit = new MenuItem("Exit"); trayExit.setFont(trayFont); trayExit.addActionListener(trayExitListener()); - /* - trayMenu.add(proxyOn); - trayMenu.add(proxyOff); - */ trayMenu.add(trayExit); Image icon; if (isLinux){ @@ -100,7 +93,7 @@ public class Main { } else { icon = Toolkit.getDefaultToolkit().getImage("res" + osSeparator + "icon.png"); } - TrayIcon trayIcon = new TrayIcon(icon, "Proxy", trayMenu); + trayIcon = new TrayIcon(icon, "Current proxy: proxy is off", trayMenu); if (isLinux){ trayIcon.setImageAutoSize(false); } else { @@ -126,49 +119,50 @@ public class Main { } catch (IOException ex) { exeptionActions("TrayExitListener", ex); } + closeThread(); System.exit(0); } }; return listener; } - - public static ActionListener proxyOnListener() { + public static ActionListener stopListener() { ActionListener listener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - try { - setProxyOn(); - } catch (IOException | InterruptedException ex) { - exeptionActions("ProxyOn", ex); - } + closeThread(); + trayIcon.setToolTip("Current proxy: proxy is off"); } }; return listener; } + public static void closeThread(){ + if (currentThread != null){ + currentThread.stop(); + } + currentThread = null; + } public static ActionListener proxyListener(String proxyStr) { ActionListener listener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - try { - setProxy(proxyStr); - } catch (IOException | InterruptedException ex) { - exeptionActions("ProxyOn", ex); - } - } - }; - return listener; - } - - public static ActionListener proxyOffListener() { - ActionListener listener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - try { - setProxyOff(); - } catch (IOException | InterruptedException ex) { - exeptionActions("ProxyOff", ex); + if (currentThread != null){ + currentThread.stop(); } + currentThread = new Thread(new Runnable() { + @Override + public void run() { + while(true){ + try { + setProxy(proxyStr); + Thread.sleep(repeatTime); + } catch (InterruptedException | IOException ex) { + exeptionActions(proxyStr, ex); + } + } + } + }); + currentThread.start(); } }; return listener; @@ -177,16 +171,8 @@ public class Main { public static void setProxy(String proxyStr) throws IOException, InterruptedException { execute("reg delete \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /f"); execute("reg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /t REG_SZ /d \"" + proxyStr + "\""); - } - - public static void setProxyOn() throws IOException, InterruptedException { - execute("reg delete \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /f"); - execute("reg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /t REG_SZ /d \"http://proxy.mcs.br:8080/array.dll?Get.Routing.Script\""); - } - - public static void setProxyOff() throws IOException, InterruptedException { - execute("reg delete \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /f"); - execute("reg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /t REG_SZ /d \"http://ideco.mcs.br/wpad.dat\""); + setLog("setProxy", "Proxy is set on: " + proxyStr, true, false); + trayIcon.setToolTip("Current proxy: " + proxyStr); } public static void execute(String command) throws IOException, InterruptedException { diff --git a/src/org/proxy/loadConfig.java b/src/org/proxy/loadConfig.java index a26cf55..ca90b31 100644 --- a/src/org/proxy/loadConfig.java +++ b/src/org/proxy/loadConfig.java @@ -64,4 +64,11 @@ public class loadConfig { return result; } + public static int getRepeatTime() throws IOException, ParseException { + JSONObject jo = getJsonObjConfig(); + String result = String.valueOf(jo.get("setRepeatTimeMs")); + setLog("Config Loading", "Repeat time loaded: " + result, true, false); + return Integer.parseInt(result); + } + }