@social-mail/social-mail-web-server 1.7.173 → 1.7.175
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.
- package/dist/server/seed/ui/seed-ui.js +1 -1
- package/dist/server/services/geo-ip/GeoIPService.d.ts +1 -1
- package/dist/server/services/geo-ip/GeoIPService.d.ts.map +1 -1
- package/dist/server/services/geo-ip/GeoIPService.js +26 -19
- package/dist/server/services/geo-ip/GeoIPService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/social-mail/public/geo/country/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/public/geo/country/get.js +1 -0
- package/dist/wwwroot/routes/social-mail/public/geo/country/get.js.map +1 -1
- package/package.json +1 -1
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/services/geo-ip/GeoIPService.ts +30 -17
- package/src/wwwroot/routes/social-mail/public/geo/country/get.tsx +3 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UIPackageConfig } from "../../services/DBConfig.js";
|
|
2
2
|
import semver from "semver";
|
|
3
3
|
export default async function seedUI(config) {
|
|
4
|
-
const version = "1.4.
|
|
4
|
+
const version = "1.4.137";
|
|
5
5
|
const existing = await config.getValue(UIPackageConfig, false);
|
|
6
6
|
if (existing) {
|
|
7
7
|
if (semver.gte(existing.version, version)) {
|
|
@@ -4,7 +4,7 @@ import GeoIPBlock from "../../model/entities/GeoIPBlock.js";
|
|
|
4
4
|
export default class GeoIPService implements ICacheContainer<GeoIPService> {
|
|
5
5
|
cache: ObjectCache<GeoIPService>;
|
|
6
6
|
getBlock(ip: string): Promise<GeoIPBlock>;
|
|
7
|
-
lookupBlock(ip: string, ipNumber: bigint): Promise<
|
|
7
|
+
lookupBlock(ip: string, ipNumber: bigint): Promise<GeoIPBlock>;
|
|
8
8
|
getCountry(response: WhoisSearchResult): any;
|
|
9
9
|
ipToNumber(ip: string): bigint;
|
|
10
10
|
getIPRange(ip: string): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoIPService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,eAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAIrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAM5D,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,eAAe,CAAC,YAAY,CAAC;IAEtE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAG3B,QAAQ,CAAC,EAAE,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"GeoIPService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,eAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAIrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAM5D,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,eAAe,CAAC,YAAY,CAAC;IAEtE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAG3B,QAAQ,CAAC,EAAE,EAAE,MAAM;IA8CnB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAuC9C,UAAU,CAAC,QAAQ,EAAE,iBAAiB;IA0BtC,UAAU,CAAC,EAAE,EAAE,MAAM;IAWrB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;CAyBxB"}
|
|
@@ -56,14 +56,15 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
56
56
|
});
|
|
57
57
|
import { RegisterSingleton, ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
|
|
58
58
|
import { cacheFor } from "../../../common/cacheFor.js";
|
|
59
|
-
import { globalEnv } from "../../../common/globalEnv.js";
|
|
60
|
-
import FetchBuilder from "@web-atoms/fetch-builder";
|
|
61
59
|
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
62
60
|
import GeoIPBlock from "../../model/entities/GeoIPBlock.js";
|
|
63
61
|
import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
|
|
64
62
|
let builder;
|
|
65
63
|
let GeoIPService = class GeoIPService {
|
|
66
64
|
async getBlock(ip) {
|
|
65
|
+
if (ip.startsWith("::ffff:")) {
|
|
66
|
+
ip = ip.replace(/^.*:/, '');
|
|
67
|
+
}
|
|
67
68
|
try {
|
|
68
69
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
69
70
|
try {
|
|
@@ -75,10 +76,15 @@ let GeoIPService = class GeoIPService {
|
|
|
75
76
|
.where({ ipNumber }, (p) => (x) => x.blockStart >= p.ipNumber && x.blockEnd <= p.ipNumber)
|
|
76
77
|
.first();
|
|
77
78
|
if (block) {
|
|
78
|
-
|
|
79
|
+
if (DateTime.from(block.dateExpires) > DateTime.now) {
|
|
80
|
+
return block;
|
|
81
|
+
}
|
|
82
|
+
await db.geoIPBlocks.statements.delete({ blockStart: block.blockStart, blockEnd: block.blockEnd });
|
|
79
83
|
}
|
|
80
84
|
block = await this.lookupBlock(ip, ipNumber);
|
|
81
|
-
block.
|
|
85
|
+
if (block.error) {
|
|
86
|
+
console.error(block.error);
|
|
87
|
+
}
|
|
82
88
|
return await db.geoIPBlocks.statements.selectOrInsert(block, block);
|
|
83
89
|
}
|
|
84
90
|
catch (e_1) {
|
|
@@ -89,26 +95,28 @@ let GeoIPService = class GeoIPService {
|
|
|
89
95
|
__disposeResources(env_1);
|
|
90
96
|
}
|
|
91
97
|
}
|
|
92
|
-
catch {
|
|
98
|
+
catch (error) {
|
|
93
99
|
const b = new GeoIPBlock();
|
|
94
100
|
b.country = "US";
|
|
95
101
|
const { start, end } = this.getIPRange(ip);
|
|
96
102
|
b.blockStart = start;
|
|
97
103
|
b.blockEnd = end;
|
|
104
|
+
b.error = `Cannot resolve ${ip}\n${error.stack ?? error}`;
|
|
105
|
+
console.error(b.error);
|
|
98
106
|
return b;
|
|
99
107
|
}
|
|
100
108
|
}
|
|
101
109
|
async lookupBlock(ip, ipNumber) {
|
|
102
110
|
try {
|
|
103
|
-
if (globalEnv.otpIn?.host) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
111
|
+
// if (globalEnv.otpIn?.host) {
|
|
112
|
+
// // we will fetch from parent...
|
|
113
|
+
// const client = (builder ??= FetchBuilder
|
|
114
|
+
// .url(`https://${globalEnv.otpIn.host}/`)
|
|
115
|
+
// .logWhenFailed(console.error)
|
|
116
|
+
// .header("authorization", `basic ${Buffer.from(`${globalEnv.otpIn.key}:${globalEnv.otpIn.secret}`).toString("base64")}`));
|
|
117
|
+
// const result = await client.post("/social-mail/public/geo/country/" + ip).asJson();
|
|
118
|
+
// return result;
|
|
119
|
+
// }
|
|
112
120
|
// use whoiser...
|
|
113
121
|
const whoiser = await import("whoiser");
|
|
114
122
|
const response = await whoiser.ip(ip);
|
|
@@ -122,13 +130,12 @@ let GeoIPService = class GeoIPService {
|
|
|
122
130
|
return b;
|
|
123
131
|
}
|
|
124
132
|
catch (error) {
|
|
125
|
-
console.error(error);
|
|
126
133
|
const b = new GeoIPBlock();
|
|
127
134
|
const { start, end } = this.getIPRange(ip);
|
|
128
|
-
b.blockStart =
|
|
129
|
-
b.blockEnd =
|
|
135
|
+
b.blockStart = start.toString();
|
|
136
|
+
b.blockEnd = end.toString();
|
|
130
137
|
b.country = "US";
|
|
131
|
-
b.
|
|
138
|
+
b.error = `Cannot resolve ${ip}\n${error.stack ?? error}`;
|
|
132
139
|
return b;
|
|
133
140
|
}
|
|
134
141
|
}
|
|
@@ -156,7 +163,7 @@ let GeoIPService = class GeoIPService {
|
|
|
156
163
|
if (ip.indexOf(":") !== -1) {
|
|
157
164
|
// this is v6
|
|
158
165
|
return ip.split(':')
|
|
159
|
-
.map((str) => Number(
|
|
166
|
+
.map((str) => Number.parseInt(str, 16))
|
|
160
167
|
.reduce((int, value) => BigInt(int) * BigInt(65536) + BigInt(+value), BigInt(0));
|
|
161
168
|
}
|
|
162
169
|
return BigInt(ip.split('.')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoIPService.js","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAgC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"GeoIPService.js","sourceRoot":"","sources":["../../../../src/server/services/geo-ip/GeoIPService.ts"],"names":[],"mappings":"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"}
|