mirror of
https://github.com/bitwarden/browser
synced 2025-12-17 16:53:34 +00:00
* [PM-3683] Remove ipcRenderer from electron-platform-utils * FIx review comments * Formatting * Use isNullOrWhitespace
34 lines
699 B
TypeScript
34 lines
699 B
TypeScript
import { Utils } from "./utils";
|
|
|
|
const CanLaunchWhitelist = [
|
|
"https://",
|
|
"http://",
|
|
"ssh://",
|
|
"ftp://",
|
|
"sftp://",
|
|
"irc://",
|
|
"vnc://",
|
|
// https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri
|
|
"rdp://", // Legacy RDP URI scheme
|
|
"ms-rd:", // Preferred RDP URI scheme
|
|
"chrome://",
|
|
"iosapp://",
|
|
"androidapp://",
|
|
];
|
|
|
|
export class SafeUrls {
|
|
static canLaunch(uri: string): boolean {
|
|
if (Utils.isNullOrWhitespace(uri)) {
|
|
return false;
|
|
}
|
|
|
|
for (let i = 0; i < CanLaunchWhitelist.length; i++) {
|
|
if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|