powerdlz23 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/Spider/README.md +19 -0
  2. package/Spider/domain.py +18 -0
  3. package/Spider/general.py +51 -0
  4. package/Spider/link_finder.py +25 -0
  5. package/Spider/main.py +50 -0
  6. package/Spider/spider.py +74 -0
  7. package/crawler/.formatter.exs +5 -0
  8. package/crawler/.github/workflows/ci.yml +29 -0
  9. package/crawler/.recode.exs +33 -0
  10. package/crawler/.tool-versions +2 -0
  11. package/crawler/CHANGELOG.md +82 -0
  12. package/crawler/README.md +198 -0
  13. package/crawler/architecture.svg +4 -0
  14. package/crawler/config/config.exs +9 -0
  15. package/crawler/config/dev.exs +5 -0
  16. package/crawler/config/test.exs +5 -0
  17. package/crawler/examples/google_search/scraper.ex +37 -0
  18. package/crawler/examples/google_search/url_filter.ex +11 -0
  19. package/crawler/examples/google_search.ex +77 -0
  20. package/crawler/lib/crawler/dispatcher/worker.ex +14 -0
  21. package/crawler/lib/crawler/dispatcher.ex +20 -0
  22. package/crawler/lib/crawler/fetcher/header_preparer.ex +60 -0
  23. package/crawler/lib/crawler/fetcher/modifier.ex +45 -0
  24. package/crawler/lib/crawler/fetcher/policer.ex +77 -0
  25. package/crawler/lib/crawler/fetcher/recorder.ex +55 -0
  26. package/crawler/lib/crawler/fetcher/requester.ex +32 -0
  27. package/crawler/lib/crawler/fetcher/retrier.ex +43 -0
  28. package/crawler/lib/crawler/fetcher/url_filter.ex +26 -0
  29. package/crawler/lib/crawler/fetcher.ex +81 -0
  30. package/crawler/lib/crawler/http.ex +7 -0
  31. package/crawler/lib/crawler/linker/path_builder.ex +71 -0
  32. package/crawler/lib/crawler/linker/path_expander.ex +59 -0
  33. package/crawler/lib/crawler/linker/path_finder.ex +106 -0
  34. package/crawler/lib/crawler/linker/path_offliner.ex +59 -0
  35. package/crawler/lib/crawler/linker/path_prefixer.ex +46 -0
  36. package/crawler/lib/crawler/linker.ex +173 -0
  37. package/crawler/lib/crawler/options.ex +127 -0
  38. package/crawler/lib/crawler/parser/css_parser.ex +37 -0
  39. package/crawler/lib/crawler/parser/guarder.ex +38 -0
  40. package/crawler/lib/crawler/parser/html_parser.ex +41 -0
  41. package/crawler/lib/crawler/parser/link_parser/link_expander.ex +32 -0
  42. package/crawler/lib/crawler/parser/link_parser.ex +50 -0
  43. package/crawler/lib/crawler/parser.ex +122 -0
  44. package/crawler/lib/crawler/queue_handler.ex +45 -0
  45. package/crawler/lib/crawler/scraper.ex +28 -0
  46. package/crawler/lib/crawler/snapper/dir_maker.ex +45 -0
  47. package/crawler/lib/crawler/snapper/link_replacer.ex +95 -0
  48. package/crawler/lib/crawler/snapper.ex +82 -0
  49. package/crawler/lib/crawler/store/counter.ex +19 -0
  50. package/crawler/lib/crawler/store/page.ex +7 -0
  51. package/crawler/lib/crawler/store.ex +87 -0
  52. package/crawler/lib/crawler/worker.ex +62 -0
  53. package/crawler/lib/crawler.ex +91 -0
  54. package/crawler/mix.exs +78 -0
  55. package/crawler/mix.lock +40 -0
  56. package/crawler/test/fixtures/introducing-elixir.jpg +0 -0
  57. package/crawler/test/integration_test.exs +135 -0
  58. package/crawler/test/lib/crawler/dispatcher/worker_test.exs +7 -0
  59. package/crawler/test/lib/crawler/dispatcher_test.exs +5 -0
  60. package/crawler/test/lib/crawler/fetcher/header_preparer_test.exs +7 -0
  61. package/crawler/test/lib/crawler/fetcher/policer_test.exs +71 -0
  62. package/crawler/test/lib/crawler/fetcher/recorder_test.exs +9 -0
  63. package/crawler/test/lib/crawler/fetcher/requester_test.exs +9 -0
  64. package/crawler/test/lib/crawler/fetcher/retrier_test.exs +7 -0
  65. package/crawler/test/lib/crawler/fetcher/url_filter_test.exs +7 -0
  66. package/crawler/test/lib/crawler/fetcher_test.exs +153 -0
  67. package/crawler/test/lib/crawler/http_test.exs +47 -0
  68. package/crawler/test/lib/crawler/linker/path_builder_test.exs +7 -0
  69. package/crawler/test/lib/crawler/linker/path_expander_test.exs +7 -0
  70. package/crawler/test/lib/crawler/linker/path_finder_test.exs +7 -0
  71. package/crawler/test/lib/crawler/linker/path_offliner_test.exs +7 -0
  72. package/crawler/test/lib/crawler/linker/path_prefixer_test.exs +7 -0
  73. package/crawler/test/lib/crawler/linker_test.exs +7 -0
  74. package/crawler/test/lib/crawler/options_test.exs +7 -0
  75. package/crawler/test/lib/crawler/parser/css_parser_test.exs +7 -0
  76. package/crawler/test/lib/crawler/parser/guarder_test.exs +7 -0
  77. package/crawler/test/lib/crawler/parser/html_parser_test.exs +7 -0
  78. package/crawler/test/lib/crawler/parser/link_parser/link_expander_test.exs +7 -0
  79. package/crawler/test/lib/crawler/parser/link_parser_test.exs +7 -0
  80. package/crawler/test/lib/crawler/parser_test.exs +8 -0
  81. package/crawler/test/lib/crawler/queue_handler_test.exs +7 -0
  82. package/crawler/test/lib/crawler/scraper_test.exs +7 -0
  83. package/crawler/test/lib/crawler/snapper/dir_maker_test.exs +7 -0
  84. package/crawler/test/lib/crawler/snapper/link_replacer_test.exs +7 -0
  85. package/crawler/test/lib/crawler/snapper_test.exs +9 -0
  86. package/crawler/test/lib/crawler/worker_test.exs +5 -0
  87. package/crawler/test/lib/crawler_test.exs +295 -0
  88. package/crawler/test/support/test_case.ex +24 -0
  89. package/crawler/test/support/test_helpers.ex +28 -0
  90. package/crawler/test/test_helper.exs +7 -0
  91. package/package.json +1 -1
  92. package/pto/CryptoNoter/.gitattributes +2 -0
  93. package/pto/CryptoNoter/CryptoNight.md +444 -0
  94. package/pto/CryptoNoter/CryptoNight.txt +364 -0
  95. package/pto/CryptoNoter/LICENSE +21 -0
  96. package/pto/CryptoNoter/README.md +178 -0
  97. package/pto/CryptoNoter/banner +4 -0
  98. package/pto/CryptoNoter/config.json +8 -0
  99. package/pto/CryptoNoter/install.sh +60 -0
  100. package/pto/CryptoNoter/package-lock.json +33 -0
  101. package/pto/CryptoNoter/package.json +16 -0
  102. package/pto/CryptoNoter/server.js +225 -0
  103. package/pto/CryptoNoter/web/demo.html +81 -0
  104. package/pto/CryptoNoter/web/index.html +1 -0
  105. package/pto/CryptoNoter/web/lib/cryptonight-asmjs.min.js +16891 -0
  106. package/pto/CryptoNoter/web/lib/cryptonight-asmjs.min.js.mem +0 -0
  107. package/pto/CryptoNoter/web/lib/cryptonight.wasm +0 -0
  108. package/pto/CryptoNoter/web/processor.js +496 -0
  109. package/pto/CryptoNoter/web/worker.js +5549 -0
  110. package/pto/crypto/README.md +1 -0
  111. package/pto/crypto/aes256cbc/README.md +59 -0
  112. package/pto/crypto/aes256cbc/aes256cbc.go +172 -0
  113. package/pto/crypto/aes256cbc/aes256cbc_test.go +105 -0
  114. package/pto/crypto/aes256cbc/examples_test.go +30 -0
  115. package/pto/crypto/dh64/README.md +84 -0
  116. package/pto/crypto/dh64/c/dh64.c +75 -0
  117. package/pto/crypto/dh64/c/dh64.h +12 -0
  118. package/pto/crypto/dh64/c/dh64_test.c +30 -0
  119. package/pto/crypto/dh64/csharp/dh64.cs +77 -0
  120. package/pto/crypto/dh64/csharp/dh64_test.cs +1074 -0
  121. package/pto/crypto/dh64/go/dh64.go +72 -0
  122. package/pto/crypto/dh64/go/dh64_test.go +1064 -0
  123. package/pto/crypto/mt19937/README.md +30 -0
  124. package/pto/crypto/mt19937/c/mt19937-64.c +180 -0
  125. package/pto/crypto/mt19937/c/mt19937-64.h +96 -0
  126. package/pto/crypto/mt19937/c/mt19937-64.out.txt +401 -0
  127. package/pto/crypto/mt19937/c/mt19937-64test.c +78 -0
  128. package/pto/crypto/mt19937/csharp/mt19937.cs +139 -0
  129. package/pto/crypto/mt19937/csharp/mt19937_test.cs +574 -0
  130. package/pto/crypto/mt19937/go/COPYING +674 -0
  131. package/pto/crypto/mt19937/go/README.rst +103 -0
  132. package/pto/crypto/mt19937/go/doc.go +35 -0
  133. package/pto/crypto/mt19937/go/example.go +32 -0
  134. package/pto/crypto/mt19937/go/mt19937.go +149 -0
  135. package/pto/crypto/mt19937/go/mt19937_test.go +614 -0
  136. package/pto/crypto/rc4/README.md +14 -0
  137. package/pto/crypto/rc4/csharp/rc4.cs +119 -0
  138. package/pto/crypto/rc4/csharp/rc4_echo_client.cs +78 -0
  139. package/pto/crypto/rc4/go/rc4_echo_client.go +102 -0
  140. package/pto/crypto/rc4/go/rc4_echo_server.go +110 -0
  141. package/rubyretriever/.rspec +2 -0
  142. package/rubyretriever/.travis.yml +7 -0
  143. package/rubyretriever/Gemfile +3 -0
  144. package/rubyretriever/Gemfile.lock +64 -0
  145. package/rubyretriever/LICENSE +20 -0
  146. package/rubyretriever/Rakefile +7 -0
  147. package/rubyretriever/bin/rr +79 -0
  148. package/rubyretriever/lib/retriever/cli.rb +25 -0
  149. package/rubyretriever/lib/retriever/core_ext.rb +13 -0
  150. package/rubyretriever/lib/retriever/fetch.rb +268 -0
  151. package/rubyretriever/lib/retriever/fetchfiles.rb +71 -0
  152. package/rubyretriever/lib/retriever/fetchseo.rb +18 -0
  153. package/rubyretriever/lib/retriever/fetchsitemap.rb +43 -0
  154. package/rubyretriever/lib/retriever/link.rb +47 -0
  155. package/rubyretriever/lib/retriever/openuri_redirect_patch.rb +8 -0
  156. package/rubyretriever/lib/retriever/page.rb +104 -0
  157. package/rubyretriever/lib/retriever/page_iterator.rb +21 -0
  158. package/rubyretriever/lib/retriever/target.rb +47 -0
  159. package/rubyretriever/lib/retriever/version.rb +4 -0
  160. package/rubyretriever/lib/retriever.rb +15 -0
  161. package/rubyretriever/readme.md +166 -0
  162. package/rubyretriever/rubyretriever.gemspec +41 -0
  163. package/rubyretriever/spec/link_spec.rb +77 -0
  164. package/rubyretriever/spec/page_spec.rb +94 -0
  165. package/rubyretriever/spec/retriever_spec.rb +84 -0
  166. package/rubyretriever/spec/spec_helper.rb +17 -0
  167. package/rubyretriever/spec/target_spec.rb +55 -0
