質問編集履歴

1

ソースコードの追加

2020/02/15 01:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,88 @@
16
16
 
17
17
 
18
18
 
19
+ ソースコード
20
+
21
+ ```
22
+
23
+ // *** モジュールのインクルード *** //
24
+
25
+ const proxyAgent = require('proxy-agent');
26
+
27
+ const request = require('request');
28
+
29
+ const WebSocket = require('ws');
30
+
31
+
32
+
33
+ // *** プロキシの設定 *** //
34
+
35
+ let allProxyAgents = [];
36
+
37
+ let proxyAgents = [];
38
+
39
+ function getProxy() {
40
+
41
+ if (proxyAgents.length == 0) {
42
+
43
+ proxyAgents = allProxyAgents;
44
+
45
+ }
46
+
47
+ return proxyAgents.shift();
48
+
49
+ }
50
+
51
+
52
+
53
+ // *** プロキシの一覧を取得 *** //
54
+
55
+ function getProxys() {
56
+
57
+ console.log(`プロキシの一覧を取得中...`);
58
+
59
+ request('https://www.proxy-list.download/api/v1/get?type=socks5', (err, req, body) => {
60
+
61
+ let proxies = body.replace(/\r/g, '').split('\n');
62
+
63
+ proxies.forEach(proxy => {
64
+
65
+ allProxyAgents.push(new proxyAgent(`socks://${proxy}`));
66
+
67
+ });
68
+
69
+ console.log(`${proxies.length}個のプロキシが接続可能です。`);
70
+
71
+ });
72
+
73
+ }
74
+
75
+
76
+
77
+ // *** 接続 *** //
78
+
79
+ console.log('接続中...');
80
+
81
+ ws = new WebSocket(/*URL?*/, {
82
+
83
+ origin: /*???*/,
84
+
85
+ rejectUnauthorized: false,
86
+
87
+ agent: getProxy()
88
+
89
+ });
90
+
91
+ ws.on('close', function () {
92
+
93
+ console.error('終了しました。');
94
+
95
+ });
96
+
97
+ ```
98
+
99
+
100
+
19
101
  追記:
20
102
 
21
103
  スマホからの入力なので文章が見にくいかもしれません。