FRP内网穿透工具

一、服务端安装:
1、下载frp最新版,最新版地址:https://github.com/fatedier/frp/releases,64位linux选择linux_amd64
wget https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz
2、解压缩
tar -xzvf frp_0.48.0_linux_amd64.tar.gz
3、重命名
mv frp_0.48.0_linux_amd64 frp048
4、编辑服务端配置
使用vim命令进入编辑模式,输入i后可以进行修改,修改完成后输入ESC,再输入:wq 退出编辑模式。
vim frps.ini[common]
bind_port = 7000 #通信接口
bind_udp_port = 7001 #服务端监听接口
kcp_bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_addr = 0.0.0.0
dashboard_port = 7500 #dashbord端口
dashboard_user = admin #dashbord用户名
dashboard_pwd = admin #dashbord密码
log_file = ./frps.log
log_level = info
log_max_days = 5
max_pool_count = 5
max_ports_per_client = 0
tcp_mux = true
token = password #通讯密钥

5、使用systemctl来控制启动,编辑 frps.service
sudo vim /lib/systemd/system/frps.service
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#Restart=always
Restart=on-failure
RestartSec=5s
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/root/frp048/frps -c /root/frp048/frps.ini
[Install]
WantedBy=multi-user.target

6、服务命令
# 设置开机自启动
sudo systemctl enable frps
# 启动应用
sudo systemctl start frps
# 重启应用
sudo systemctl restart frps
# 停止应用
sudo systemctl stop frps
# 查看应用的日志
sudo systemctl status frps

二、群晖安装(docker):
1、下载映像
拉取snowdreamtech/frpc
2、安装容器
选择host网络,选择“使用高权限执行容器”,选择“启用自动重新启动”;选择文件映射:本地frpc.ini的位置 → /etc/frp/frps.ini
3、编辑客户端配置
[tcp] #群晖系统的TCP协议
type = tcp #传输协议
local_ip = xxx.xxx.xxx.xxx #内网地址
local_port = 9837 #群晖使用的端口(非https)
remote_port = 60001
[http] #群晖系统的https协议
type = http
local_ip = xxx.xxx.xxx.xxx
local_port = 80
use_compression = true
custom_domains = domain.com
[https] #群晖系统带https协议
type = https
local_ip = xxx.xxx.xxx.xxx
local_port = 443
use_compression = true
custom_domains = domain.com
[qb]
type = http
local_ip = xxx.xxx.xxx.xxx #内网地址
local_port = 4356 #内网端口,用于区分不同带服务,比如qb、jellyfin等
custom_domains = qb.domain.com #域名或二级域名

三、域名解析
需要将你想使用的域名解析到服务端的公网ip

四、相关链接
github地址:https://github.com/fatedier/frp
dockerhub地址:https://registry.hub.docker.com/r/snowdreamtech/frpc/
中文文档:https://gofrp.org/

2013 千岛湖-金科游

上一次去千岛湖已经是10多年前的事。湖水还是这样干净,宁静,但淳安却变的找不到上一次去的记忆了。

【第一天】

2013 千岛湖-金科游
从港口出发已经3点,注定这次游湖游岛都将走马观花。

2013 千岛湖-金科游
突然发现一抹绿,实在艳丽<。/p>

2013 千岛湖-金科游

2013 千岛湖-金科游
鱼群还在追逐着游客抛洒的食物,却没机会喂那些鸟了,略感遗憾。

2013 千岛湖-金科游
还是喜欢夕阳下的千岛湖,给人水墨画般的诗意,却更有颜色

2013 千岛湖-金科游
在千岛湖中颠簸,虽然少了那份宁静,但也色彩斑斓

【第二天】

2013 千岛湖-金科游
吃过早餐就在度假村瞎逛

2013 千岛湖-金科游
没有机会坐游艇,只能意淫的拍拍照片

2013 千岛湖-金科游
微距小花一直是保留节目

2013 千岛湖-金科游
我们住的宾馆

设计师常见的问题(一)——需求和方案

