只要你刷了Openwrt的官方镜像或者L大或者Lean大的程序,那么默认的话只有两个网卡,都是先lan,然后wan
换句话说,如果你买的是工控机软路由,那么无论是几个口,肯定eth0 是lan,eth1是wan,如果有eth2 和eth3的话,默认是没有是用的
如果你是在hyper-v上虚拟的软路由,那么你先添加的是哪个网卡,那个网卡就是lan,添加的第二个网卡就是wan,默认的说
只要你刷了Openwrt的官方镜像或者L大或者Lean大的程序,那么默认的话只有两个网卡,都是先lan,然后wan
换句话说,如果你买的是工控机软路由,那么无论是几个口,肯定eth0 是lan,eth1是wan,如果有eth2 和eth3的话,默认是没有是用的
如果你是在hyper-v上虚拟的软路由,那么你先添加的是哪个网卡,那个网卡就是lan,添加的第二个网卡就是wan,默认的说
这个忘了是在哪看到的了,转过来做个记录,虽然大部分银行账户我都有了
本文仅介绍在香港和内地有影响力的大行,中资马甲行如民生、信银等在内地就能以一个很低的成本见证开到,无非就是没有什么服务,各种费用高,作为临时或短期使用完全可以,本文不再介绍。
本文用★的个数对各银行及其户口做综合评估,5星级银行★★★★★,这类银行及户口,一般具有往来汇款手续费低廉(免费),或两地转账秒到,或网银功能强大易用,或内地用户在线申请信用卡易批核等难以复制的优点,对于某项具体业务有需求的,强烈建议先开立5星银行户口。
第一类:非常好开的
这类银行没啥好说的,完全是中资银行的马甲,主要客群就是内地人,比较缺客户,所以开户非常容易,先预约,直接去开就行了,不过服务就非常一般了,多数银行还有账户最低结余的收费。
代表银行:永隆银行★★★(独特优势:银证转账功能强大;给香港AE信用卡还款,次日即到),招行银行香港分行★★等。
开户姿势:先预约(可以是网银或APP上预约,也可以电话预约,预约时可以提前填资料),亲临分行直接开,不过要做好排队的心理准备。
第二类:比较好开的
这类银行服务比较好,中资外资都有,可以选择没有最低结余的户口开立。不过可能是由于不太缺客户,所以多半要求买理财或保险产品,不过不要求立即买。套路也是一样,先预约,直接去开就行了,然后和理财经理聊天,开立户口。
代表银行:中银香港(自在/智盈理财)★★★★★【五星理由:本地网银转账免费、中港两地同名转账手续费全免】、工银亚洲★★★★(综合账户/e时代)、恒生银行★★★(优进理财)、南洋商业银行★★★(自在/智盈理财)等。
开户姿势:先预约,亲临分行和理财经理沟通后,直接开。
第三类:不算难开,但需要聊天比较久的
这类银行规模很大,往往具有全球布局,服务比较好,可以选择没有最低结余的户口开立。不算难开,不过可能是由于完全不缺客户,所以多半要求买理财或保险产品,通常聊天比较久的,并且他们要感觉在你身上能发现利润的点,这类银行你需要准备一个上午或下午的时间过去,往往会对你进行尽职调查和理财分析,不过不要求立即买。套路也是一样,先预约,直接去开就行了,然后和理财经理深入聊天,让他感觉你能带来利润,随之开立户口。
代表银行:汇丰银行(One综合户口)★★★★★【五星理由:本地网银转账免费、海外电汇、本地外币CHATS转入均不收落地费、网银功能丰富强大、全球汇款7*24汇款免费秒到(卓越用户)、投资户口开立、内地用户网银申请信用卡可秒批并直邮国内……】、渣打银行(快易/premium理财)★★★★★等【五星理由:本地网银转账免费、全球取现免费(premium理财)】。
开户姿势:先预约,亲临分行和理财经理沟通后,直接开。
第四类:比较难开
这类银行服务比较好,可以选择没有最低结余的户口开立。不过这类银行估计是不太喜欢内地游客客户,所以会对你进行比较详细的尽职调查和理财分析。聊天时间会更久,同样他们要感觉在你身上能发现利润的点,这类银行你同样需要准备一个上午或下午的时间过去,有可能叫你立即买,否则就不开户。不过这类银行在程序上也不是铁板一块,完全有商量的余地,例如以后再存款,以后再购买。套路也是一样,先预约,直接去开就行了,然后和理财经理深入聊天,让他感觉你能带来利润,随之开立户口,口才不好的可能需要做好被拒绝的心理准备。
代表银行:东亚银行★★★★★(i-account户口)【五星理由:中港两地转账转他人实时到账,落地费仅65HKD或免费(至尊或卓显理财)】、大新银行★★★(i-account户口)、永亨银行★★★(综合理财户口)等。
开户姿势:先预约,亲临分行和理财经理沟通后,直接开。
第五类:非常难开
这类银行要么就是服务非常好、门槛非常高,要么就是银行里有不成文的政策一般不给内地游客开户。当然,规章制度既然没有明文写一定不能开,那就是仍有开立的可能,值得各位飞友发挥和探索。去这类银行开户,首先应仔细学习银行香港开户政策,然后借鉴已成功开户朋友的经验,结合自己的情况,制定个性化的方案,各个击破,达到成功开立户口的目的。
代表银行:花旗银行★★★★★(原则上对内地用户仅开立citigold户口)——原则上开户需准备不低于150万港币一次性存入,并购买产品;【优势:母公司在美国,美国业务优势,大量费用减免】星展银行★★★★★(原则上对内地用户仅开立丰盛理财户口)——原则上开户需准备不低于100万港币一次性存入,并购买产品;【优势:如涉及与敏感的国家、敏感行业往来的合规交易,(敏感国家:马来西亚,泰国,菲律宾,俄罗斯,迪拜,朝鲜,中东国家,印度哥伦比亚),星展银行有一定的处理经验。】交银香港★★★★(中资)——原则上不允许内地人开户;【优势:各项费用较低。】上海商业银行★★★★(两岸三地)——原则上不允许内地人开户;【优势:两岸三地业务优势,协助开立台湾户口。】富邦香港★★★★(台资)——原则上不允许内地人开户。【优势:台湾本土业务优势,协助开立台湾户口。】等
最近在研究openwrt的编译.
因为openwrt的编译不能使用root用户,所以必须得自己添加一个用户:
adduser openwrt
然后在openwrt用户下使用sudo:
sudo apt update
会报这个错误:
openwrt is not in the sudoers file. This incident will be reported
这是因为openwrt 不在管理组,没有sudo的权限.
解决的办法也很简单,在root用户下把openwrt加入sudo组即可
usermod -aG sudo openwrt # a stands for append, G stands for Group, usually use aG together
再或者使用visudo命令,这个命令其实就是编辑/etc/sudoers
往下拉,看到这一行
#User privilege specification root ALL=(ALL:ALL) ALL
在root的下面添加上自己的用户名:
#User privilege specification root ALL=(ALL:ALL) ALL username ALL=(ALL:ALL) ALL
保存退出即可
开了一台甲骨文的San Jose 数据中心的Cloud VM,默认支持的系统中没有debian,因此退而求其次选择了ubuntu 18.04 minimum.
按照习惯,把SSH端口从22改成了一个其他的端口,但是确发现SSH始终都连不上了. 检查了这个VM的security list,所有的端口都打开了,没有问题,看来问题只能出在ubuntu的默认防火墙上了.
默认的ubuntu 18.04的防火墙是iptables, 默认没有安装ufw,而且oracle 官方也不推荐使用ufw(这是后来才知道的)
可是按照ubuntu/debian的默认安装,防火墙iptables虽然是默认开启的,但是里面没有任何的规则. google了半天才发现原来是Oracle给他的默认的linux 的OS 都写入了默认的规则,路径在/etc/iptables/rules.v4 和rules.v6.
把rules.v4的规则里的两条reject 规则给他comment out,就可以了.
#-A INPUT -j REJECT --reject-with icmp-host-prohibited #-A FORWARD -j REJECT --reject-with icmp-host-prohibited
discuz 论坛 用户注册流程
第一步:
/source/class/class_member.php: on_register注册入口
L602 左右
if(!$activation) {//不为空,说明用户已经注册过
//将用户注册到用户中心,调用第二步uc_user_register方法
$uid = uc_user_register(addslashes($username), $password, $email, $questionid, $answer, $_G[‘clientip’]);
第二步:
/uc_client/client.php: uc_user_register 调用将用户注册到用户中心的方法,调用第三步的onregister方法
第三步:
/uc_client/control/user.php: onregister 将用户注册到用中心,调用第四步add_user方法
第四步:
/uc_client/model/user.php:add_user 将用户注册到ucenter返回用户id
第五步:
/source/class/class_member.php:
L685行 左右,会把用户信息写到common_member表。注册结束
C::t(‘common_member’)->insert($uid, $username, $password, $email, $_G[‘clientip’], $groupinfo[‘groupid’], $init_arr);
discuz 论坛 登陆流程
第一步:
/source/class/class_member.php: on_login 登陆入口
87行左右,调用userlogin方法如下:
$result = userlogin($_GET[‘username’], $_GET[‘password’], $_GET[‘questionid’], $_GET[‘answer’], $this->setting[‘autoidselect’] ? ‘auto’ : $_GET[‘loginfield’], $_G[‘clientip’]);
第二步:
/source/function/function_member.php: logincheck
72行左右 调用 logincheck,如下:
if(!($_G[‘member_loginperm’] = logincheck($_GET[‘username’]))) {
showmessage(‘login_strike’);
}
第三步:
/source/function/function_member.php: userlogin 用户登陆查询相关表
第29行-40行左右会用调用uc_user_login方法
if($isuid == 3) {
if(!strcmp(dintval($username), $username) && getglobal(‘setting/uidlogin’)) {
$return[‘ucresult’] = uc_user_login($username, $password, 1, 1, $questionid, $answer, $ip);// uc_client/client.php
} elseif(isemail($username)) {
$return[‘ucresult’] = uc_user_login($username, $password, 2, 1, $questionid, $answer, $ip);// uc_client/client.php
}
if($return[‘ucresult’][0] <= 0 && $return[‘ucresult’][0] != -3) {
$return[‘ucresult’] = uc_user_login(addslashes($username), $password, 0, 1, $questionid, $answer, $ip);
}
} else {
$return[‘ucresult’] = uc_user_login(addslashes($username), $password, $isuid, 1, $questionid, $answer, $ip);
}
/uc_client/client.php: 包含uc_开头的全部方法,例uc_user_login
/uc_client/control/user.php: onlogin 根据条件判断登陆,114-120 判断查询条件查询出ucenter用户信息
/uc_client/model/user.php 包含有get_user_by_uid,get_user_by_username 等方法 第50行左右查询common_member表,如下:
$member = getuserbyuid($return[‘ucresult’][‘uid’], 1);
回到/source/class/class_member.php文件on_login方法
第95-106 行左右会根据条件$result[‘status’]==-1 ,写common_member表,并查询出写入信息
C::t(‘common_member’)->insert($uid, $result[‘ucresult’][‘username’], md5(random(10)), $result[‘ucresult’][’email’], $_G[‘clientip’], $groupid, $init_arr);
$result[‘member’] = getuserbyuid($uid);
————————————————————————————-
ps:以上所有方法都会先执行
/source/class/discuz/discuz_application.php: _init_user
所以如果要自己写checklogin 可以考虑从_init_user 方法入手
如果与自己的平台做bbs的打通。
注册可以考虑在第4步做操作,调用自己平台的注册接口。注册用户,并将用户id返回。写入到ucenter
/uc_client/model/user.php:add_user 方法内
登陆打通可以考虑在 第三步调用 uc_user_login 方法前,
1.调用自己平台接口查询用户相关信息
2.查询ucenter中用户是否存在
3.如果不存在insert一条数据
4.common_member可以写也可以不写 ,如此时不写 $result[‘status’]==-1 会在class_member 95-106 行左右写入
如果在自己平台处于登陆状态,在discuz 也为登陆状态,则可以考虑从_init_user 方法入手。做登录判断
我们的网站要和Discuz整合到一起,有个新用户同步的需求,网络上很多的做法是用 UCenter的接口来做,反正最后都是插入SQL,笔者使用了直接操作数据库的方式,把操作的表和SQL整理了下,后面如果有时间做个SSO就省事了
版本:dz 3.2版本 ucenter1.6版本
目标:插入普通用户,最小可用就行了,可以登录
SQL记录:
注意:表名称前缀根据配置可能不同, 一共有8张表
SELECT *FROM pre_ucenter_members; -- UCenter用户数据表 uid, username, password, email, regip(默认写一个值), regdate(时间戳), salt(随机6位字母数字) SELECT *FROM pre_ucenter_memberfields; -- UCenter用户扩展信息数据表 插入 uid SELECT *FROM pre_common_member; -- 主用户表 插入的字段 email, username, password, emailstatus, regdate(时间戳) -- 得到uid再插入其它表 SELECT *FROM pre_common_member_count; -- 用户数据统计 各种积分,动态等 插入 uid SELECT *FROM pre_common_member_field_forum; -- 用户论坛设置数据表 插入 uid SELECT *FROM pre_common_member_field_home; -- 用户家园设置数据表 插入 uid SELECT *FROM pre_common_member_profile; -- 用户个人资料数据表 插入 uid SELECT *FROM pre_common_member_status; -- 用户状态数据表 插入 uid -- 下面是插入一个普通用户的测试, 这里根据id自增,自己算出了uid,便于sql书写 -- lzz, 邮箱 [email protected], 密码 xyz2541 -- 需要计算的密码 pre_common_member 密码为 md5(password) 2cf5c897f58ca21cac9bec93f46f6f53 -- pre_ucenter_members salt yyy111 密码为 md5(md5(password)+salt) 4fab791987738fce5f11504a0fe2a342 -- MYSQL mode 设置的比较严格,所以很多默认值要自己加上。。 INSERT INTO pre_ucenter_members SET uid=7, username='lzz', `password`='4fab791987738fce5f11504a0fe2a342', email='[email protected]', regip='127.0.0.1', regdate=UNIX_TIMESTAMP(), salt='yyy111'; INSERT INTO pre_ucenter_memberfields SET uid=7, blacklist=''; INSERT INTO pre_common_member SET uid=7, username='lzz', `password`='2cf5c897f58ca21cac9bec93f46f6f53', email='[email protected]', emailstatus=1, regdate=UNIX_TIMESTAMP(); INSERT INTO pre_common_member_count SET uid=7; INSERT INTO pre_common_member_field_forum SET uid=7, `medals`='', `sightml`='', `groupterms`='', `groups`=''; INSERT INTO pre_common_member_field_home SET uid=7, `spacecss`='', `blockposition`='', `recentnote`='', `spacenote`='', `privacy`='', `feedfriend`='', `acceptemail`='', `magicgift`='', `stickblogs`=''; INSERT INTO pre_common_member_profile SET uid=7, `bio`='', `interest`='', `field1`='', `field2`='', `field3`='', `field4`='', `field5`='', `field6`='', `field7`='', `field8`=''; INSERT INTO pre_common_member_status SET uid=7;
在Discuz的数据库中插入到数据库之后,web端就能登录了
这个代码是搜索到的,主要看一下需要在数据库里更新哪些表格.
将下面的代码复制到一个php中,并在浏览器中输入地址执行:
<?php $dbserver =’localhost’; //此处改成数据库服务器地址 $dbuser =’root’;//此处写数据库用户名 $dbpwd =’1234′;//数据库密码 $dbname =’disucz’;//数据库名称 $charset =’gbk’;//此处写字符集gbk或者utf8 $uc_pre =’pre_ucenter_’;//UC表前缀 $dx_pre =’pre_’;//Discuz! X2表前缀 //此行开始向下不要改动 set_time_limit(0); //0为无限制 $connect=mysql_connect($dbserver,$dbuser,$dbpwd) or die(“无法连接数据库”); @mysql_select_db($dbname,$connect); mysql_query(“set names $charset”); $query = mysql_query(“SELECT * FROM `{$uc_pre}members` WHERE `uid` not in(select `uid` from `{$dx_pre}common_member`) “,$connect); while($user = mysql_fetch_array($query)) { $password=$user[password]; mysql_query(” replace INTO `{$dx_pre}common_member` (uid,username,password,adminid,groupid,regdate,email) VALUES (‘$user[uid]’, ‘$user[username]’, ‘$password’,’0′,’10’,’$user[regdate]’,’$user[email]’) “); mysql_query(” replace INTO `{$dx_pre}common_member_field_forum` (uid) VALUES (‘$user[uid]’)”); mysql_query(” replace INTO `{$dx_pre}common_member_field_home` (uid) VALUES (‘$user[uid]’)”); mysql_query(” replace INTO `{$dx_pre}common_member_count` (uid) VALUES (‘$user[uid]’)”); mysql_query(” replace INTO `{$dx_pre}common_member_profile` (uid) VALUES (‘$user[uid]’)”); mysql_query(” replace INTO `{$dx_pre}common_member_status` (uid) VALUES (‘$user[uid]’)”); } echo “已从UC批量导入激活成功”; ?>
注释: 连接到数据库后,PHP会比对UC和DZ用户表的数据,发现不存在于DZ但是存在于UC的用户,就会把用户导入到DZ,但是这一注册不会设置其他内容,比如用户填写的详细信息,由于以前是存储在DZ数据库中,所以还是丢失了
这样子用户已经全部导入,用户数也恢复了正常
下一步,将用户的邮箱验证全部设置为已验证
数据库执行:
update pre_common_menber set emailstatus="1";
注释:这是更新数据库中emailstatus字段,1为验证 pre记得改为你的论坛的前缀
1、访问 http://www.cz88.net ,下载“IP数据库下载”,安装
2、将安装目录下的 qqwry.dat 文件上传文件到 Discuz! 的 data/ipdata 目录下并更名为 wry.dat
3、删除 tinyipdata.dat
目前我的网站架构里面大量使用了scaleway(online.net)的Pro-4-L的服务器. 这种服务器使用的SSD,主要有两个牌子,一个三星的evo850 SSD,一个是美光的M1000 SSD
在安装了ESXi的情况下, evo 850 可以使用ESXi 默认的驱动 vmw-ahci就可以保证满速,但是美光的M1000系列就需要回退到ahci驱动,才能保证满速.
Google Voice 有两个app,一个是google voice,一个是hangouts, 这两个app相比较来说肯定是hangouts好用很多
但是这个只是在苹果手机上而言, 在苹果手机上你可以使用hangouts来接发短信和拨收电话,确实很方便
但是在安卓手机上,hangouts 只能接受和发短信,无法拨打电话,需要一个叫做环聊拨号器的app,也是google开发的,但是
环聊拨号器这个app 早在2015年就停止更新了
因此在苹果手机上使用hangouts,在安卓手机上使用GV apps 是最好的选择