diff --git a/docker-compose.yaml b/docker-compose.yaml index 6dbe5a6..b37bc8c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -13,3 +13,9 @@ services: driver: json-file options: max-size: 50m + tor: + build: + context: ./tor/docker + ports: + - "9000:9150" + restart: always diff --git a/sent.json b/sent.json index 2bd2826..8d72d63 100644 --- a/sent.json +++ b/sent.json @@ -28,5 +28,147 @@ 593, 592, 591, - 622 + 622, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 697, + 695, + 696, + 694, + 693, + 678, + 676, + 674, + 673, + 672, + 671, + 670, + 669, + 668, + 679, + 680, + 682, + 681, + 683, + 686, + 685, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 733, + 734, + 735, + 737, + 736, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 758, + 759, + 760, + 761, + 762, + 763, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 774, + 775, + 776, + 781, + 779, + 780, + 778, + 777, + 782 ] \ No newline at end of file diff --git a/src/RgDevBot/NewsParser.cs b/src/RgDevBot/NewsParser.cs index 10531f0..140ec23 100644 --- a/src/RgDevBot/NewsParser.cs +++ b/src/RgDevBot/NewsParser.cs @@ -60,7 +60,7 @@ namespace RgDevBot var httpRequest = (HttpWebRequest)WebRequest.Create(url); httpRequest.ContentType = contentType; httpRequest.Method = "GET"; - httpRequest.Proxy = new HttpToSocks5Proxy("tor", 9000); + httpRequest.Proxy = new HttpToSocks5Proxy("192.168.1.6", 9000); var httpResponse = (HttpWebResponse)httpRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) diff --git a/tor/docker/Dockerfile b/tor/docker/Dockerfile new file mode 100644 index 0000000..2818e8b --- /dev/null +++ b/tor/docker/Dockerfile @@ -0,0 +1,13 @@ +FROM alpine:latest + +RUN apk update \ + && apk upgrade \ + && apk add tor \ + && rm /var/cache/apk/* + +EXPOSE 9150 + +ADD ./torrc /etc/tor/torrc + +USER tor +CMD /usr/bin/tor -f /etc/tor/torrc \ No newline at end of file diff --git a/tor/docker/torrc b/tor/docker/torrc new file mode 100644 index 0000000..2ac6e6d --- /dev/null +++ b/tor/docker/torrc @@ -0,0 +1,31 @@ +## The directory for keeping all the keys/etc +DataDirectory /var/lib/tor + +## Tor opens a socks proxy on port 9150 +SocksPort 0.0.0.0:9150 + +UseBridges 1 +Bridge 64.227.79.188:6666 E152B4A1489C45CB1A56648D39FABF57C80B73D1 +Bridge 83.236.208.78:9001 B7837234BF2B3C5142659AE960F32077CD30F198 + +## Entry policies to allow/deny SOCKS requests based on IP address. +## SocksPolicy accept 192.168.1.0/24 +SocksPolicy accept * + +## Logs go to stdout at level "notice" +Log notice stdout + +ControlPort 0.0.0.0:9051 +# tor --hash-password myPwD +HashedControlPassword 16:B1EC8A12CA8300DF606E7B4D315EC4EDB4E55B33A25C95A2FA457EB0A9 + +# Try for at most NUM seconds when building circuits. If the circuit isn't open in that time, give up on it. (Default: 1 minute.) +CircuitBuildTimeout 60 + +# Send a padding cell every N seconds to keep firewalls from closing our connections while Tor is not in use. +KeepalivePeriod 60 +# Force Tor to consider whether to build a new circuit every NUM seconds. +NewCircuitPeriod 10 +# How many entry guards should we keep at a time? +NumEntryGuards 8 +