1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = exports.WebshareIoProvider = void 0;
|
9 |
|
10 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
11 |
|
12 | var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13 |
|
14 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
15 |
|
16 | var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
17 |
|
18 | var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
19 |
|
20 | var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
21 |
|
22 | var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
23 |
|
24 | var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
25 |
|
26 | var _err = _interopRequireDefault(require("@lskjs/err"));
|
27 |
|
28 | var _axios = _interopRequireDefault(require("axios"));
|
29 |
|
30 | var _ProxyProvider2 = require("../ProxyProvider");
|
31 |
|
32 | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
33 |
|
34 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
35 |
|
36 |
|
37 |
|
38 |
|
39 | var WebshareIoProvider = function (_ProxyProvider) {
|
40 | (0, _inherits2["default"])(WebshareIoProvider, _ProxyProvider);
|
41 |
|
42 | var _super = _createSuper(WebshareIoProvider);
|
43 |
|
44 | function WebshareIoProvider() {
|
45 | var _this;
|
46 |
|
47 | (0, _classCallCheck2["default"])(this, WebshareIoProvider);
|
48 |
|
49 | for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
50 | args[_key] = arguments[_key];
|
51 | }
|
52 |
|
53 | _this = _super.call.apply(_super, [this].concat(args));
|
54 | _this.provider = 'webshareio';
|
55 | _this.baseURL = 'https://proxy.webshare.io/api';
|
56 | return _this;
|
57 | }
|
58 |
|
59 | (0, _createClass2["default"])(WebshareIoProvider, [{
|
60 | key: "createClient",
|
61 | value: function () {
|
62 | var _createClient = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee() {
|
63 | return _regenerator["default"].wrap(function _callee$(_context) {
|
64 | while (1) {
|
65 | switch (_context.prev = _context.next) {
|
66 | case 0:
|
67 | if (this.config.apiKey) {
|
68 | _context.next = 2;
|
69 | break;
|
70 | }
|
71 |
|
72 | throw new _err["default"]('!config.apiKey');
|
73 |
|
74 | case 2:
|
75 | return _context.abrupt("return", _axios["default"].create({
|
76 | baseURL: this.baseURL,
|
77 | headers: {
|
78 | Authorization: "Token ".concat(this.config.apiKey)
|
79 | }
|
80 | }));
|
81 |
|
82 | case 3:
|
83 | case "end":
|
84 | return _context.stop();
|
85 | }
|
86 | }
|
87 | }, _callee, this);
|
88 | }));
|
89 |
|
90 | function createClient() {
|
91 | return _createClient.apply(this, arguments);
|
92 | }
|
93 |
|
94 | return createClient;
|
95 | }()
|
96 | }, {
|
97 | key: "checkErr",
|
98 | value: function () {
|
99 | var _checkErr = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee2(res) {
|
100 | return _regenerator["default"].wrap(function _callee2$(_context2) {
|
101 | while (1) {
|
102 | switch (_context2.prev = _context2.next) {
|
103 | case 0:
|
104 | case "end":
|
105 | return _context2.stop();
|
106 | }
|
107 | }
|
108 | }, _callee2);
|
109 | }));
|
110 |
|
111 | function checkErr(_x) {
|
112 | return _checkErr.apply(this, arguments);
|
113 | }
|
114 |
|
115 | return checkErr;
|
116 | }()
|
117 | }, {
|
118 | key: "fetchListRaw",
|
119 | value: function () {
|
120 | var _fetchListRaw = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee3() {
|
121 | var params,
|
122 | res,
|
123 | _args3 = arguments;
|
124 | return _regenerator["default"].wrap(function _callee3$(_context3) {
|
125 | while (1) {
|
126 | switch (_context3.prev = _context3.next) {
|
127 | case 0:
|
128 | params = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {};
|
129 | _context3.next = 3;
|
130 | return this.client.get('/proxy/list', {
|
131 | params: params
|
132 | });
|
133 |
|
134 | case 3:
|
135 | res = _context3.sent;
|
136 | _context3.next = 6;
|
137 | return this.checkErr(res);
|
138 |
|
139 | case 6:
|
140 | return _context3.abrupt("return", res.data);
|
141 |
|
142 | case 7:
|
143 | case "end":
|
144 | return _context3.stop();
|
145 | }
|
146 | }
|
147 | }, _callee3, this);
|
148 | }));
|
149 |
|
150 | function fetchListRaw() {
|
151 | return _fetchListRaw.apply(this, arguments);
|
152 | }
|
153 |
|
154 | return fetchListRaw;
|
155 | }()
|
156 | }, {
|
157 | key: "fetchList",
|
158 | value: function () {
|
159 | var _fetchList = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee4() {
|
160 | var _data0$results,
|
161 | _this2 = this;
|
162 |
|
163 | var proxies, data0, maxCount, pageCount, maxPage, page, data, list;
|
164 | return _regenerator["default"].wrap(function _callee4$(_context4) {
|
165 | while (1) {
|
166 | switch (_context4.prev = _context4.next) {
|
167 | case 0:
|
168 | proxies = [];
|
169 | _context4.next = 3;
|
170 | return this.fetchListRaw();
|
171 |
|
172 | case 3:
|
173 | data0 = _context4.sent;
|
174 | maxCount = data0 === null || data0 === void 0 ? void 0 : data0.count;
|
175 | pageCount = (data0 === null || data0 === void 0 ? void 0 : (_data0$results = data0.results) === null || _data0$results === void 0 ? void 0 : _data0$results.length) || 1;
|
176 | maxPage = maxCount / pageCount;
|
177 | page = 1;
|
178 |
|
179 | case 8:
|
180 | if (!(page <= maxPage)) {
|
181 | _context4.next = 17;
|
182 | break;
|
183 | }
|
184 |
|
185 | _context4.next = 11;
|
186 | return this.fetchListRaw({
|
187 | page: page
|
188 | });
|
189 |
|
190 | case 11:
|
191 | data = _context4.sent;
|
192 | list = Object.values(data.results);
|
193 | proxies = [].concat((0, _toConsumableArray2["default"])(proxies), (0, _toConsumableArray2["default"])(list.filter(function (item) {
|
194 | return item.valid;
|
195 | }).map(function (item) {
|
196 | return _this2.createProxy({
|
197 | host: item.proxy_address,
|
198 | port: +item.ports.http,
|
199 | user: item.username,
|
200 | password: item.password,
|
201 | type: 'http',
|
202 | ip: item.proxy_address,
|
203 | tags: {
|
204 | country: String(item.country_code).toLowerCase(),
|
205 | ipv: 4,
|
206 | comment: item.city_name ? String(item.city_name) : undefined
|
207 | }
|
208 | });
|
209 | })));
|
210 |
|
211 | case 14:
|
212 | page += 1;
|
213 | _context4.next = 8;
|
214 | break;
|
215 |
|
216 | case 17:
|
217 | return _context4.abrupt("return", proxies);
|
218 |
|
219 | case 18:
|
220 | case "end":
|
221 | return _context4.stop();
|
222 | }
|
223 | }
|
224 | }, _callee4, this);
|
225 | }));
|
226 |
|
227 | function fetchList() {
|
228 | return _fetchList.apply(this, arguments);
|
229 | }
|
230 |
|
231 | return fetchList;
|
232 | }()
|
233 | }, {
|
234 | key: "fetchOptions",
|
235 | value: function () {
|
236 | var _fetchOptions = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee5() {
|
237 | return _regenerator["default"].wrap(function _callee5$(_context5) {
|
238 | while (1) {
|
239 | switch (_context5.prev = _context5.next) {
|
240 | case 0:
|
241 | return _context5.abrupt("return", {});
|
242 |
|
243 | case 1:
|
244 | case "end":
|
245 | return _context5.stop();
|
246 | }
|
247 | }
|
248 | }, _callee5);
|
249 | }));
|
250 |
|
251 | function fetchOptions() {
|
252 | return _fetchOptions.apply(this, arguments);
|
253 | }
|
254 |
|
255 | return fetchOptions;
|
256 | }()
|
257 | }, {
|
258 | key: "getBuyListProps",
|
259 | value: function getBuyListProps() {
|
260 | var countries = [];
|
261 | return countries.map(function (country) {
|
262 | return {
|
263 | country: country
|
264 | };
|
265 | });
|
266 | }
|
267 | }, {
|
268 | key: "buy",
|
269 | value: function () {
|
270 | var _buy = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee6(_ref) {
|
271 | var country;
|
272 | return _regenerator["default"].wrap(function _callee6$(_context6) {
|
273 | while (1) {
|
274 | switch (_context6.prev = _context6.next) {
|
275 | case 0:
|
276 | country = _ref.country;
|
277 | return _context6.abrupt("return", []);
|
278 |
|
279 | case 2:
|
280 | case "end":
|
281 | return _context6.stop();
|
282 | }
|
283 | }
|
284 | }, _callee6);
|
285 | }));
|
286 |
|
287 | function buy(_x2) {
|
288 | return _buy.apply(this, arguments);
|
289 | }
|
290 |
|
291 | return buy;
|
292 | }()
|
293 | }]);
|
294 | return WebshareIoProvider;
|
295 | }(_ProxyProvider2.ProxyProvider);
|
296 |
|
297 | exports.WebshareIoProvider = WebshareIoProvider;
|
298 | var _default = WebshareIoProvider;
|
299 | exports["default"] = _default;
|
300 |
|
\ | No newline at end of file |