Skip to content

Commit

Permalink
Merge pull request netptop#107 from SNESNya/master
Browse files Browse the repository at this point in the history
重写 README
  • Loading branch information
netptop authored Jul 13, 2024
2 parents bf70353 + 4091f30 commit 5f476c9
Show file tree
Hide file tree
Showing 2 changed files with 288 additions and 209 deletions.
245 changes: 137 additions & 108 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
## SiteProxy 2.0
- [English ver](README_english.md)

# siteproxy 2.0
<a href="https://github.com/netptop/siteproxy/blob/master/README_english.md"><strong>English</strong></a>
Siteproxy 2.0 使用了service worker, 使得代理更加稳定, 可以代理了的网站更多。
同时使用hono替代express,速度提高4倍。 支持cloudflare worker部署。
反向代理, 免翻墙访问youtube/google, 支持github和telegram web登录(请注意不要通过不信任的代理登录)。
支持duckduckgo AI Chat(可免费使用gpt3.5和claude3)。
纯web页面的在线代理, 客户端无需任何配置,反向代理到internet。
SiteProxy 是一个**功能强大的在线代理工具**,采用了最新的技术,提升了代理的稳定性和兼容性。我们致力于提供 **简单、高效、安全** 的代理服务,为用户提供最佳的互联网访问体验。

- **超高速性能**:采用 Hono 替代传统的Express 服务器,性能提升 4 倍,带来更流畅的使用体验。
- **云端部署**:完美支持 Cloudflare Worker 部署,快速且高效。
- **AI 智能聊天**:集成 DuckDuckGo AI Chat,免费提供 GPT-3.5 和 Claude 3,让你的代理服务更加智能。
- **高级安全保护**:支持密码控制代理,只有授权用户才能访问,大幅提升安全性。
- **零配置使用**:用户无需进行任何客户端配置,只需访问代理网址即可畅游全球互联网。
- **便捷登录**:全面支持 GitHub 和 Telegram Web 登录,操作简单快捷。
- **强力加密**:采用 `RSA + AES` 双重加密技术,保护用户登录密码,防止中间人攻击。
- **隐私保护**:通过代理网址访问全球互联网,同时隐藏用户真实 IP,保护隐私。
- **无缝体验**:无需任何软件安装和浏览器配置,即可立即使用,提供极致便利的用户体验。

<details>
<summary>查看原理</summary>

```
+----> google/youtube
Expand All @@ -16,110 +25,130 @@ user browser +-------------->+ siteproxy +-------> wikipedia
+----------------+ |
+----> chinese forums
```
请勿将本项目用于非法用途,否则后果自负。
注意: 由于支持多个网站的login,为了减少钓鱼风险,siteproxy2.0代码进行了混淆,同时禁止了默认主页网址的修改。

来自telegram网友的展示siteproxy部署后,加上优选IP的速度测试:
</details>

> [!CAUTION]
> 严禁将本项目用于任何非法用途,否则后果自负
> [!WARNING]
> 由于支持多个网站的 Login,为了减少钓鱼风险,Siteproxy 在 2.0 版本对代码进行了混淆,同时禁止了默认主页网址的修改。
## 展示