我时常会听到类似的对话:
需求方:“我这里要新增一个选项,原来用户可以选择按数量购买,现在新增加一个按金额购买,你觉得用单选按钮还是用标签切换好?”
设计师:“标签切换吧,用单选按钮的话,界面会比较复杂,体验不好”
需求方:“我觉得单选按钮更直观,用户不用切换标签可以一目了然”
设计师:“但是这样的话…(此处省略500字)”

也许你也会经常听到这样的讨论,不就是设计师和需求方在讨论项目需求吗?不,你错了,他们不在讨论需求。他们跳过了需求,直接在讨论方案了。
这也是我们这次谈论的主题“需求和方案”

1. 需求和方案的关系

需求就是目前存在的问题,而方案是解决问题的方法。两者的关系就像确诊和开药一般:确认需求就是确诊,方案就是开药。先确诊后才能对症下药。如果还没确诊就讨论哪种药疗效好,不光治不了病,还会害人。所以,正确的理解需求是方案设计的源头,这个源头直接影响设计方案去向,需求理解正确了才能保证做正确的事,而设计方案只是把事做正确。

2. 如何区分需求和方案

区分需求和方案实际上很简单,需求就是用户的期望、顾虑:为了实现某一目的、为了达到某种效果,为了更方便、为了更便宜、为了更快的完成任务。需求和界面没有关系,和技术实现也没有关系。 而方案是为了满足需求而设计出来的解决办法,它可以有很多种,每一种的投入产出也不同,我们设计好的界面就是一种方案。

先看几个例子:
1)我这边需要做几个页面,让用户可以提交ta的建议
2)需要有一个比价的功能,让用户可以选择最优惠的商品
3)用户需要一个最简洁的方式来进行注册
以上3个例子中你觉得哪些是需求,哪些是方案?

///////////////我是一条答案分割线////////////////

1)
需要做页面——方案 ;用户可以提交ta的建议——方案
从这条中我理解的需求是:用户希望表达他的意见(或者是我们想知道用户的想法)。但解决这个问题有很多方法:提供用户填写建议的页面是一种方案。留下客服的电话和QQ,让用户主动联系;让用户留下联系方式,我们的客服回访都是解决方案。具体用哪一种方案就要具体问题具体分析,比如要知道用户为什么希望表达意见,用户表达的是什么意见等等。

2)
需要有一个比价的功能——方案;让用户可以选择最优惠的商品——需求
从这条中我理解的需求是:用户对于价格比较敏感,用户希望买到实惠的商品。但解决这个问题有很多方法:提供比价功能是一种方案。直接推送最实惠的商品;提供用户优惠券都是解决方案。具体哪一种方案就要具体问题具体分析,比如要知道用户为什么对价格敏感,出售商品的特点等等

3)
需要一个最简洁的方式来进行注册——方案
这条比较难理解它的需求,因为从这条看不出为什么要用户注册,所以首先要了解为什么要用户注册后才能判断

你都答对了吗?

3. 做设计?你先等一下

当需求方过来和你讨论,“我想要给用户两种选择,你觉得用单选按钮好还是用标签切换好?” 这时,别接着这个话题和他讨论下去。 没有了解需求的前提下讨论方案不靠谱。换做我就会说:“做设计?你先等一下,我想先了解XXXXX”

2012 chinajoy (2)

遗憾的是D70s在ISO超过600时就能明显的看到噪点了(目前微单也可以做到1600以下噪点控制的很好,让我情何以堪),所以在图片裁切就从预期的宽1000px缩到700px。下一届CJ要换台机器去战斗了,否则都对不起那些妹子。

2012 chinajoy (2)
F2.0 1/60s ISO500

2012 chinajoy (2)
F2.2 1/80s ISO500

2012 chinajoy (2)
F2.2 1/125s ISO500

2012 chinajoy (2)
F2.2 1/80s ISO500

2012 chinajoy (2)
F2.2 1/100s ISO500

2012 chinajoy (2)
F2.2 1/60s ISO500