内容目录
需求
一个同事每年换号购买99的阿里云服务器部署svn
问我有没什么方案,我就想着闲置手机当服务器部署svn frp内网穿透到我的甲骨文免费vps 给他外网访问,反正一个月10T流量我也用不完.
其他服务也可以这样操作,这边只是写个示例
解决方案
1.一台安卓手机
- 安卓手机安装termux (https://github.com/termux/termux-app 下载安装)
3.termux 安装proot-distro
4.termux使用proot-distro 安装ubuntu
5.登陆ubuntu安装svn并设置开机启动
6.termux设置sshd frp开机启动并自动登陆ubuntu(termux默认ssh端口为8022 svn为3690)
1. 在 Ubuntu (proot) 里安装 SVN 服务器)
1. 安装 proot-distro
并安装 Ubuntu
pkg install proot-distro -y
proot-distro install ubuntu
2. 进入 Ubuntu
proot-distro login ubuntu
3. 更新软件包
apt update && apt upgrade -y
4. 安装 SVN 服务器
apt install subversion -y
5. 创建 SVN 仓库
mkdir -p /srv/svn
svnadmin create /srv/svn/myrepo
6. 配置 SVN 访问
编辑 svnserve.conf
:
nano /srv/svn/myrepo/conf/svnserve.conf
修改或添加以下内容:
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = My SVN Repository
然后编辑 passwd
以添加用户:
nano /srv/svn/myrepo/conf/passwd
示例:
[users]
admin = mypassword
7. 启动 SVN 服务器
svnserve -d -r /srv/svn
8. 开机启动 SVN 服务器
nano ~/.bashrc
#最后一行加上 ctrl+x 然后输入Y保存退出
if pgrep svnserve >/dev/null
then
echo "svn is already start!"
else
svnserve -d -r /srv/svn
echo "svn is start!"
fi
9. 连接 SVN
在其他设备或 Termux 本机:
svn checkout svn://127.0.0.1/myrepo --username admin
2.安装frp
cd ~
apt update
apt install -y wget
wget -O frp_0.61.2_linux_arm64.tar.gz https://github.com/fatedier/frp/releases/download/v0.61.2/frp_0.61.2_linux_arm64.tar.gz
tar -zxvf frp_0.61.2_linux_arm64.tar.gz
rm -f frp_0.61.2_linux_arm64.tar.gz
mv frp_0.61.2_linux_arm64 frp
cd frp
frpc.toml编辑
nano frpc.toml
serverAddr = "x.x.x.x" #frps服务器ip 或者往上找免费frp
serverPort = 7000
auth.method = "token" # 选择token方式验证
auth.token = "password" # 必须与客户端的token一致,token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。如果不使用token,那么所有人都可以直接连
[[proxies]]
name = "mobile_ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8022 #termux 本地ssh端口
remotePort = 8022 #frps服务器可用端口
[[proxies]]
name = "mobile_svn"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3690
remotePort = 3691
3. 在termux 添加sshd frp开机启动项
nano $PREFIX/etc/termux-login.sh
if pgrep sshd > /dev/null
then
echo 'sshd is stared!'
else
sshd
echo 'start sshd!'
fi
if pgrep frp > /dev/null
then
echo 'frp is stared!'
else
nohup ~/frp/frpc -c ~/frp/frpc.toml >/dev/null 2>&1 &
echo 'start frp!'
fi
termux-wake-lock &
4. 在termux 添加ubuntu开机远程ssh自动登陆
nano ~/.bashrc
proot-distro login ubuntu
近期评论