来自 Telegram 的网友的展示 Siteproxy 部署后,加上优选IP的速度测试:
![Download Speed test](https://raw.githubusercontent.com/netptop/siteproxy/master/test.png)

## 目录

- [特点](#特点)
- [使用技巧](#使用技巧)
- [部署到Cloudflare_Worker](#部署到cloudflare_worker)
- [部署到Cloudflare_Page](#部署到cloudflare_worker)
- [部署到vps或者云服务器](#部署到vps或者云服务器)
- [docker部署](#docker部署)
- [感谢](#感谢)
- [联系方式](#联系方式)

### 特点
- 使用hono替代express,速度提高4倍。
- 支持cloudflare worker部署。
- 支持duckduckgo AI Chat(可免费使用gpt3.5和claude3)。
- 支持密码控制代理,知道密码才能访问代理。
- 不需要客户端的任何配置,访问代理网址即可访问全世界。
- 支持github和telegram web登录。
- 使用RSA+AES加密用户login密码,减少中间人攻击。
- 输入部署siteproxy的代理网址,就可以访问全世界,并隐藏你的IP。
- 客户端不需要任何软件安装,客户浏览器也不需要任何配置。

### 使用技巧
1. 可以通过部署的siteproxy进行git clone,方法:
```
git clone https://your-proxy-domain.name/user-your-password/https/github.com/the-repo-to-clone
```

### 部署到Cloudflare_Worker
- 假设你的域名已经管理在cloudflare名下;
- 下载build/worker.js: [链接](https://raw.githubusercontent.com/netptop/siteproxy/master/build/worker.js), 并使用文本编辑器打开.
- 搜索```http://localhost:5006```字符串,将它替换为你的代理服务器的域名,比如```https://your-proxy-domain.name```,注意修改为https
- 同时搜索user22334455,将其修改为你自己想设置的密码, 为空时表示不需要密码就可以访问。
- 创建一个worker,并编辑worker,将上一步编辑过的worker.js拷贝粘贴到worker里面,不要管错误提示,保存部署。
- 在Workers & Pages页面,打开刚才保存的worker,点顶部的'设置'->'触发器', 之后'添加自定义域', 设置为你的代理域名。自定义域名设置成功后,dns页面下面显示对应的dns类型应该是worker。
- 现在可以直接访问```https://your-proxy-domain.name/user-your-password/```, 最后的斜杠不能少。注意这里的域名和密码替换为你自己的域名和密码。
来自telegram网友Lo A的展示优选IP的配置方法:
![优选IP的配置方法](https://raw.githubusercontent.com/netptop/siteproxy/master/dns_optimization.jpg)

### 部署到Cloudflare_Page
- 假设你的域名已经管理在cloudflare名下;
- git clone https://github.com/netptop/siteproxy.git
- 用文本编辑器打开siteproxy/build/cf_page/_worker.js, 搜索```http://localhost:5006```字符串,将它替换为你的代理服务器的域名,比如```https://your-proxy-domain.name```,注意修改为https
- 同时搜索user22334455,将其修改为你自己想设置的密码, 为空时表示不需要密码就可以访问。保存。
- 登录cloudflare, 在"Workers和Pages"里面"使用直接上传创建"一个page, 上传 siteproxy/build/cf_page目录部署。
- 在Workers & Pages页面,打开刚才部署的page,点顶部的'自定义域', 之后'添加自定义域', 设置为你的代理域名。激活域。
- 现在可以直接访问```https://your-proxy-domain.name/user-your-password/```, 最后的斜杠不能少。注意这里的域名和密码替换为你自己的域名和密码。

### 部署到vps或者云服务器
```
1. 创建一个ssl website(使用certbot and nginx, google下用法), 配置nginx,
/etc/nginx/conf.d/default.conf需要包含以下内容:
...
server {
server_name your-proxy.domain.name
location / {
proxy_pass http://localhost:5006;
}
}
2. 执行:sudo systecmctl restart nginx
3. 用户环境下执行下列命令安装node v21或者以上版本:
(1)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
(2)source ~/.bashrc
(3)nvm install v21
4. 执行:git clone https://github.com/netptop/siteproxy.git;
5. 执行:cd siteproxy;
6. 测试是否能运行: node bundle.js, 如果没有错误,按ctrl+c结束程序。
7. 打开并修改保存config.json文件:
{
"proxy_url": "https://your-proxy.domain.name", //这个是你申请到的代理服务器域名,注意是https
"token_prefix": "/user-SetYourPasswordHere/", //这个实际上是你的网站密码,用来防止非法访问,注意保留首尾的斜杠。为空时表示不设置密码
"local_listen_port": 5006, // 这个不要修改, 以便和前面nginx配置一致。
"description": "注意:token_prefix相当于网站密码,请谨慎设置。 proxy_url和token_prefix合起来就是访问网址。"
}
8. 安装forever: npm install -g forever;
9. 执行:forever stopall; forever start bundle.js
10. 现在就可以在浏览器中访问你的域名了, 网址就是前面的proxy_url加上token_prefix.
11. 如果想套CloudFlare加速, 可以参考CloudFlare说明
```
### docker部署
```
1. 配置域名对应的ssl证书和nginx,指向本地5006端口。
2. git clone本项目.
3. 打开并修改保存config.json文件:
{
"proxy_url": "https://your-proxy.domain.name", // 这个是你申请到的代理服务器域名
"token_prefix": "/user-SetYourPasswordHere/", // 这个实际上是你的网站密码,用来防止非法访问,注意保留首尾的斜杠。
"description": "注意:token_prefix相当于网站密码,请谨慎设置。 proxy_url和token_prefix合起来就是访问网址。"
}
4. 进入docker-node子目录。 sudo docker compose up
5. 现在可以直接访问https://your-proxy-domain.name/user-your-password/, 就可以了。注意这里的域名和密码替换为你自己的域名和密码。
```
<br />
## 部署到 Cloudflare Pages
1. **确保域名管理**
- 确保你的域名已经在 Cloudflare 名下进行管理。
2. **克隆仓库**
- 执行命令:`git clone https://github.com/netptop/siteproxy.git`
3. **编辑配置文件**
- 使用文本编辑器打开 `siteproxy/build/cf_page/_worker.js` 文件。
- 搜索并替换字符串 `http://localhost:5006` 为你的代理服务器域名,例如 `https://your-proxy-domain.com`(请使用 `https`)。
- 搜索并替换字符串 `user22334455` 为你想设置的访问密码。如果密码为空,则表示不需要密码即可访问。保存文件。
4. **登录 Cloudflare**
- 进入 **Workers 和 Pages** 部分,选择 **使用直接上传创建** 一个 Page,上传 `siteproxy/build/cf_page` 目录进行部署。
5. **配置自定义域**
-**Workers & Pages** 页面,打开刚才部署的 Page。
- 点击顶部的 **自定义域**,然后选择 **添加自定义域**,设置为你的代理域名并激活域名。
6. **访问代理服务**
- 现在可以通过 `https://your-proxy-domain.com/your-password/` 访问代理服务(确保最后的斜杠存在)。注意将域名和密码替换为你自己的。

## 部署到 Cloudflare Workers
1. **确保域名管理**
- 确保你的域名已经在 Cloudflare 名下进行管理。
2. **下载并编辑 Worker 文件**
- 下载 `build/worker.js` 文件:[链接](https://raw.githubusercontent.com/netptop/siteproxy/master/build/worker.js),并使用文本编辑器打开。
- 搜索并替换字符串 `http://localhost:5006` 为你的代理服务器域名,例如 `https://your-worker-domain.com`(请使用 `https`)。
- 搜索并替换字符串 `user22334455` 为你想设置的访问密码。如果密码为空,则表示不需要密码即可访问。
3. **创建 Worker**
- 登录 Cloudflare,进入 **Workers 和 Pages** 部分,创建一个 Worker。
- 编辑刚才创建的 Worker,将编辑过的 `worker.js` 文件内容复制粘贴到 Worker 内部,保存并部署。
4. **配置自定义域**
-**Workers & Pages** 页面,打开刚才保存的 Worker。
- 点击顶部的 **设置 -> 触发器**,然后选择 **添加自定义域**,设置为你的代理域名。自定义域名设置成功后,DNS 页面应显示对应的 DNS 类型为 Worker。
5. **访问代理服务**
- 现在可以通过 `https://your-worker-domain.com/your-password/` 访问代理服务(确保最后的斜杠存在,并替换为你自己的域名和密码)。

## 部署到 VPS 或者云服务器

1. **创建 SSL 网站**
- 使用 `certbot``nginx` 创建 SSL 网站。具体用法可以 Google 搜索。
- 配置 `nginx`,确保 `/etc/nginx/conf.d/default.conf` 文件包含以下内容:
```nginx
server {
server_name your-proxy.domain.name;
location / {
proxy_pass http://localhost:5006;
}
}
```
2. **重启 nginx**
- 执行命令:`sudo systemctl restart nginx`
3. **安装 Node.js v21 或更高版本**
- 执行以下命令:
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install v21
```
4. **克隆仓库**
- 执行命令:`git clone https://github.com/netptop/siteproxy.git`
5. **进入项目目录**
- 执行命令:`cd siteproxy`
6. **测试运行**
- 执行命令:`node bundle.js`
- 如果没有错误,按 `Ctrl+C` 结束程序。
7. **配置文件修改**
- 打开并修改 `config.json` 文件,内容如下:
```json
{
"proxy_url": "https://your-proxy.domain.name", // 替换为你的代理服务器域名,确保使用 https
"token_prefix": "/user-SetYourPasswordHere/", // 设置网站密码,用于防止非法访问,保留首尾的斜杠。为空表示不设置密码
"local_listen_port": 5006, // 不要修改,以确保与 nginx 配置一致
"description": "注意:token_prefix 相当于网站密码,请谨慎设置。 proxy_url 和 token_prefix 合起来就是访问网址。"
}
```
8. **安装 Forever**
- 执行命令:`npm install -g forever`
9. **启动应用**
- 执行命令:`forever stopall && forever start bundle.js`
10. **访问代理服务**
- 在浏览器中访问你的域名,网址为 `proxy_url``token_prefix`
11. **使用 Cloudflare 加速(可选)**
- 参考 Cloudflare 的官方说明进行设置。

现在,你的代理服务已经成功部署并可以通过浏览器访问。


## Docker 部署
1. **配置 SSL 证书和 Nginx**
- 配置域名对应的 SSL 证书和 Nginx,将其指向本地的 5006 端口。
2. **克隆仓库**
- 执行命令:`git clone https://github.com/netptop/siteproxy.git`
3. **编辑配置文件**
- 打开并修改 `config.json` 文件,内容如下:
```json
{
"proxy_url": "https://your-proxy-domain.com", // 替换为你申请到的代理服务器域名
"token_prefix": "/user-SetYourPasswordHere/", // 设置网站密码,用于防止非法访问,保留首尾的斜杠
"description": "注意:token_prefix 相当于网站密码,请谨慎设置。 proxy_url 和 token_prefix 合起来就是访问网址。"
}
```
- 保存文件。
4. **启动 Docker 容器**
- 进入 `docker-node` 子目录。
- 执行命令:`sudo docker compose up`
5. **访问代理服务**
- 现在可以通过 `https://your-proxy-domain.com/user-your-password/` 访问代理服务。请将域名和密码替换为你自己的域名和密码。

### 感谢
www.netptop.com默认主页由telgram网友SenZyo设计, 感谢贡献!
## 感谢
- netptop.com 默认主页由 Telgram 网友 SenZyo 设计, 感谢贡献!
- 文档由 [LAGSNES](https://github.com/SNESNya) 编写

### 联系方式
Telegram群: @siteproxy
<br />
email: [email protected]
## 联系方式
Telegram群: https://siteproxy.t.me
E-mail: [[email protected]](mailto:[email protected])
Loading

0 comments on commit 5f476c9

Please sign in to comment.