diff --git a/apps/cf-page-vless/src/app/app.tsx b/apps/cf-page-vless/src/app/app.tsx
index 3e9d949..529195e 100644
--- a/apps/cf-page-vless/src/app/app.tsx
+++ b/apps/cf-page-vless/src/app/app.tsx
@@ -1,11 +1,9 @@
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import styles from './app.module.css';
-import NxWelcome from './nx-welcome';
export function App() {
return (
<>
-
>
);
diff --git a/functions/_middleware.ts b/functions/_middleware.ts
index f392af9..dc7ff81 100644
--- a/functions/_middleware.ts
+++ b/functions/_middleware.ts
@@ -48,7 +48,7 @@ function authentication(context: EventContext) {
status: 302,
headers: {
'content-type': 'text/html; charset=utf-8',
- Location: `./${userID}`,
+ Location: `./${userID}?wspath=${encodeURIComponent('/vless')}`,
},
});
} else {
diff --git a/libs/edge-ui/src/lib/app.tsx b/libs/edge-ui/src/lib/app.tsx
index 3b45f93..8f9043b 100644
--- a/libs/edge-ui/src/lib/app.tsx
+++ b/libs/edge-ui/src/lib/app.tsx
@@ -308,18 +308,29 @@ function ShareActions({
function getVlessURL() {
const url = new URL(window.location.href);
const uuid = url.pathname.split('/').find(uuidValidate);
- let pathParam = '';
+ let port = url.port;
+ const isHttps = url.protocol === 'https:';
+ if (!port) {
+ if (isHttps) {
+ port = '443';
+ } else {
+ port = '80';
+ }
+ }
+ let pathParam = url.searchParams.get('wspath') || '';
if (v2option.ws0Rtt) {
pathParam = `${pathParam}?ed=2048`;
}
if (pathParam) {
pathParam = `&path=${encodeURIComponent(pathParam)}`;
}
+ let tls = '';
+ if (isHttps) {
+ tls = `&security=tls`;
+ }
return `vless://${uuid}@${
url.hostname
- }:443?encryption=none&security=tls&type=ws${pathParam || ''}#${
- url.hostname
- }`;
+ }:${port}?encryption=none${tls}&type=ws${pathParam || ''}#${url.hostname}`;
}
return (
diff --git a/package.json b/package.json
index 055ca9c..464b619 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"scripts": {
"start": "node dist/apps/node-vless/main.js",
"build": "nx build",
- "cf-page-vless": "wrangler pages dev dist/apps/cf-page-vless",
+ "cf-page-vless": "nx build cf-page-vless",
"node-vless:build": "nx build cf-page-vless --configuration=production && nx build node-vless --configurations=production",
"node-vless:bunled": "nx build cf-page-vless --configuration=production && nx build node-vless --skip-nx-cache --configurations=production -- --externalDependencies=none",
"node-vless:start": "node dist/apps/node-vless/main.js",