瀏覽代碼

Merge branch 'dev' into demo

zjcqoo 6 年之前
父節點
當前提交
8fc0a6c252
共有 6 個文件被更改,包括 20 次插入17 次删除
  1. 1 1
      README.md
  2. 11 12
      cf-worker/index.js
  3. 1 1
      docs/cert-auto.md
  4. 1 1
      docs/cert-manual.md
  5. 1 1
      docs/setup.md
  6. 5 1
      i.sh

+ 1 - 1
README.md

@@ -33,7 +33,7 @@ curl https://raw.githubusercontent.com/EtherDream/jsproxy/dev/i.sh | bash
 测试: `https://服务器IP.xip.io:8443`(具体参考脚本输出)
 
 
-## 部署
+# 部署
 
 Fork 本项目,进入 `gh-pages` 分支,编辑 `conf.js` 文件:
 

+ 11 - 12
cf-worker/index.js

@@ -4,7 +4,7 @@
  */
 'use strict'
 
-const JS_VER = 3
+const JS_VER = 4
 
 const PREFLIGHT_INIT = {
   status: 204,
@@ -16,13 +16,9 @@ const PREFLIGHT_INIT = {
   }),
 }
 
-const pairs = Object.entries
-
 
 addEventListener('fetch', e => {
   const ret = handler(e.request)
-    .catch(err => new Response(err))
-
   e.respondWith(ret)
 })
 
@@ -87,23 +83,26 @@ async function handler(req) {
     }
   }
   if (extHdrs) {
-    for (const [k, v] of pairs(extHdrs)) {
+    for (const [k, v] of Object.entries(extHdrs)) {
       reqHdrNew.set(k, v)
     }
   }
-  return proxy(urlObj, req.method, reqHdrNew, acehOld, rawLen, 0)
+  const reqInit = {
+    method: req.method,
+    headers: reqHdrNew,
+  }
+  return proxy(urlObj, reqInit, acehOld, rawLen, 0)
 }
 
 
 /**
  * 
  * @param {URL} urlObj 
- * @param {string} method 
- * @param {Headers} headers 
+ * @param {RequestInit} reqInit 
  * @param {number} retryTimes 
  */
-async function proxy(urlObj, method, headers, acehOld, rawLen, retryTimes) {
-  const res = await fetch(urlObj.href, {method, headers})
+async function proxy(urlObj, reqInit, acehOld, rawLen, retryTimes) {
+  const res = await fetch(urlObj.href, reqInit)
   const resHdrOld = res.headers
   const resHdrNew = new Headers(resHdrOld)
 
@@ -159,7 +158,7 @@ async function proxy(urlObj, method, headers, acehOld, rawLen, retryTimes) {
     if (retryTimes < 1) {
       urlObj = await parseYtVideoRedir(urlObj, newLen, res)
       if (urlObj) {
-        return proxy(urlObj, method, headers, acehOld, rawLen, retryTimes + 1)
+        return proxy(urlObj, reqInit, acehOld, rawLen, retryTimes + 1)
       }
     }
     status = 400

+ 1 - 1
docs/cert-auto.md

@@ -65,4 +65,4 @@ ssl_certificate_key   cert/$domain/ecc.key;
 iptables -t nat -D PREROUTING 1
 ```
 
-如果 80 端口运行没有其他服务,可以不关闭。因为 Let's Encrypt 证书有效期只有 3 个月,所以 acme.sh 会定期执行续签脚本。如果 80 端口关闭则无法自动续签。
+如果 80 端口没有运行其他服务,可以不关闭。因为 Let's Encrypt 证书有效期只有 3 个月,所以 acme.sh 会定期执行续签脚本。如果 80 端口关闭则无法自动续签。

+ 1 - 1
docs/cert-manual.md

@@ -43,7 +43,7 @@ ssl_certificate_key   cert/xip.io/key;
 
 8.验证
 
-访问 `https://服务器IP.xip.io:8443/`,没出现证书错误即成功(404 等错误不影响)
+访问 `https://服务器IP.xip.io:8443/`,没出现证书错误即成功。
 
 9.关闭 80 端口转发
 

+ 1 - 1
docs/setup.md

@@ -76,7 +76,7 @@ git clone --depth=1 https://github.com/EtherDream/jsproxy.git server
 ```bash
 cd server
 rm -rf www
-git clone -b gh-pages --depth=1 [email protected]:EtherDream/jsproxy.git www
+git clone -b gh-pages --depth=1 https://github.com/EtherDream/jsproxy.git www
 ```
 
 开启服务:

+ 5 - 1
i.sh

@@ -108,10 +108,14 @@ ssl_certificate       cert/$domain/ecc.cer;
 ssl_certificate_key   cert/$domain/ecc.key;
 " > server/cert/cert.conf
 
+      local url=https://$domain:8443
+      echo "
+$url  'mysite';" >> server/allowed-sites.conf
+
       log "证书申请完成,重启服务 ..."
       server/run.sh reload
 
-      log "在线预览: https://$domain:8443"
+      log "在线预览: $url"
       break
     fi