@social-mail/social-mail-web-server 1.9.175 → 1.9.178

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.
@@ -5,6 +5,7 @@ export default class GeoIPService implements ILocalCacheContainer<GeoIPService>
5
5
  cache: ObjectLocalCache<GeoIPService>;
6
6
  getBlock(ip: string): Promise<GeoIPBlock>;
7
7
  lookupBlock(ip: string, ipNumber: bigint): Promise<any>;
8
+ getCountryFromRDAP(ip: string): Promise<GeoIPBlock>;
8
9
  getCountry(response: WhoisSearchResult, defaultRange?: string): any;
9
10
  ipToNumber(ip: string): bigint;
10
11
  getIPRange(ip: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"GeoIPService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAK5D,OAAO,EAAE,oBAAoB,EAAc,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKnG,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,oBAAoB,CAAC,YAAY,CAAC;IAE3E,KAAK,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAGhC,QAAQ,CAAC,EAAE,EAAE,MAAM;IA+CnB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA6C9C,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,SAAQ;IA2B5D,UAAU,CAAC,EAAE,EAAE,MAAM;IAWrB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;CAyBxB"}
1
+ {"version":3,"file":"GeoIPService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAK5D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKvF,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,oBAAoB,CAAC,YAAY,CAAC;IAE3E,KAAK,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAGhC,QAAQ,CAAC,EAAE,EAAE,MAAM;IA+CnB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA8CxC,kBAAkB,CAAC,EAAE,EAAE,MAAM;IAgBnC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,SAAQ;IA2B5D,UAAU,CAAC,EAAE,EAAE,MAAM;IAWrB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;CAyBxB"}
@@ -4,9 +4,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
7
  var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
11
8
  if (value !== null && value !== void 0) {
12
9
  if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
@@ -66,9 +63,9 @@ import GeoIPBlock from "../../model/entities/GeoIPBlock.js";
66
63
  import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
67
64
  import SecureFetchBuilder from "../../../common/fetch/SecureFetchBuilder.js";
68
65
  import ReadOnlySocialMailContext from "../../model/ReadOnlySocialMailContext.js";
69
- import { localCache } from "../../../common/LocalCache.js";
70
66
  let builder;
71
67
  let GeoIPService = class GeoIPService {
68
+ // @localCache()
72
69
  async getBlock(ip) {
73
70
  if (ip.startsWith("::ffff:")) {
74
71
  ip = ip.replace(/^.*:/, '');
@@ -132,8 +129,8 @@ let GeoIPService = class GeoIPService {
132
129
  // console.log(response);
133
130
  // get country
134
131
  const { start, end, country } = this.getCountry(response);
135
- if (!start || !end) {
136
- console.log(response);
132
+ if (!start || !end || !country) {
133
+ return await this.getCountryFromRDAP(ip);
137
134
  }
138
135
  const b = new GeoIPBlock();
139
136
  b.blockStart = this.ipToNumber(start).toString();
@@ -143,8 +140,8 @@ let GeoIPService = class GeoIPService {
143
140
  return b;
144
141
  }
145
142
  catch (error) {
146
- const b = new GeoIPBlock();
147
143
  const { start, end } = this.getIPRange(ip);
144
+ const b = new GeoIPBlock();
148
145
  b.blockStart = start.toString();
149
146
  b.blockEnd = end.toString();
150
147
  b.country = "US";
@@ -152,6 +149,17 @@ let GeoIPService = class GeoIPService {
152
149
  return b;
153
150
  }
154
151
  }
152
+ async getCountryFromRDAP(ip) {
153
+ const { start, end } = this.getIPRange(ip);
154
+ const { ip: ipQuery } = await import("node-rdap");
155
+ const { country } = await ipQuery(ip);
156
+ const br = new GeoIPBlock();
157
+ br.blockStart = start.toString();
158
+ br.blockEnd = end.toString();
159
+ br.country = country;
160
+ br.verified = true;
161
+ return br;
162
+ }
155
163
  getCountry(response, defaultRange = "0-0") {
156
164
  const { country, range = defaultRange } = response;
157
165
  const [start, end] = range.split("-").map((x) => x.trim());
@@ -206,12 +214,6 @@ let GeoIPService = class GeoIPService {
206
214
  return { start, end };
207
215
  }
208
216
  };
209
- __decorate([
210
- localCache(),
211
- __metadata("design:type", Function),
212
- __metadata("design:paramtypes", [String]),
213
- __metadata("design:returntype", Promise)
214
- ], GeoIPService.prototype, "getBlock", null);
215
217
  GeoIPService = __decorate([
216
218
  RegisterSingleton
217
219
  ], GeoIPService);
@@ -1 +1 @@
1
- {"version":3,"file":"GeoIPService.js","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoIPService.js","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":"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"}