Vultr,为什么我SSH登录突然需要centos 密钥登录

查看: 19034|回复: 2
vultr怎么重置root密码呀。。。求指点
ssh连不上了。。。
https://www.vultr.com/docs/boot-into-single-user-mode-reset-root-password
https://www.vultr.com/docs/boot-into-single-user-mode-reset-root-password
谢谢。搞定了
Powered by没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!远程可以ssh连上服务器,打开ss就什么都打不开。这是ip被墙了?【vultr吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:14,438贴子:
远程可以ssh连上服务器,打开ss就什么都打不开。这是ip被墙了?
小白不是很懂,请教一下。服务器能连上,网站账户上也是正常的。但是shadowsocks开了之后什么网站都连不上了,国外国内的网站都打不开。也是这两天才出的问题。这个就是IP被墙了吗,还是说别的问题?怎么解决呢?
分享vultr以及VULTR优惠攻略,海淘领vultr就上券大巴!VULTR优惠网,专注vultr分享!无需注册,VULTR优惠码即领即用!
没被墙,顶多被封了端口
开着ssr的时候,连上服务器,可以看到已连接的信息。但是就是什么网站都打不开,包括。
ss设置有问题吧
你的ss是用什么客户端?有没有可能是dns污染?
能ping通就是没被墙吧
贴吧热议榜
使用签名档&&
保存至快速回贴vultr ssh keys 有没有必要_百度知道
vultr ssh keys 有没有必要
我有更好的答案
这些选项不用管,默认就好。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。大叔,你怎么看!
需求当VPS暴露在外网中,就会有人不断暴力破解你的SSH登录。于是就有必要使用SSH密钥来登录。并关闭密码登录。用以下命令可以查看别人暴力破解你SSH密码登录的大概情况!
1grep &Failed password for invalid user& /var/log/secure | awk &{print $13}& | sort | uniq -c | sort -nr | more
就我自己的购买的VPS来说。暴力破解次数最多达到2475次!各位也可以去看看自己的。。
生成使用ssh-keygen在自己的PC上来生成密钥对。Linux或者macOS都可以直接通过terminal来操作!如果是windows。需要用PuTTYgen软件来生成。
12345678[root@host ~]$ ssh-keygen -t rsa &== 建立密钥对Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): &== 按 EnterCreated directory &/root/.ssh&.Enter passphrase (empty for no passphrase): &== 输入密钥锁码,或直接按 Enter 留空Enter same passphrase again: &== 再输入一遍密钥锁码Your identification has been saved in /root/.ssh/id_rsa. &== 私钥Your public key has been saved in /root/.ssh/id_rsa.pub. &== 公钥
配置Vultr创建VPS的时候可以直接制定SSH密钥登录。。如果是已经创建好的VPS。
将id_rsa.pub 放到/root/.ssh目录下。并改名为authorized_keys
修改sshd_config配置文件vi /etc/ssh/sshd_config
重启SSH服务,centos7使用命令systemctl restart sshd,centos6使用命令/etc/init.d/sshd restart
sshd_config配置文件修改相关选项如下:
12345RSAAuthentication yes #RSA认证PubkeyAuthentication yes #开启公钥验证AuthorizedKeysFile .ssh/authorized_keys #验证文件路径PasswordAuthentication no #禁止密码认证PermitEmptyPasswords no #禁止空密码
自此。便成功更改为密钥登录!
其他如果你用的是Window系统要登录VPS需要将私钥下载到客户端,然后转换为 PuTTY 能使用的格式
使用 WinSCP、SFTP 等工具将私钥文件 id_rsa 下载到客户端机器上。然后打开 PuTTYGen,单击 Actions 中的 Load 按钮,载入你刚才下载到的私钥文件。如果你刚才设置了密钥锁码,这时则需要输入。
载入成功后,PuTTYGen 会显示密钥相关的信息。在 Key comment 中键入对密钥的说明信息,然后单击 Save private key 按钮即可将私钥文件存放为 PuTTY 能使用的格式。
今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -& SSH -& Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。
需求数据库就是命脉。一切东西都可以不见。环境没了重新搭建。。系统崩了。重装。。但是数据没了。哭去吧。。于是定期备份数据库别提有多重要的。。你可以选择定期备份在服务器上。也可以选择定期备份到自己的PC上。本文是定期备份到我自己的macOS上。。其他系统可以参考!
Mysql相关设置创建一个专门用于备份的用户,当然你喜欢用root用户来备份也是可以!先登录mysql
mysql -u root -p
创建备份权限的用户{bakname},{passwd}自行修改
12GRANT SELECT,RELOAD,SHOW DATABASES,LOCK TABLES,EVENT,REPLICATION CLIENT ON *.* TO {bakname}@&%& IDENTIFIED BY &{passwd}&;FLUSH PRIVILEGES;
由于要备份到本地的PC上所以我设置的用户是具有远程访问权限的!
macOS配置利用mysqldump进行备份。。此软件可以在mysql workbench community中找到。利用macOS定时任务。进行定时备份。macOS可以选crontab或者launchctl就看你习惯。
我选择用launchctl。这个是通过plist配置的方式来实现定时任务的,其优点就是最小时间间隔是一秒
plist脚本存放路径为/Library/LaunchDaemons或/Library/LaunchAgents,其区别是后一个路径的脚本当用户登陆系统后才会被执行,前一个只要系统启动了,哪怕用户不登陆系统也会被执行。
可以通过两种方式来设置脚本的执行时间。一个是使用StartInterval,它指定脚本每间隔多长时间(单位:秒)执行一次;另外一个使用StartCalendarInterval,它可以指定脚本在多少分钟、小时、天、星期几、月时间上执行,类似如crontab的中的设置。
新建一个shell文件/Users/yourname/Documents/bakmysql.sh,并将mysqldump与bakmysql.sh放在一起。
123456789101112131415161718192021222324#!/bin/bash# Name:bakmysql.sh# This is a ShellScript For Auto DB Backup and Delete old Backup# 备份路径backupdir=/Users/yourname/bak/mysql# 用户名密码自行修改user={bakname}passwd=&{passwd}&# 数据库名db=dbtime=` date +%Y%m%d%H%M `# 增加可执行权限chmod +x $backupdir/mysqldump# 设置mysql ip和porthost={ip}port={port}# 设置将要备份的表名。有的表可能不是需要备份的。比如日志。自己考虑!table=&error user user_order&# 使用mysqldump备份数据$backupdir/mysqldump -u $user -p$passwd -P $port -h $host $db $table | gzip & $backupdir/database_$time.sql.gz# 删除7天前的备份find $backupdir -name &database_*.sql.gz& -type f -mtime +7 -exec rm {} \; & /dev/null 2&&1echo &success&
该脚本。将数据库数据备份后并压缩。同时会删除7天前的数据备份。可以自行参考修改!脚本要改成可执行的权限
1chmod 777 bakmysql.sh
进入到~/Library/LaunchAgents下建一个plist文件com.yourname.bakmysql.plist
1234567891011121314151617181920212223&?xml version=&1.0& encoding=&UTF-8&?&&!DOCTYPE plist PUBLIC &-//Apple//DTD PLIST 1.0//EN& &http://www.apple.com/DTDs/PropertyList-1.0.dtd&&&plist version=&1.0&&&dict&
&key&Label&/key&
&string&com.yourname.bakmysql.plist&/string&
&key&ProgramArguments&/key&
&string&/Users/yourname/bak/mysql/bakmysql.sh&/string&
&key&StartCalendarInterval&/key&
&key&Minute&/key&
&integer&4&/integer&
&key&Hour&/key&
&integer&13&/integer&
&key&StandardOutPath&/key&&string&/Users/yourname/bak/mysql/bakmysql.log&/string&&key&StandardErrorPath&/key&&string&/Users/yourname/bak/mysql/bakmysqlerr.log&/string&&/dict&&/plist&
label这里就是给这个任务名个名字,这里一般取plist的文件名,这个名字不能和其它的plist重复。bakmysql.sh就是我们要执行的脚本,StartCalendarInterval里边的参数是说每一天13点4分的时候执行一下脚本。
然后就可以用下面的几个命令进行操作我们做好的任务了。
12345launchctl load
com.yourname.bakmysql.plistlaunchctl unload com.yourname.bakmysql.plistlaunchctl start
com.yourname.bakmysql.plistlaunchctl stop
com.yourname.bakmysql.plistlaunchctl list
要让任务生效,必须先load命令加载这个plist。
如果任务被修改了,那么必须先unload,然后重新load。
start可以测试任务,这个是立即执行,不管时间到了没有。
执行start和unload前,任务必须先load过,否则报错。
stop可以停止任务。
ProgramArguments内不能直接写命令,只能通过shell脚本来执行。上面的任务我们也可以指定为每隔30秒执行一次,如下
123456789101112131415161718&?xml version=&1.0& encoding=&UTF-8&?&&!DOCTYPE plist PUBLIC &-//Apple//DTD PLIST 1.0//EN& &http://www.apple.com/DTDs/PropertyList-1.0.dtd&&&plist version=&1.0&&&dict&
&key&Label&/key&
&string&com.yourname.bakmysql.plist&/string&
&key&ProgramArguments&/key&
&string&/Users/yourname/bak/mysql/bakmysql.sh&/string&
&key&KeepAlive&/key&
&key&RunAtLoad&/key&
&key&StartInterval&/key&
&integer&30&/integer&&/dict&&/plist&
本文建议有一定黑苹果基础的来看。也只是自己折腾Ozmosis引导的一些过程。仅供参考!
之前用的Clover引导的macOS 10.11。几个月前,由于某些原因,回到了win10。这两天又想用回macOS。本来不想折腾。直接用最新的Clover。加上之前10.11用的配置来引导macOS Sierra。没想到折腾几下都进不去。于是想。既然免不了折腾了。那干脆试试Ozmosis。后来换了几个Rom后的确。安装成功了。也进入了系统。。除了声卡。其它一切都没什么大问题。不过不知为何Ozmosis的EFI分区里面放入Kexts总是不行。。最后还是重新搞了Clover引导去测试了Kexts。
所以。在没有完美主板ROM的时候,要想搞Ozmosis。最好还是先把Clover搞好。再去做Ozmosis引导!
主板:技嘉GA B75M-D3V Rev 1.1
显卡:迪兰恒进 AMD 6750 DDR5
CPU:Intel E3 1230 V2
声卡:ALC 887
网卡:RTL 8111
这配置都是好几年前的了。我第一台属于自己组装来黑苹果的,之前都是用家里的电脑黑。说到黑苹果。一眨眼就过去了那么多年。第一次黑的时候。还只是10.6,那时候10.7都还没出。也担任过Pcbeta的版主。现在都10.12了。时间过的真快!往事还历历在目!
文中提到的附件。都在文章结尾提供!
第一步刷BIOS这里提供的BIOS是Rev1.1的。对于主板是Rev1.0 Rev1.1 Rev1.2的理论通用。。不建议REV2.0版本的刷!!!刷前请搞清楚自己BIOS的版本!!!
找个U盘格式化为Fat32。放入主板Bios Rom。重启。使用Q-Flash刷Bios。刷前最好先备份下原来的BIOS。这块主板有Daul Bios。也就是双BIOS。。大胆刷。。。不过还是有可能刷死的。。怕死就不用继续往下看了。刷BIOS有风险。后果自负!!
技嘉科技发明的一种双bios技术,让主bios rom(main bios)在不能工作的情况下由备份bios rom(back up bios)进行接管,并将备份bios中的出厂启动项重新写入主bios让主板顺利进入系统。
我这里提供几个ROM:自己根据需求刷吧。每个ROM都是加入了Ozmosis引导的了。刷完BIOS后设置下。
一开始由于并不想用Clover引导。直接折腾的Ozmosis。。为此找了好几个ROM。直接去德国论坛下载的Ozmosis B75M Bios刷了压根进不去。。卡在苹果读条。。后面才知道是Bios里面的FakeSmc.kext导致。。我一开始用的Clover引导进不去也是由于这个Kext。
B75MD3V-F13-Rev1.1-167x.rom
B75MD3V-F13-Rev1.1-RTL8111.rom
B75MD3V-F13-Rev1.1_AppleALC.rom
B75MD3V-F13-Rev1.1_AppleALC_RTL8111.rom
B75MD3V-F13-Rev1.1_AppleALC_RTL8111_DSDT.rom
B75MD3V-F13-Rev1.1-167x.rom
包含最基础的167x Ozmosis引导组件。还带网卡驱动RTL版本!用了这个。除了声卡其它都驱动了。
不过我的显卡早在用Clover引导的时候就不能通过Clover来驱动。只要通过Clover Inject Ati这种方式来驱动,虽然系统信息里面能显示ATI Radeon HD 5750。但是睡眠就唤醒不了。还有就是鼠标卡帧。。就是用着用着鼠标突然卡一下。很频繁。。由于这个ROM并没有Disable ATI Inject。所以这个睡眠和鼠标卡帧存在。。
其实我这显卡。我改过显卡的ROM里面的ID。。直接改成5750的ID。并不需要任何工具。插上直接驱动。这也是为什么用Clover Inject Ati后系统里面显示的是5750.而不是6750。当然不知道是不是因为改了这个ID。导致通过Inject Ati驱动卡帧和睡眠唤醒不正常。。不过这样系统信息里面显示的是ATI Radeon HD5000。不过并不影响正常工作!
B75MD3V-F13-Rev1.1-RTL8111.rom
这个ROM是在B75MD3V-F13-Rev1.1-167x.rom的基础上。修改了OzmosisDefaults.plist。屏蔽掉Ati Inject解决鼠标掉帧卡顿。
12&key&DisableAtiInjection&/key&&true/&
B75MD3V-F13-Rev1.1_AppleALC.rom
这个ROM是在B75MD3V-F13-Rev1.1-167x.rom基础上删除了RTL8111网卡驱动。加入了声卡驱动。。Layout ID为5。。所以还要跟DSDT搭配才能成功驱动AppleHDA。先挂载EFI分区,在/EFI/Oz/Acpi/Load目录下放入DSDT即可!
以下是挂载命令。
#查看EFI分区情况!我的电脑为disk0s1sudo mkdir /Volumes/EFI;
#新建分区目录将用于挂载EFI分区sudo mount -t msdos /dev/disk0s1 /Volumes/EFI
#根据情况修改disk0s1
有人可能会问了。为什么不直接插入AppleALC。而选择删除网卡驱动,在加入声卡驱动。原因是BIOS ROM的空间有限。不是想插入什么就插入什么的。。我一开始并不知道怎么样才能让2个驱动同时插入进去。期间将BIOS里面现有的Fakesmc和RTL8111kext替换了占用空间更小的版本。可是还是不够空间插入AppleALC。不过这个问题后来通过别的方法解决了。
B75MD3V-F13-Rev1.1_AppleALC_RTL8111.rom
这个ROM是在B75MD3V-F13-Rev1.1-167x.rom的基础上。替换了FakeSMC。升级RTL8111驱动为2.0版本。插入AppleALC驱动1.019版本。AppleALC从v1.1.0开始就把就需要搭配Lilu.kext才能驱动。。
1v1.1.0 AppleALC now has its kernel patcher moved to Lilu.kext
还有AppleALC还必须用GenAppleALC.sh处理下才能被Ozmosis引导。其实也就是将PinConfigs的Info.plist一起整合到AppleAlc的Info.plist中去即可!
12Ozmosis has a bug. It cannot load PinConfigs.kext. PinConfigs.kext has no CFBundleExecutable.To fix this you need to merge IOKitPersonalities from PinConfigs.kext with AppleALC.kext.
所以我选择用1.019版本纯属一开始为了减小Kext的大小。。如果是用最新的AppleALC+Lilu的话。远比1.019版本要大。
至于BIOS空间问题的解决纯属意外发现。。OzMTool工具可以直接为最原始的ROM插入Ozmosis引导组件。我在用这个工具的时候发现。里面有个删除PXE的!
123--aggressivity 0: Try to inject the files as-is--aggressivity 1: Deletes files for BIOS Network Support (PXE etc.)--aggressivity 2: Deletes non-essential Ozmosis files - keeps the Ozmosis base
删除的主要是这些模块。。PXE主要是网络唤醒。对我就是个没用的功能!删除了PXE后。空间就明显够用了。。用了这个ROM后。搭配DSDT。基本可以算上完美了!!!而且这个DSDT也修正了前置USB。
B75MD3V-F13-Rev1.1_AppleALC_RTL8111_DSDT.rom
此ROM是在B75MD3V-F13-Rev1.1\_AppleALC\_RTL8111.rom的基础上插入了DSDT。同样用的OzMTool。刷了此ROM。EFI分区里面的DSDT都可以删除了。。只要这个BIOS ROM。全部搞定。。
我一开始刷的B75MD3V-F13-Rev1.1-167x.rom这个最原始的进行的安装。虽然后面修改了好几个版本的ROM。不过我倒没去测试过能否正常安装。。上面说的一堆都是废话。。与我配置相近的可以直接B75MD3V-F13-Rev1.1_AppleALC_RTL8111.rom去试试。失败的话。在换别的ROM做尝试!
第二步制作安装盘如果还有一个U盘可以直接写个macOS Sierra懒人版。如果没有。可以格式化了原来的U盘。总之一句话。制作个懒人版安装盘。。懒人版可以去Pcbeta下载。这里不啰嗦了。据说Ozmosis可以直接原版光盘安装。不过我没试过。我只试过懒人版!找的Pcbeta最新的10.12.4懒人版。
第三步开始安装正常情况下刷了上面的BIOS ROM后。插入macOS安装盘。并通过第一步的设置后。开机按F12直接选安装盘引导。就可以开始安装了。安装过程很容易!
第四步完善10.12.4这个版本。AMD显卡很多都出现闪屏。只要屏幕内容有任何改变,比如打字啊。打开窗口啊等等。屏幕就闪。颜色也变得很奇怪!解决方法也很简单。。用SwitchResX修改下百万色即可解决!
原来修改前Billion of colors居然是30位彩色。修改后Million of colors反而是32位彩色。怀疑系统本身的Bug。不知道后面的版本会不会修复!
原本我这显卡。用的DVI线连接的显示器。启动系统后。字体有一点点发虚。。使用Inject Ati的方式驱动显卡。就不会有这个问题。。但是鼠标卡顿不然忍。。于是想想算了。鱼和熊掌不可兼得。我宁愿字体有点发虚。但是可以换来唤醒正常。以及鼠标不卡帧。。
后来无意中睡眠唤醒后或者关闭显示器重开或者睡眠显示器重开。字体立马清晰回来。。就想起来显示器不是有自动调整的功能吗。。比如屏幕显示画面有一点错误。按下自动调整。可以自动把画面调整为正确位置。。才发现这个是VGA接口才有的功能。DVI没有这个功能。。于是换了条VGA线后。。果然。。这个问题就解决了。
所以字体发虚的朋友们可以试试看!不一定有用!不过对我有用!!爽啊!
从没这么简单!
不过这一切都建立在有好的ROM。这期间我折腾了几天。一开始找了好几个。一直卡住引导白苹果进度条。后来找到一个可以引导的ROM后。就开始各种折腾。各种完善。。期间刷BIOS不下数十次!看了上文也知道。我在BIOS ROM上花费的时间占整个过程至少9成时间!
至于为什么不折腾Colver。。最重要的一点就是更新太快。。。太久没关注。。。感觉要花好多时间去跟上步骤。。。而Ozmosis更新少。稳定。。当然还有一点,以前从没搞过Ozmosis,也想尝尝鲜。所以我选择折腾Ozmosis。。不过更新少的东西。就可能随时不在更新。。不知道Ozmosis会不会就此止步10.12。。。
附件:链接: 密码:j36m
需求为什么需要SS,相信我不用说,大伙也都明白。现在的梯子还是有很多的,看个人喜欢。
做下小广告,用我这个邀请链接注册可以你可以获得20刀友情提醒:注册Vultr后要充值最少5刀,才能新建主机(支持Payplay、信用卡支付)
国内想要有相对好的速度,一般都会选择香港、日本或者新加坡的VPS。主要还要看你的网络环境。电信、联通、移动?Vultr目前有提供日本和新加坡的机房。怎么注册和怎么新建就不多说了。如果是有打算安装锐速的话。系统版本的选择就要注意了。目前锐速支持的内核是有限的。建议安装Centos6。Vultr默认可以安装的系统,可能由于内核比较新。在优化SS的时候会遇到一些问题。要么通过降级内核,要么通过Vultr VPS的Custom ISO安装自己想要的系统。如果是通过Custom ISO方式安装好系统,需要通过网页的View Console,修改下网卡设置。否则VPS无法上网也无法通过SSH连接。
修改/etc/sysconfig/network-scripts/ifcfg-eth0文件将ONBOOT=no改为ONBOOT=yes重启VPS即可
安装SS这里有一键安装shadowsocks-libev脚本,安装过程会让设置密码和端口!
123wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.shchmod +x shadowsocks-libev.sh./shadowsocks-libev.sh 2&&1 | tee shadowsocks-libev.log
shadowsocks-libev相关命令:启动:/etc/init.d/shadowsocks start停止:/etc/init.d/shadowsocks stop重启:/etc/init.d/shadowsocks restart查看状态:/etc/init.d/shadowsocks status
内核参数优化
安装锐速锐速已经取消免费了。不过目前有破解版。。可能随时被和谐。最快的方法是安装自带的CentOS6后降级内核,通过脚本安装就行了。
内核参数优化修改内核参数
1vi /etc/security/limits.conf
增加下面2行
12* soft nofile 51200* hard nofile 51200
首先科普下TCP拥塞控制算法:TCP的设计目的是解决不可靠线路上可靠传输的问题,即为了解决丢包,但丢包却使TCP传输速度大幅下降。HTTP协议在传输层使用的是TCP协议,所以网页下载的速度就取决于TCP单线程下载的速度(因为网页就是单线程下载的)。丢包使得TCP传输速度大幅下降的主要原因是丢包重传机制,控制这一机制的就是TCP拥塞控制算法。
Linux内核中提供了若干套TCP拥塞控制算法,这些算法各自适用于不同的环境。
reno是最基本的拥塞控制算法,也是TCP协议的实验原型。
bic适用于rtt较高但丢包极为罕见的情况,比如北美和欧洲之间的线路,这是2.6.8到2.6.18之间的Linux内核的默认算法。
cubic是修改版的bic,适用环境比bic广泛一点,它是2.6.19之后的linux内核的默认算法。
hybla适用于高延时、高丢包率的网络,比如卫星链路
1/sbin/modprobe tcp_hybla
修改sysctl.conf配置文件,优化TCP参数
1vi /etc/sysctl.conf
增加下面设置
123456789101112131415161718192021#提高整个系统的文件限制fs.file-max = 51200net.core.rmem_max = net.core.wmem_max = net.core.netdev_max_backlog = 250000net.core.somaxconn = 3240000 net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 0net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepalive_time = 1200net.ipv4.ip_local_port_range = net.ipv4.tcp_max_syn_backlog = 8192net.ipv4.tcp_max_tw_buckets = 5000#如果linux内核3.10以上,可开启fastopen#net.ipv4.tcp_fastopen = 3net.ipv4.tcp_rmem =
net.ipv4.tcp_wmem =
net.ipv4.tcp_mtu_probing = 1net.ipv4.tcp_congestion_control = hybla
12sysctl -preboot
查看hybla是否加载
1lsmod |grep hybla
如果重启VPS没加载hybla模块。可以将/sbin/modprobe tcp_hybla写入/etc/rc.local自动启动
后记通过上面的优化后SS在Y2B上的表现大大提高了。根据网络环境的不同。可能做的优化也有点不同。有的人也许只安装锐速就够了。有的人只做内核参数优化就够了。总之自己尝试吧。我也是半桶水。。毕竟网络这东西不确定性太多了。测试结果很难做比较。优化后,Y2B能跑到5-15Mbps了。没优化前只能1-2Mbps。不排除不同时间段测试结果不具有比较性!
一句话,自己用的爽就行了。
IdeaSafari10支持App Extension。于是想做一个在视频页点击ToolbarItem后在MOSP解析播放,如果是电视剧,还将所有集都解析进播放列表。
前提:Safari10只支持10.11.5以上的版本
本文基于Xcode8.0和OS X EI Capitan 10.11.6
Safari Extension Info需要设置SFSafariContentScript(用于注入Script)、SFSafariToolbarItem(用于设置工具栏点击图标)、SFSafariWebsiteAccess(用于设置哪些网站允许注入使用改Extension)要在Safari成功加载该App Extension还有几个需要注意的地方:
Safari浏览器相关设置Safari浏览器开发菜单需要在Safari设置–&高级–&在菜单栏显示“开发”菜单启用,然后在开发菜单中勾选上允许未签名的扩展
Xcode中相关设置一、Safari Extension Deployment Target设置我用于开发的系统10.11.6,默认创建的Safari Extension模版中Deployment Target是10.12,不将Deployment Target设置为10.11的话编译后Safari浏览器扩展列表中始终不会加载。
二、相关Swift文件的Target Membership设置设置相关Swift文件的Target Membership是为了App与Safari Extension之间代码能直接重用
三、App Group设置准确的说,App与Safari Extension属于2个不同的App,所以要分别为App和Safari Extension设置App Group,二者都加入com.zlxdike.MOSP.Data同一个Group。这样才能让2个不同的App共享和交互数据。通过上面的设置后,App与Safari Extension就可以共用代码和交互数据了。至于通过Swift如果共用数据简单说下吧。
透过UserDefaults存取和读取需要共用的数据(比如本文中的播放列表)
透过NotificationCenter来Post通知数据更改。App ViewController接获通知,更新页面。
下面是PlayListManage.swift相关代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import Foundationimport Cocoaclass PlayListManage {
private var playList:[NSArray]
init(){
playList = []
readPlayList()
func readPlayList(){
let myShared = UserDefaults(suiteName: "com.zlxdike.MOSP.Data")
myShared?.synchronize()
guard let playListDefults = myShared?.object(forKey: "PlayList") else { return
playList = playListDefults as! [NSArray]
func savePlayList(){
let myShared = UserDefaults(suiteName: "com.zlxdike.MOSP.Data")
myShared?.set(self.playList, forKey:"PlayList")
myShared?.synchronize()
DistributedNotificationCenter.default().post(name: Notification.Name(rawValue: "refreshPlayList"), object: nil)
func add(listStr: String){
let arr = listStr.components(separatedBy: "#*#")
for i in arr{
let arrInfo = i.components(separatedBy: "*#*")
playList.append(arrInfo as NSArray)
savePlayList()
func allPlayList() -& [NSArray]{
readPlayList()
return playList
static let shared = PlayListManage()}
后记我并没有个人证书来签名应用,所以每次重启Safari10都需要开启允许未签名扩展,于是该Safari Extension使用起来反而没想象中的方便。最后只能不了了之,就权当算是了解Safari Extension开发的相关技术与要求吧。
初衷写这个软件初衷也只是为了今后写博文方便点。每次创建新的post都要执行下面命令,也是挺烦的。
cd ~/Documents/hexo
# 进入Hexo根目录
hexo new post ${title}
# ${title}为博文标题
open -a macdown source/_post/${title} # 使用macdown打开
编辑完要发布还需要执行下面命令
# 等价于hexo generate 生成静态文件
# 等价于hexo deploy
也许还需要执行下面命令,清除或检查效果。
hexo clean
# 清除已经生成的静态文件
hexo server
# 启动本地服务器查看
写一篇博文执行这些也无所谓了。可是当多写几篇。我会被烦死了。越来越懒。也许懒是进步的推动剂,于是有了HexoPD的诞生。顺便多熟悉下Swift3!
HexoPD简介作为博主,最常用的功能应该是post和deploy。故取名HexoPD。该App主要解决Hexo最常用的操作!主要有以下功能:
可设置打开Markdown文件软件,预设MacDown
新建博文并自动使用预设MacDown软件打开
列表化已有博文,并可以直接使用MacDown打开
一键Clean、Server、Generate、Deploy
HexoPD界面
HexoPD下载地址
下载地址:
密码:tsqv
初衷Mac对Flash的支持真的。。。哎!曾经的ClickToPluginForChina也不再给力。无奈。只能自己写一个。初版。有点简陋。搜索接口调用的优酷的。。目前只支持常见的视频。
Ver 1.0.0 初版 Ver 1.1.0Fix Bug:播放视频再次搜索闪退 Ver 1.1.1Fix Bug:资源解析失败,卡住。 Ver 1.1.2Fix Bug ver 1.1.3新增:播放URL ver 1.1.4新增:快捷键(暂停、播放、前进、后退)
MSOP下载地址
下载地址: 密码:tsqv
Git私有仓库的必要性:Github提供的仓库都是Public的,对于自己个人不想公开的代码,私有仓库就很有必要了。当然私有仓库还是有很多的。不过基本上都是需要付费的。。利用Dropbox来免费建立还是挺不错的!(当然国内很多同步盘都可以这样做。不过个人比较喜欢Dropbox,稳定,还能增量同步。大爱。)
本文在你已经安装了Git和Dropbox的前提下进行
建立Git私有仓库执行下面命令,注意 git init –bare 不要漏了参数。
cd ~/Dropbox
#进入Dropbox目录
#建立仓库根目录
#进入仓库根目录
mkdir blog.git
#建立项目仓库
cd blog.git
#进入项目仓库
git init --bare #初始化私有仓库
建立本地仓库cd ~/workspace
#切换到工作空间
mkdir blog
#建立项目目录
#切换到项目目录
为本地仓库增加私有仓库链接git add .
git commit -m &init&
git remote add origin ~/Dropbox/git/blog.git
git push origin master
macOS用SourceTree管理讨厌输入命令push,可以用SourceTree进行管理push。
想想距离第一次建站已经4年有余。当初果然也只是一时兴起,寥寥写了2篇不痛不痒的博文。当年用的Octopress,如今也不再更新了。现在使用Hexo来建站,希望真能坚持写下去。(说的好像用Hexo就会写下去似的)
好记性不如烂笔头。相信很多人建Blog很大原因都是为了记录,以便以后翻看。也许是越长大越觉得做这个有必要了(可能真老了)。
总之尽力记录下去吧。。

我要回帖

更多关于 ssh 密钥登录 的文章

 

随机推荐