@vacantthinker/firefox-addon-framework-easy 2026.622.2000 → 2026.623.1154

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.
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundJs.d.ts","sourceRoot":"","sources":["../src/backgroundJs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,wBAAwB,EAA6B,MAAM,SAAS,CAAC;AAI7E,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,MAAM,GAAG,wBAAwB,KACpF,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAoCzB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,MAAM,EAClE,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,EACnC,MAAM,GAAE,MAAyB,QAuBlC"}
1
+ {"version":3,"file":"backgroundJs.d.ts","sourceRoot":"","sources":["../src/backgroundJs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,wBAAwB,EAA6B,MAAM,SAAS,CAAC;AAI7E,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC3C,CAAC,SAAS,MAAM,GAAG,wBAAwB,KACxC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAoCzB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,MAAM,EAClE,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,EACnC,MAAM,GAAE,MAAyB,QAuBlC"}
@@ -3,7 +3,8 @@
3
3
  */
4
4
  export interface DownloadParams {
5
5
  downlink: string;
6
- filename?: string | null;
6
+ filename?: string;
7
+ referrer?: string;
7
8
  }
8
- export declare function browserDownloadByDownlink({ downlink, filename, }: DownloadParams): Promise<void>;
9
+ export declare function browserDownloadByDownlink({ downlink, filename, referrer, }: DownloadParams): Promise<void>;
9
10
  //# sourceMappingURL=browserDownload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browserDownload.d.ts","sourceRoot":"","sources":["../src/browserDownload.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAsB,yBAAyB,CAC7C,EACE,QAAQ,EACR,QAAe,GAChB,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlC"}
1
+ {"version":3,"file":"browserDownload.d.ts","sourceRoot":"","sources":["../src/browserDownload.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,yBAAyB,CAC7C,EACE,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBlC"}
@@ -1,4 +1,4 @@
1
- export async function browserDownloadByDownlink({ downlink, filename = null, }) {
1
+ export async function browserDownloadByDownlink({ downlink, filename, referrer, }) {
2
2
  const options = {
3
3
  url: downlink,
4
4
  saveAs: false,
@@ -6,5 +6,14 @@ export async function browserDownloadByDownlink({ downlink, filename = null, })
6
6
  if (filename) {
7
7
  options.filename = filename;
8
8
  }
9
+ // Inject the Referer header to bypass hotlink protection
10
+ if (referrer) {
11
+ options.headers = [
12
+ {
13
+ name: 'Referer',
14
+ value: referrer
15
+ }
16
+ ];
17
+ }
9
18
  await browser.downloads.download(options);
10
19
  }
@@ -1,13 +1,21 @@
1
1
  /**
2
2
  * Extracts the hostname from a given URL string.
3
- * @param url The full URL string.
3
+ * @param targetUrl The full URL string.
4
4
  * @returns The domain/hostname.
5
5
  */
6
- export declare function serviceGetDomain(url: string): string;
6
+ export declare function serviceGetDomain(targetUrl: string): string | undefined;
7
+ interface URLBase {
8
+ domain: string;
9
+ pathname: string;
10
+ searchParams: URLSearchParams;
11
+ }
12
+ export declare function serviceParseURLBase(targetUrl: string): URLBase | undefined;
13
+ export declare function serviceParseURL(targetUrl: string): URL | undefined;
7
14
  /**
8
15
  * Generates a timestamp string in the format: YYYY_M_D_Hh_Mm_Ss_ms
9
16
  * e.g., 2026_6_11_10h_30m_15s_450
10
17
  * @returns The formatted timestamp string.
11
18
  */
12
19
  export declare function serviceGetCurrentDateYYYYMMDDHHMMSS(): string;
20
+ export {};
13
21
  //# sourceMappingURL=serviceGet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceGet.d.ts","sourceRoot":"","sources":["../src/serviceGet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAY5D"}
1
+ {"version":3,"file":"serviceGet.d.ts","sourceRoot":"","sources":["../src/serviceGet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,sBAKjD;AAED,UAAU,OAAO;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CASxC;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,mBAGhD;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAY5D"}
@@ -1,12 +1,32 @@
1
1
  /**
2
2
  * Extracts the hostname from a given URL string.
3
- * @param url The full URL string.
3
+ * @param targetUrl The full URL string.
4
4
  * @returns The domain/hostname.
5
5
  */
6
- export function serviceGetDomain(url) {
7
- if (!url)
8
- return '';
9
- return new URL(url).hostname;
6
+ export function serviceGetDomain(targetUrl) {
7
+ if (targetUrl == undefined)
8
+ return;
9
+ const url = serviceParseURL(targetUrl);
10
+ if (url)
11
+ return url.hostname;
12
+ else
13
+ return;
14
+ }
15
+ export function serviceParseURLBase(targetUrl) {
16
+ if (targetUrl == undefined)
17
+ return;
18
+ const url = new URL(targetUrl);
19
+ const domain = url.hostname;
20
+ const pathname = url.pathname;
21
+ const searchParams = url.searchParams;
22
+ return {
23
+ domain, pathname, searchParams
24
+ };
25
+ }
26
+ export function serviceParseURL(targetUrl) {
27
+ if (targetUrl == undefined)
28
+ return;
29
+ return new URL(targetUrl);
10
30
  }
11
31
  /**
12
32
  * Generates a timestamp string in the format: YYYY_M_D_Hh_Mm_Ss_ms
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vacantthinker/firefox-addon-framework-easy",
3
- "version": "2026.0622.2000",
3
+ "version": "2026.0623.1154",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",