当前位置:舒夏博客 > Android > 正文

作者:舒夏

手机扫码查看

frp客户端配置以及安卓手机web环境搭建

FRP官方地址:https://github.com/fatedier/frp/releases
FRPC非官方(貌似编译过的):https://github.com/sunliang711/frpc

找到自己的客户端版本,因为本人是用手机做的服务器,所以用的arm64版。

简单说一下手机怎么配置服务器。

当然是用的俄罗斯大神开发的ksweb,这个集成了php、ngnix、mysql等等软件,一键安装即可,方便快捷免折腾!

安装之前,首先手机要root,本人安装的是KSWEB_3.91.apk,安装后电脑连接手机,找到htdocs目录导入php文件即可。

值得一说的是,root里一定要ksweb自启动,ksweb设置里选择root授权、自动启动、锁定wifi,如果是x86架构估计就爽歪歪了,可惜本人的不是。
之后就要想怎么折腾手机了。

折腾手机,终端模拟器termux必不可少。
小窍门:按住音量键 输入Q 可以激活 触摸功能键,
默认终端是不支持直接输入中文 或者输入法的智能联想词组的,调出触控功能键后从右往左滑动,会出现一个文本框
这里可以输入中文或者输入法联想内容

当然termux也需要获取root权限,这样挂着能保持进程和运行状态。

一般折腾手机的话,想要进入sdcard的话。

cd /sdcard/子目录 #进入子目录
su #提root权限
chmod 777 file #修改文件运行权限

想要手机运行frp(可能需要编译版),文件执行权限必不可少,我折腾了半天,frpc都无法运行,后来查了下,才知道在sdcard一些文件没有执行权限,所以接下来就要用的另一个神器。

这就是大名鼎鼎的RE文件管理器,当然首先要获得root权限。

接下来就是要修改frpc以及frpc.ini的运行权限了,我是都改成了777,省的权限不足运行失败。

修改了权限运行客户端就很简单了。

当然修改frpc.ini也必不可少。

[common]  #名称唯一,随意取 
server_addr = #服务器ip 
server_port = 7000  #frp服务器端口 

[ssh]  #名称唯一,随意取 
type = tcp  #类型可以是ssh http https tcp 等 
local_ip = 192.168.0.15 #客户端子网IP 
local_port =8080        #客户端子网端口 
remote_port = 6000       #数据转发路径 
#启用加密 
use_encryption = true 
#启用压缩 
use_compression = true 
[web]  #名称唯一,随意取 
type = http    #类型可以是ssh http https tcp 等 
local_ip = 192.168.0.15 #客户端子网IP 
local_port = 8001    #客户端子网端口 
custom_domains = xxx.xxx.xxx.com #绑定自定义域名

简单运行:

./frpc -c ./frpc.ini

后台保持

setsid ./frpc -c ./frpc.ini

这个命令xshell是可以用,不知道termux支持不。

OK,可以域名+remote_port端口看看本地web穿透成功与否。

另外还可以通过域名+7500端口查看frp的状态以及代理统计信息展示,登录的用户名以及密码是服务端配置的。

因为访问是通过域名+端口访问的,这样很不方便,这里我们可以用ngnix的配置文件映射一下80端口。

#user  nobody; 
worker_processes  2; 
worker_cpu_affinity 01 10; 
#error_log  logs/error.log; 
#error_log  logs/error.log  notice; 
#error_log  logs/error.log  info; 

#pid        logs/nginx.pid; 


events { 
    worker_connections  1024; 
} 


