使用树莓派(openwrt)连接go-hosts的隧道并代理给局域网使用

本文详细介绍了如何在树莓派上配置代理服务和隧道服务,包括准备工作、树莓派配置、软件配置、关闭http服务器及启动使用等步骤。适用于希望在内网环境中搭建代理和隧道服务的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ⅰ 准备工作

  1. 一部有go host应用专用源授权的手机。
  2. 安装有openwrt的树莓派(我的型号是3B),理论上其他系统也可以,但是配置文件路径可能会不同。并且,我们需要至少10M的空间。
  3. 一部能ssh,能浏览网页的设备,如果是手机的话,不需要root。

Ⅱ 配置树莓派

1. 配置网口和ssh

  1. 由于我们的树莓派处于内网,为了方便起见,将直接关闭其防火墙。如果因为某些原因不能关闭的,请开放相应端口。使用ssh连接树莓派,输入
service firewall stop
service firewall disable
  1. 新建一个接口,命名为wan,模式设置为dhcp。将网口(不包含无线)划入其中。这样做之后等于说是新增了一台内网服务器。启用wan口的ssh登录,保存。这里如果没有关闭防火墙的话,请开放相应ssh端口和80端口。
  2. 将wan口的网线插在能正常上网的路由器的任意lan口,记下分配到的ip地址。最好设置成静态ip以方便今后使用。注意,树莓派原lan口的网段不能与路由器重合

2. 安装软件包

请在luci中搜索并安装以下软件包:
tinyproxy
stunnel

3. 下载相关文件

请将以下文件下载至树莓派的/tmp下备用
私钥文件
hosts文件
注意:两个文件下载好之后,都请去除.zip后缀。

Ⅲ 配置软件

以下操作均需要在ssh中进行

cd /etc/config/ #进入tinyproxy的配置目录
vi tinyproxy.conf

允许所有人使用代理1,注释 Allow 127.0.0.1
#Allow 127.0.0.1
修改监听端口号, 默认 8888
port 8848

cd /etc/stunnel #配置stunnel
vi stunnel.conf

接下来请按照如下配置

; setuid = nobody 
; setgid = nogroup

; When running under procd, stay in foreground
foreground = yes

; Don't log to stderr, use syslog
syslog = yes

; 1-7. Use 7 for greatest verbosity
;debug = 5

; Starting here, enter your services or uncomment the examples

; Example:
; If your local httpd does not support HTTPS, use stunnel in remote
; mode to forward TLS connections coming in on port 443 to non-TLS
; on port 80.
; Make sure that the cert is available.
;[httpd]
;accept = 443
;connect = 127.0.0.1:80
;cert = /etc/stunnel/stunnel.pem

client = yes

[http]
accept = 80
#connect = 140.82.48.143:8088
connect = 149.28.247.5:8088
cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem

[https]
accept = 443
#connect = 140.82.48.143:4433
connect = 149.28.247.5:4433
cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem

; Example:
; If your local email client does not support TLS,
; use stunnel in client mode to forward non-TLS connections on
; port 143 to TLS-enabled servername:993.
;[imap]
;client = yes
;accept = 143
;connect = servername:993
; Disable peer verification - be sure to understand the limitations of peer
; verification in stunnel when enabling.
;verify = 0

; Default client section:
; stunnel requires at least one section to start successfully.
; You can safely remove this section once you have configured
; your own. We use client mode here as server requires a certificate.
; [dummy]
; client = yes
; accept = localhost:6000
; connect = localhost:6001

特别注意:请注释掉dummy段和一开头的drop privileges段,并且在两个http段之前添加cilent = yes。
然后:wq保存。

tar xzvf /tmp/st.tar.gz
cp /tmp/st.pem /etc/stunnel/stunnel.pem #复制证书文件
chmod 400 stunnel.pem #设置权限400
#接下来替换hosts
cd /etc
mv hosts hosts.bak
cp /tmp/hosts_st hosts

然后检查hosts权限是否和原文件一致。我这里是一致的,无需更改。

Ⅳ 关闭http服务器

由于隧道服务和http服务器冲突,所以我们将禁用http服务,今后将无法通过网页访问openwrt。如果遇到特殊情况可以临时关闭隧道,用ssh开启http服务。

service uhttpd stop
service uhttpd disable

Ⅴ 开始使用

1. 启动代理

service tinyproxy start
service tinyproxy enable #开机启动

2. 启动隧道

service stunnel start
service stunnel enable #开机启动

最后,手机或其他设备连接代理。注意要先在go hosts中更新ip。

然后——享受吧!


  1. https://www.jianshu.com/p/f747046f7aa6?utm_source=oschina-app ↩︎

03-11
### PyQt 教程与文档资源 对于希望深入了解PyQt的技术人员来说,有多个高质量的教程和官方文档可以作为学习资料。 #### 中文教程 一份详尽的PyQt6中文教程提供了全面的学习材料[^1]。这份教程不仅涵盖了基础概念,还深入探讨了高级主题,适合不同层次的学习者。通过实际案例分析,帮助读者快速掌握PyQt的应用技巧。 #### 新手指南 针对初学者,《PyQt5新手教程》是一本不可多得的好书,全书超过七万字的内容覆盖了从入门到精通所需的知识点[^2]。书中详细介绍了如何利用Python编写图形界面程序,且特别强调了Qt框架下的信号与槽机制的重要性及其应用方法。 #### 官方开发文档 为了更进一步提高技能水平,可以直接查阅《PyQt5中文开发文档》,该文档包含了丰富的API说明以及实例演示,能够有效指导开发者解决具体问题优化代码性能[^3]。 #### 实际项目实践 除了理论知识外,在实践中运用所学同样重要。例如,下面这段简单的Python脚本展示了怎样加载`.ui`文件中的设计元素将其集成至应用程序中: ```python import sys from PySide6.QtWidgets import QApplication, QMainWindow from PySide6.QtCore import QFile from ui_mainwindow import Ui_MainWindow class MainWindow(QMainWindow): def __init__(self): super().__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) if __name__ == "__main__": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec()) ``` 上述例子来源于Pyside6的相关介绍,但其核心逻辑同样适用于PyQt环境[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值