windows下通过frp搭建公网gitea

前言

由于经常要写很多程序,备份放网盘很麻烦,而且有时候都是攒了几十个才上传。有一次中了勒索病毒,害我丢失了一堆源码文件。但是又不想用github,因为高度依赖科学上网,国内自己搭建文件共享出来还能立马打开很方便又快速,在外面用笔记本也可以通过frp穿透出去访问。

安装

安装特别简单,Windows下有现成的exe,只需要安装好git,并添加到环境变量然后运行exe就可以,跟hexo类似。

git官网下载Windows对应的安装包进行安装,所有的安装步骤直接一路默认下去,安装完后需要手动配置环境变量。
cmd下输入

1
setx path "%path%;c:\Program Files\Git\bin

Gitea官网下载页面找到最新版本,下载安装到本地,这里有个细节,一定要给exe创
建个目录,不然会在当前目录生成它的配置文件。

配置

在cmd下运行gitea的exe程序,不是本地在内网也可以通过ip访问,默认端口是3000。
进去到配置页面后,第一个数据库选SQLite3,很方便,不需要搭建数据库。适合自己用,注册用户不多的情况下。

这两个地方先把后面要用的域名写好,省得后面再改。

自用不给他人注册的话,在可选设置里面勾选禁止用户自助注册

最后一个配置项就是填写好登录的用户名和密码,邮箱也要填写,相当于注册一个权限为管理员的gitea账号了。

修改默认首页为仓库页面

如果不修改的话,进入域名就是gitea官网主页那样的宣传页面,现在你的exe当前目录下会自动创建一下目录和文件。

编辑custom\conf\app.ini,在[server]项里面添加LANDING_PAGE = explore,然后重启exe访问。具体更多配置参数参考gitea官方文档

可以看到进入后直接跳转到``这个仓库页面了。

frp内网穿透https

点击安装后会在这个log上面等待几秒钟自动跳转到你刚刚输入的域名中,还没有frp穿透出去,所以肯定无法访问。

frp下载及配置方法可以去github里面找到,很详细。有几个细节要注意

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[common]
server_addr = xx.com
server_port = 7000
token = xxxxx

[test]
type = https
local_port = 3000
plugin = https2http
plugin_local_addr = 127.0.0.1:3000
custom_domains = xx.com
plugin_crt_path = ./xx.crt
plugin_key_path = ./xx.key
plugin_header_X-From-Where = frp

创建项目

Gitea的github官网里面有配置文件可以参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[repository.upload]
;; 是否启用存储库文件上传。默认为' true '
;ENABLED = true
;;
;; 上传路径默认为' data/tmp/uploads '(内容在gitea重启时被删除)
;TEMP_PATH = data/tmp/uploads
;;
;; 允许的文件扩展名(' .zip '), mime类型(' text/plain ')或通配符类型(' image/* ', ' audio/* ', ' video/* ')的逗号分隔列表。空值或' */* '允许所有类型。
;ALLOWED_TYPES =
;;
;; 每个文件的最大大小(MB)默认为3MB
FILE_MAX_SIZE = 300
;;
;; 每次上传的最大文件数量,默认值为5个。
;MAX_FILES = 5