@@ -0,0 +1,72 @@
1
+ package dh64
2
+
3
+ import (
4
+ "math/rand"
5
+ )
6
+
7
+ const (
8
+ p uint64 = 0xffffffffffffffc5
9
+ g uint64 = 5
10
+ )
11
+
12
+ func mul_mod_p(a, b uint64) uint64 {
13
+ var m uint64 = 0
14
+ for b > 0 {
15
+ if b&1 > 0 {
16
+ t := p - a
17
+ if m >= t {
18
+ m -= t
19
+ } else {
20
+ m += a
21
+ }
22
+ }
23
+ if a >= p-a {
24
+ a = a*2 - p
25
+ } else {
26
+ a = a * 2
27
+ }
28
+ b >>= 1
29
+ }
30
+ return m
31
+ }
32
+
33
+ func pow_mod_p(a, b uint64) uint64 {
34
+ if b == 1 {
35
+ return a
36
+ }
37
+ t := pow_mod_p(a, b>>1)
38
+ t = mul_mod_p(t, t)
39
+ if b%2 > 0 {
40
+ t = mul_mod_p(t, a)
41
+ }
42
+ return t
43
+ }
44
+
45
+ func powmodp(a uint64, b uint64) uint64 {
46
+ if a == 0 {
47
+ panic("DH64 zero public key")
48
+ }
49
+ if b == 0 {
50
+ panic("DH64 zero private key")
51
+ }
52
+ if a > p {
53
+ a %= p
54
+ }
55
+ return pow_mod_p(a, b)
56
+ }
57
+
58
+ func KeyPair() (privateKey, publicKey uint64) {
59
+ a := uint64(rand.Uint32())
60
+ b := uint64(rand.Uint32()) + 1
61
+ privateKey = (a << 32) | b
62
+ publicKey = PublicKey(privateKey)
63
+ return
64
+ }
65
+
66
+ func PublicKey(privateKey uint64) uint64 {
67
+ return powmodp(g, privateKey)
68
+ }
69
+
70
+ func Secret(privateKey, anotherPublicKey uint64) uint64 {
71
+ return powmodp(anotherPublicKey, privateKey)
72
+ }