美文网首页
搭建公网临时文件服务

搭建公网临时文件服务

作者: 2016晓 | 来源:发表于2023-10-12 17:05 被阅读0次

如果打算在手机上看一些视频、文档,但手机的存储空间不足时,可以使用本文的思路搭建文件服务。在手机上,通过互联网在线观看。
1、本地开启静态文件服务。如:使用node

var express = require('express');
var app = express();
const path = require('path');
app.use('/static',express.static(path.join(__dirname,'static')));
app.get('/', function (req, res) {
    res.send({
        name:'asdf',
        age:19
    })
});

var server = app.listen(27890, function () {
   var host = server.address().address;
   var port = server.address().port;
  //  服务器IP地址为127.0.0.1 端口为8888
   console.log( "server is running"+host+port);
 });

2、打开在线ide( https://ide.aliyun.com/ ),下载&启动v2ray服务端、frp服务端。v2ray配置内容:(v2ray协议需要设置为websocket)。

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [{
    "port": 28089,
    "listen": "0.0.0.0",
    "tag": "ws-inbound",
    "protocol": "vmess",
    "settings": {
        "clients": [
          {
            "id": "b831381d-6324-4d53-ad4f-7cda68b30851",  // 用户 ID,
            "alterId": 0
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
        "path": "/off"
        }
      }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {},
    "tag": "direct"
  }]
}
image.png
image.png

3、将v2ray服务端口设置为公开。


image.png

4、本地安装&启动v2ray客户端,配置服务端为以上


image.png

5、使用golang编写&运行如下程序:(监听本地17001端口,将请求通过本地1080端口sock代理,转发至ide服务器7001端口。端口号按实际修改)

package main

import (
    "io"
    "net"
    "time"

    "golang.org/x/net/proxy"

    "github.com/sirupsen/logrus"
)

func main() {
    //监听
    listener, err := net.Listen("tcp", "0.0.0.0:17001")
    if err != nil {
        logrus.Errorf("[%s] failed to listen at %s", "rule.Name", "rule.Listen")
        return
    }
    logrus.Infof("[%s] listing at %s", "rule.Name", "rule.Listen")
    for {
        //处理客户端连接
        conn, err := listener.Accept()
        if err != nil {
            logrus.Errorf("[%s] failed to accept at %s", "rule.Name", "rule.Listen")
            time.Sleep(time.Second * 1)
            continue
        }
        go handleRegexp(conn)
    }
}

func handleRegexp(conn net.Conn) {
    defer conn.Close()

    //正则模式下需要客户端的第一个数据包判断特征,所以需要设置一个超时
    conn.SetReadDeadline(time.Now().Add(time.Millisecond * 10000))

    var target net.Conn
    dailer, err := proxy.SOCKS5("tcp", "127.0.0.1:1080", nil, proxy.Direct)
    if nil != err {
        panic(err)
    }
    target, err = dailer.Dial("tcp", "127.0.0.1:7001")
    if target == nil {
        logrus.Errorf("[%s] unable to handle connection (%s) because no match target",
            "rule.Name", conn.RemoteAddr())
        return
    }
    if nil != err {
        panic(err)
    }

    logrus.Debugf("[%s] handle connection (%s) to target (%s)", "rule.Name", conn.RemoteAddr(), target.RemoteAddr())
    //匹配到了,去除掉刚才设定的超时
    conn.SetReadDeadline(time.Time{})

    defer target.Close()

    //io桥
    go io.Copy(conn, target)
    io.Copy(target, conn)
}

6、本地安装&启动frp客户端。端口号实际修改

[common]
server_addr = 127.0.0.1
server_port = 17001

[static]
type = tcp
local_ip = 127.0.0.1
local_port = 27890
remote_port = 27890

7、将在线ide frps开启的27890端口公开,使用对应网址就能访问静态文件服务了


image.png
image.png

相关文章

  • ssh连接内网Linux服务器

    疫情期间远程办公,搭建了VPN方便远程连接公司服务器,VPN连接需要知道公司的公网ip,而公网ip是动态变化,所以...

  • ubuntu 16.04搭建ngrok内网穿透服务(转)

    ubuntu 16.04搭建ngrok内网穿透服务 从公网访问内网部署的服务有很多方式,比如以花生壳为代表的商业内...

  • 持续集成环境搭建(三):利用Harbor搭建私有镜像仓库和Mir

    利用Harbor搭建私有镜像仓库和Mirror服务器,可以让K8S节点通过Mirror服务器获取公网镜像,通过私有...

  • NTP 内网服务器搭建

    ntp 内网时间同步服务 目的 因为内网服务器没法连接到公网时间服务器进行服务器时间校准,所以在内网搭建公共时间服...

  • 腾讯云服务器

    腾讯云服务器 点击添加纪录,红色框框里面填写自己的公网IP即可。 阿里云上搭建php+mysql服务,并使用ftp...

  • Nginx无Https证书反向代理

    起因 在我们托管服务器中,有闲置服务器需要给子公司使用,在内网为其搭建了虚拟服务器,通过公网Nginx反向代理的内...

  • frp内网穿透

    需求 如何在家实现访问学校或公司内局域网服务器? 搭建frp服务 前提:需要一个公网ip,可以通过购买阿里云、华为...

  • tcp_tw_recycle和tcp_timestamps导致c

    问题现象 一个搭建好的几台云服务器上面配置好了SNAT,其中某些通过公网访问A服务器通,而同样网络环境下的服务器访...

  • 使用frp代理本地机器到公网

    使用frp代理本地机器到公网 博客地址: www.vonchange.com 闲置主机做开发服务器搭建ubuntu...

  • 搭建自己的内网穿透,搭建ngrok服务器

    有时向客户展示系统不太方便就打算弄个内网穿透 1、必要条件 (1)服务器,用来搭建ngrok的服务器,必须有公网i...

网友评论

      本文标题:搭建公网临时文件服务

      本文链接:https://www.haomeiwen.com/subject/rylobdtx.html