http { 
    include       mime.types; 
    default_type  application/octet-stream; 

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main; 

    sendfile        on; 
    #tcp_nopush     on; 

    #keepalive_timeout  0; 
    keepalive_timeout  65; 

    #gzip  on; 
     
    upstream wx { 
       ip_hash; 
       server localhost:8080 weight=1 max_fails=3 fail_timeout=60s;
           server localhost:8088 weight=1 max_fails=3 fail_timeout=60s;
    } 
     
    server { 
        listen       80; 
        server_name  localhost; 
        access_log  /home/nginxlog/wx_access.log; 

        location / { 
            proxy_redirect          off; 
            proxy_set_header Host $host:$server_port; 
            proxy_set_header X-Forwarded-For $remote_addr; 
            client_max_body_size      20m; 
            client_body_buffer_size 128k; 
            proxy_connect_timeout   600; 
            proxy_send_timeout      600; 
            proxy_read_timeout      900; 
            proxy_buffer_size       4k; 
            proxy_buffers           4 32k; 
            proxy_busy_buffers_size 64k; 
            proxy_temp_file_write_size 64k; 
            proxy_pass http://wx; 
        } 

    } 

        server { 
                listen       80; 
                server_name  *.javen.abc.com; 
                access_log  /home/nginxlog/frp_access.log; 

                location / { 
                        proxy_redirect          off; 
                        proxy_set_header Host $host:$server_port;
                        proxy_set_header X-Forwarded-For $remote_addr; 
                        client_max_body_size      20m; 
                        client_body_buffer_size 128k; 
                        proxy_connect_timeout   600; 
                        proxy_send_timeout      600; 
                        proxy_read_timeout      900; 
                        proxy_buffer_size       4k; 
                        proxy_buffers           4 32k; 
                        proxy_busy_buffers_size 64k; 
                        proxy_temp_file_write_size 64k; 
                        proxy_pass http://127.0.0.1:9988/; 
                } 

        } 
     
    server { 
        listen       8888; 
        server_name  localhost; 
        access_log   /home/nginxlog/static_access.log; 

        location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css|apk)$ 
        { 
            root /home/ftp/private;  
            expires 7d;  
        } 
    } 

    # another virtual host using mix of IP-, name-, and port-based configuration 
    # 
    #server { 
    #    listen       8000; 
    #    listen       somename:8080; 
    #    server_name  somename  alias  another.alias; 

    #    location / { 
    #        root   html; 
    #        index  index.html index.htm; 
    #    } 
    #} 


    # HTTPS server 
    # 
    #server { 
    #    listen       443 ssl; 
    #    server_name  localhost; 

    #    ssl_certificate      cert.pem; 
    #    ssl_certificate_key  cert.key; 

    #    ssl_session_cache    shared:SSL:1m; 
    #    ssl_session_timeout  5m; 

    #    ssl_ciphers  HIGH:!aNULL:!MD5; 
    #    ssl_prefer_server_ciphers  on; 

    #    location / { 
    #        root   html; 
    #        index  index.html index.htm; 
    #    } 
    #} 

}

下面是我在用的。

server { 
        listen       80; 
       server_name frpc.mycd.in *.frpc.mycd.in; 
  
        #charset koi8-r; 
  
        #access_log  logs/host.access.log  main; 
         
         
        #微信公众号测试 
    location / { 
         
             
             
            proxy_pass  http://127.0.0.1:6000; 
            #Proxy Settings 
            proxy_redirect     off; 
            #proxy_set_header Host downloads.openwrt.org; 
            proxy_set_header   Host             $host:6000; 
            proxy_set_header   X-Real-IP        $remote_addr; 
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_max_temp_file_size 0; 
            proxy_connect_timeout      90; 
            proxy_send_timeout         90; 
            proxy_read_timeout         90; 
            proxy_buffer_size          4k; 
            proxy_buffers              4 32k; 
            proxy_busy_buffers_size    64k; 
            proxy_temp_file_write_size 64k; 
        } 

    #禁止访问的文件或目录 
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    { 
        return 404; 
    } 
     
    #一键申请SSL证书验证目录相关设置 
    location ~ \.well-known{ 
        allow all; 
    } 
    #解决反向代理后js css等文件无法加载 
     location ~ .*\.(js|css|eot|ttf|woff|svg|otf)$ {  
             proxy_pass http://frpc.mycd.in:8080; 
         }  
     
    access_log  /www/wwwlogs/frpc.mycd.in.log; 
    error_log  /www/wwwlogs/frpc.mycd.in.error.log; 
         
    }
未经允许不得转载:

作者:舒夏, 转载或复制请以 超链接形式 并注明出处 舒夏博客
原文地址:《frp客户端配置以及安卓手机web环境搭建》 发布于2020-01-13

分享到:
赞(1) 打赏

评论 抢沙发

4 + 9 =


frp客户端配置以及安卓手机web环境搭建

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题

专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

了解一下

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录