golang 项目练习 - 临时云

本贴最后更新于 1801 天前,其中的信息可能已经天翻地覆

前几天看了个帖子有人在问有没有 临时网上放 json 的网盘并且能直连访问的 用于测试. 加之这两天学了 golang 于是就写了这么个小项目

项目

logo.png

项目地址
还有很多功能可以完善,感兴趣的朋友可以去扩展
例如 权限、统计、协同、等等(学完 go 可以用来练练手项目很小很容易修改)

线上地址

用途

前端页面测试,json 测试,临时网盘

子域名访问实现

域名:tempyun.com
文件:a.txt
通过主域名访问路径如下:
http://tempyun.com/service/files/{用户名}/a.txt

实现访问路径:
http://{用户名}.tempyun.com/a.txt

实现:
将域名泛解析到服务器 ip *.tempyun.com 192.168.1.1

通过过滤器将子域名(用户名)提取

服务代理访问路径并返回

func Ymfilter() {
	var Filter = func(ctx *context.Context) {
		doamin := beego.AppConfig.String("doamin")
		if ctx.Input.Host() != doamin {
			req := httplib.Get(strings.Replace(ctx.Input.Site(), ctx.Input.Host(), doamin, -1) + ":" + strconv.Itoa(ctx.Input.Port()) + "/" + strings.Replace(ctx.Input.Host(), "."+doamin, "", -1) + ctx.Input.URL())
			bytes, _ := req.Bytes()
			ctx.ResponseWriter.Write(bytes)
		}
	}
	beego.InsertFilter("/*", beego.BeforeRouter, Filter)
}
  • Beego
    8 引用 • 9 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1387 回帖 • 283 关注
  • tempyun
    1 引用 • 1 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 2501224066

    有点粗糙,没搞懂需求点