作者:matrix
发布时间:2019-03-22
分类:零零星星
新浪微博ios app的scheme 测试可用
#打开首页
sinaweibo://gotohome
#新发微博
sinaweibo://share?content=[微博内容 URL Encode]
#消息页面
sinaweibo://discover
#指定搜索
sinaweibo://searchall?q=[URL Encode]
#微博扫一扫
sinaweibo://qrcode
#微博详情页
如https://weibo.com/1613133581/HlVM69RR9中mblogid为HlVM69RR9
sinaweibo://detail?mblogid=[mblogid]
#指定用户的全部微博
containerid可以根据https://m.weibo.cn/u/1613133581中查找
sinaweibo://cardlist?containerid=[containerid]
#和指定用户聊天
sinaweibo://messagelist?uid=[uid]
#指定用户资料页
sinaweibo://userinfo?uid=[uid]
参考:
https://www.ryannn.com/archives/url-schemes-share
https://www.v2ex.com/t/163755
https://www.jianshu.com/p/d64b9be5ad64
个人微博插件页面:
http://service.weibo.com/widget/widget_blog.php?uid=1613133581&height=1700&skin=wd_01&showpic=1
作者:matrix
发布时间:2019-03-14
分类:零零星星
使用vagrant做开发可以将环境全部运行于虚拟机中,避免本机安装各种环境模块造成问题也是为了完全和宿主机分离。
测试:macOS + pycharm + Django项目
配置vagrant的初始化文件
pycharm设置中搜索Vagrant
配置vagrant的基本运行程序
Vagrant executable
为Vagrant程序路径
Instance folder
表示Vagrant box配置的初始化目录。我这里也就直接将就以前init的目录。默认位置为当前项目路径
设置好就可以启动虚拟机环境:tools->Vagrant->up
打开虚拟机ssh:tools->Start SSH Session
配置python解释器
点击右上角绿色▶️箭头或者Control
+R
按键运行,提示失败是由于使用vagrant项目代码是在本机修改编写在虚拟机中运行,默认的项目启动会调用本机的python环境来运行,项目中的所有module亦同 所以修改下运行的python环境。
pycharm设置中搜索Project Interpreter
进行配置修改
点击右侧设置图标add
新加一个vagrant
环境的Interpreter
添加完成后重新选择新加的虚拟机中的python解释器
之后列表中的可用包名就都是虚拟机中已经安装了的。重新run
也就会成功执行。
配置run
如果运行Django项目还需要给简单编辑一下运行选项Edit Configurations...
打开之后选择新添加的Pyhton Interpreter
,设置Parameters
为Django项目的运行参数runserver
为runserver 0.0.0.0:8080
然后▶️运行项目就OK了。
ssh://vagrant@127.0.0.1:2222/usr/bin/python3.6 -u /pythonWork/okex/okex/manage.py runserver 0.0.0.0:8080
Performing system checks...
...
March 14, 2019 - 07:56:04
Django version 2.1.7, using settings 'okex.settings'
Starting development server at http://0.0.0.0:8080/
Quit the server with CONTROL-C.
解决Unresolved reference错误
编辑器很多提示导包的Unresolved reference 'XXX' more....
错误 在于py文件目录定位错误导致的 需要手动修改下
重新选择import
倒包的包名py文件的目录即可
设置项目的Project Structure
,先选中
报错 提示的python文件的目录,再点击上面的Sources
,之后右侧的Source Folders
就会出现刚刚选中的目录,保存应用即可。
若没有马上生效需要清空缓存且重启File->Invalidate Caches / Restart...
,之后编辑器也就不会提示导包的错误提示Unresolved reference
参考:
https://blog.csdn.net/u013088062/article/details/50346181
https://blog.csdn.net/u013088062/article/details/50346719
https://blog.csdn.net/wqwqwqwq403/article/details/78861255
https://www.cnblogs.com/xiaohuamao/p/6903030.html
PEACE~
作者:matrix
发布时间:2019-03-07
分类:Wordpress 零零星星
本来几乎少有在blog上放置音乐,但是看到之前的帖子的哪个音频播放UI简直难受的很,已经记不起WP是从多少版本开始有这种协调默认的媒体播放界面。刚开始应该是使用html5的默认audio播放界面,后面就使用MediaElement.js的播放器且覆盖了样式,默认都是黑色调的蓝/白色进度条的那种。
音频播放界面如上图样子,早就该改了的 实在难受 😱 😱
下面的代码来自@Vassilis Mastorostergios
,style很好看 也就照教程搬过来用了。
修改后的样式:
添加样式文件
主题css
目录下新建文件my-theme-player.css
/* Media Element Player styles */
/* Player background */
.mytheme-mejs-container.mejs-container,
.mytheme-mejs-container .mejs-controls,
.mytheme-mejs-container .mejs-embed,
.mytheme-mejs-container .mejs-embed body {
background-color: #efefef;
}
/* Playmejs-time-floater controls */
.mytheme-mejs-container .mejs-button > button {
background-image: url(images/mejs-controls-dark.svg);
}
.mytheme-mejs-container .mejs-time {
color: #888888;
}
/* Progress and audio bars */
/* Progress and audio bar background */
.mytheme-mejs-container .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
.mytheme-mejs-container .mejs-controls .mejs-time-rail .mejs-time-total {
background-color: #fff;
}
/* Track progress bar background (amount of track fully loaded)
We prefer to style these with the main accent color of our theme */
.mytheme-mejs-container .mejs-controls .mejs-time-rail .mejs-time-loaded {
background-color: rgba(219, 78, 136, 0.075);
}
/* Current track progress and active audio volume level bar */
.mytheme-mejs-container .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,
.mytheme-mejs-container .mejs-controls .mejs-time-rail .mejs-time-current {
background: #db4e88;
}
/* Reduce height of the progress and audio bars */
.mytheme-mejs-container .mejs-time-buffering,
.mytheme-mejs-container .mejs-time-current,
.mytheme-mejs-container .mejs-time-float,
.mytheme-mejs-container .mejs-time-float-corner,
.mytheme-mejs-container .mejs-time-float-current,
.mytheme-mejs-container .mejs-time-hovered,
.mytheme-mejs-container .mejs-time-loaded,
.mytheme-mejs-container .mejs-time-marker,
.mytheme-mejs-container .mejs-time-total,
.mytheme-mejs-container .mejs-horizontal-volume-total,
.mytheme-mejs-container .mejs-time-handle-content {
height: 3px;
}
.mytheme-mejs-container .mejs-time-handle-content {
top: -6px;
}
.mytheme-mejs-container .mejs-time-total {
margin-top: 8px;
}
.mytheme-mejs-container .mejs-horizontal-volume-total {
top: 19px;
}
/* WordPress audio playlist styles */
.wp-playlist-light {
box-shadow: 3px 3px 0 #e2e2e2;
}
/* Captions - Track titles / subtitles, time */
.wp-playlist-light .wp-playlist-caption,
.wp-playlist-light .wp-playlist-item-length {
color: #787878;
}
/* Captions - Current track */
.wp-playlist-light .wp-playlist-current-item .wp-playlist-item-title {
font-size: 16px;
}
.wp-playlist-light .wp-playlist-item-album {
font-style: normal;
}
.wp-playlist-light .wp-playlist-item-artist {
text-transform: none;
opacity: .8;
}
/* Playlist items */
.wp-playlist-light .wp-playlist-item {
padding: 10px 0;
border-bottom-color: #efefef;
}
.wp-playlist-light .wp-playlist-item:last-child {
padding-bottom: 0;
}
.wp-playlist-light .wp-playlist-playing {
font-weight: normal;
border-bottom-color: #db4e88;
}
.wp-playlist-light .wp-playlist-item-length {
top: 10px;
}
/*调整优化*/
.mejs-time-float,.mejs-time-float-current,.mejs-time-float-corner{
border:none ;
color: #888888; /*设置文字颜色*/
}
.wp-audio-shortcode a,.wp-playlist a{
border-bottom:none; /*去除主题的a标签全局下划线*/
}
说明:
调整优化部分是我自行添加的,主要是避免和本主题的样式冲突
添加svg播放图标
mejs-controls-dark.svg放置在主题css/images目录下css/images/mejs-controls-dark.svg
下载:
https://d.pr/f/Y83MD
https://pan.baidu.com/s/14P4TOe1StJQfoRHgAmMrkg#提取码: 4pjf
挂载脚本
functions.php适当位置添加css和js加载的钩子
//加载之前新建的my-theme-player.css文件
//判断启用wp-mediaelement才会加载 避免多余的资源请求
add_action( 'wp_footer', 'ci_theme_footer_scripts' );
function ci_theme_footer_scripts() {
if ( wp_style_is( 'wp-mediaelement', 'enqueued' ) ) {
wp_enqueue_style( 'my-theme-player', get_template_directory_uri() . '/css/my-theme-player.css', array(
'wp-mediaelement',
), '1.0' );
}
}
//给MediaElementJs播放器添加自定义样式mytheme-mejs-container 用于重写系统自带css
/**
* Add an HTML class to MediaElement.js container elements to aid styling.
*
* Extends the core _wpmejsSettings object to add a new feature via the
* MediaElement.js plugin API.
*/
add_action( 'wp_print_footer_scripts', 'mytheme_mejs_add_container_class' );
function mytheme_mejs_add_container_class() {
if ( ! wp_script_is( 'mediaelement', 'done' ) ) {
return;
}
?>
<script>
(function() {
var settings = window._wpmejsSettings || {};
settings.features = settings.features || mejs.MepDefaults.features;
settings.features.push( 'exampleclass' );
MediaElementPlayer.prototype.buildexampleclass = function( player ) {
player.container.addClass( 'mytheme-mejs-container' );
};
})();
</script>
<?php
}
PEACE~
参考:
https://www.cssigniter.com/css-style-guide-for-the-default-WordPress-media-player/
https://codex.WordPress.org/Playlist_Shortcode
作者:matrix
发布时间:2019-02-27
分类:零零星星
TeamViewer使用频繁或者被检测到某些ip段中会被标记为商业行为的使用,也就会要求付费。对应的TeamViewer ID也就会被要求进行商业授权许可。
本来之前使用都是正常,今天给朋友远程执行脚本命令,我连接控制了半分钟就提示断开连接「超时后连接被阻断」,然后等待时间过后就提示了监测到「商业行为」。网上说TeamViewer修改了商业行为的判定导致客户大量流失,TeamViewer目前报价对于单用户单连接/年需要¥2500,有点贵啊。期间尝试过mac端的向日葵远程控制端和系统自带的屏幕共享
,前者只能查看不能操作,后者完全连接不上亦或使用内网VNC地址成功,使用apple id就连接失败,mac端qq就根本没这个功能。
方法0
使用其他工具:
https://anydesk.com/zhs
https://sunlogin.oray.com/zh_CN/download
http://www.xt800.cn/download
参考:https://www.appinn.com/alternative-teamviewer/
有人建议使用俄罗斯版本:https://www.teamviewer.com/ru/
方法1
申述TeamViewerID为个人用户使用,最快7天内解决申请。
https://www.teamviewer.com/en/support/commercial-use-suspected/
2019年3月11日 22:36收到邮件“Your TeamViewer ID has been reset to free”
方法2
TeamViewer会把ID进行标记,所以换一个新的ID就可以使用了。
使用虚拟机VirtualBox
来使用TeamViewer,如果被检测有商业行为就给虚拟机重新初始化MAC地址。这样就可以切换新ID
方法3
使用脚本修改,切换TeamViewer新ID
感谢@zhovner的一键切换脚本TeamViewer ID Changer for MAC OS解决帮了大忙:
测试版本:TeamViewer for macOs V14.0.13880版本
python 2.7.10测试运行
#!/usr/bin/env python
#coding:utf-8
import sys
import os
import glob
import platform
import re
import random
import string
print('''
--------------------------------
TeamViewer ID Changer for MAC OS
--------------------------------
''')
if platform.system() != 'Darwin':
print('This script can be run only on MAC OS.')
sys.exit();
if os.geteuid() != 0:
print('This script must be run form root.')
sys.exit();
if os.environ.has_key('SUDO_USER'):
USERNAME = os.environ['SUDO_USER']
if USERNAME == 'root':
print('Can not find user name. Run this script via sudo from regular user')
sys.exit();
else:
print('Can not find user name. Run this script via sudo from regular user')
sys.exit();
HOMEDIRLIB = '/Users/' + USERNAME + '/library/preferences/'
GLOBALLIB = '/library/preferences/'
CONFIGS = []
# Find config files
def listdir_fullpath(d):
return [os.path.join(d, f) for f in os.listdir(d)]
for file in listdir_fullpath(HOMEDIRLIB):
if 'teamviewer'.lower() in file.lower():
CONFIGS.append(file)
if not CONFIGS:
print ('''
There is no TemViewer configs found.
Maybe you have deleted it manualy or never run TeamViewer after installation.
Nothing to delete.
''')
# Delete config files
else:
print("Configs found:\n")
for file in CONFIGS:
print file
print('''
This files will be DELETED permanently.
All TeamViewer settings will be lost
''')
raw_input("Press Enter to continue or CTR+C to abort...")
for file in CONFIGS:
try:
os.remove(file)
except:
print("Cannot delete config files. Permission denied?")
sys.exit();
print("Done.")
# Find binaryes
TMBINARYES = [
'/Applications/TeamViewer.app/Contents/MacOS/TeamViewer',
'/Applications/TeamViewer.app/Contents/MacOS/TeamViewer_Service',
'/Applications/TeamViewer.app/Contents/Helpers/TeamViewer_Desktop',
]
for file in TMBINARYES:
if os.path.exists(file):
pass
else:
print("File not found: " + file)
print ("Install TeamViewer correctly")
sys.exit();
# Patch files
def idpatch(fpath,platf,serial):
file = open(fpath, 'r+b')
binary = file.read()
PlatformPattern = "IOPlatformExpert.{6}"
SerialPattern = "IOPlatformSerialNumber%s%s%sUUID"
binary = re.sub(PlatformPattern, platf, binary)
binary = re.sub(SerialPattern % (chr(0), "[0-9a-zA-Z]{8,8}", chr(0)), SerialPattern%(chr(0), serial, chr(0)), binary)
file = open(fpath,'wb').write(binary)
return True
def random_generator(size=8, chars=string.ascii_uppercase + string.digits):
return ''.join(random.choice(chars) for _ in range(size))
RANDOMSERIAL = random_generator()
RANDOMPLATFORM = "IOPlatformExpert" + random_generator(6)
for file in TMBINARYES:
try:
idpatch(file,RANDOMPLATFORM,RANDOMSERIAL)
except:
print "Error: can not patch file " + file
print "Wrong version?"
sys.exit();
print "PlatformDevice: " + RANDOMPLATFORM
print "PlatformSerial: " + RANDOMSERIAL
print('''
ID changed sucessfully.
!!! Logout User Or Restart computer before using TeamViewer !!!!
''')
脚本执行成功会显示ID changed sucessfully.
之后重启电脑或者注销用户启用就好了。之后打开teamViewer会发现是新的ID。
主要兼容11,12,和14.0版本
14.0.13880 mac版本:https://www.malavida.com/en/soft/teamviewer/mac/
14.0.13488 windows:https://www.filepuma.com/download/teamviewer_14.0.13488-20699/
12.0.72647 mac版本:https://teamviewer.en.uptodown.com/mac/download/1510547
P.S. 4月份发现脚本无法切换ID
,软件会提示商业使用,但是使用上依然没问题
PEACE~
参考:
https://gist.github.com/zhovner/b1d72f3465c46e7b58a4ea42d625c3e8
https://community.spiceworks.com/topic/1151930-teamviewer-5-minute-timelimit
作者:matrix
发布时间:2019-02-22
分类:零零星星
win上的打包的文件丢到linux解压发现中文的前缀乱码,本来mv
命令到是可以修改 顾于文件太多,发现用rename
方便的多
需要将╬в╨┼═╝╞м_20180626102853.jpg
修改还原为微信图片_20180626102853.jpg
执行操作
文件数量有点多执行
命令$:rename 's/╬в╨┼═╝╞м(.*)/微信图片$1/' *
rename --help
Usage:
rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E *perlexpr*]*|*perlexpr*
[ *files* ]
Options:
-v, -verbose
Verbose: print names of files successfully renamed.
-n, -nono
No action: print names of files to be renamed, but don't rename.
-f, -force
Over write: allow existing files to be over-written.
-h, -help
Help: print SYNOPSIS and OPTIONS.
-m, -man
Manual: print manual page.
-V, -version
Version: show version number.
-e Expression: code to act on files name.
May be repeated to build up code (like "perl -e"). If no -e, the
first argument is used as code.
-E Statement: code to act on files name, as -e but terminated by
';'.
perlexpr表达式
perlexpr还可用于其他命令,如sed
perlexpr表达式形如:
- Substitution替换
s / expr1 / expr2 / [gi]
/
为分界符,可以使用其他任意字符为分界符
expr1,expr2
都支持正则
expr1
会被查找替换为expr2
。
ig
两个字母分别为正则的匹配模式:忽略大小写和全局匹配,否则默认换行为分界符。方括号[]包裹表示他们可不填。
-
Translation字符转译
类似于替换s
,它可用于将一个字符串转换为另一个字符串,即字符转换。表达式如:y/charset1/charset2/
如:
转换为小写:rename 'y/A-Z/a-z/' *
添加txt后缀:rename 's/$/\.txt/' *
PEACE~
参考:
https://www.computerhope.com/unix/rename.htm
https://wangchujiang.com/linux-command/c/rename.html
https://blog.csdn.net/qq_37858386/article/details/78404001
http://bbs.chinaunix.net/thread-4119882-1-1.html
作者:matrix
发布时间:2019-02-13
分类:零零星星
macOs外接一台2K显示器用1920*2080分辨率满屏显示的情况下会发现字体微模糊的情况。原因在于没有开启HIDPI,使用RDM软件切换分辨率就会发现没有闪电⚡️图标。
测试: 笔记本MACOS Mojave 10.14.3 (18D109) 外接 MAYA U2717H 27英寸2K显示器
禁用系统文件保护SIP
重启电脑并按住Command+R
进入恢复模式 顶部的菜单中找到终端
工具,输入 csrutil disable; reboot
。禁用system系统文件保护。
下面按照comsysto.github.io工具的五个步骤操作
1.1执行命令[Big Sur及以上版本]
$ sudo cp -R /System/Library/Displays /Library/
1.1.1 直接跳转到第4步
将保存路径修改为/Library/Displays/Contents/Resources/Overrides/
例如:
$ sudo cp ~/Downloads/DisplayProductID-ccd.plist /Library/Displays/Contents/Resources/Overrides/DisplayVendorID-5e3/DisplayProductID-ccd
1.2执行命令[Catalina及以下版本]
$ sudo mount -uw / #Catalina 10.15+以上的系统需要把系统分区重新挂载为可写。重启后失效
$ sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
2.获取显示器参数ID值
终端执行ioreg -lw0 | grep IODisplayPrefsKey
笔记本电脑外接MAYA U2717H显示器的信息是第二个IODisplayPrefsKey
:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@2/display0/AppleDisplay-3721-2717
其中DisplayVendorId
为3721,DisplayProductID
为2717,都是16进制值。
使用ioreg -l | grep "DisplayVendorID"
命令获取的为10进制数值。
这两个显示器的相关参数需要在comsysto.github.io工具
配置中使用。
3.配置显示参数
注意修改对应的DisplayProductID
和DisplayVendorID
值。
DisplayProductName
显示器名称可以填写上去。下面Scale Resolutions
中需要确保有自己使用的分辨率的且开启hidpi
。我这里是想用1920*2080分辨率
也就可以将就他的配置,只是需要修改显示器id参数。
之后点击框框下方的DisplayProductID-XXXX
按钮下载plist文件DisplayProductID-2717.plist
4.放置显示器配置文件到system系统
#3721为显示器的DisplayVendorId
#2717为显示器的DisplayProductID
cd /System/Library/Displays/Contents/Resources/Overrides
mkdir DisplayVendorID-3721 #创建显示器名称的目录
sudo cp ~/Downloads/DisplayProductID-2717.plist /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-3721/DisplayProductID-2717
5.重启系统
重启后使用RDM选择对应的分辨率,会看到1920*2080分辨率有闪电⚡️图标
切换之后就可以马上看到效果了
RDM下载:http://avi.alkalay.net/software/RDM/
显示器配置文件plist:
MAYA U2717H:DisplayProductID-2717.plist
显示器欺骗器5e3-ccd:DisplayProductID-ccd.plist
参考:
https://developer.apple.com/forums/thread/649832?answerId=646352022#646352022
调教Mac外接显示器(开启HiDPI)
https://bbs.feng.com/read-htm-tid-12512988.html
https://zhuanlan.zhihu.com/p/20684620
https://comsysto.github.io/Display-Override-PropertyList-File-Parser-and-Generator-with-HIDPI-Support-For-Scaled-Resolutions/
https://www.jianshu.com/p/4ea389848679
作者:matrix
发布时间:2019-01-31
分类:零零星星
西安的喜欢大多数是由于小吃和历史,但是胡辣汤,羊肉泡馍好多都是没有try过,还有长安古城墙。。。
30号到朋友联系的钟楼附近的青旅,之前从未接触,感觉还不错。一间隔6个床位,毕竟临时住宿的配置这个绝对够用。
FUJIFILM XT20 业余操作
钟楼
回民街
回民街品吃的羊肉提子和泡馍。羊肉汤味道一般般,出名的店铺还没有去,遂无法记实。还有一点这边餐馆没提供餐巾纸。
早餐胡辣汤
口感像豆腐脑。里面有炸过得小肉圆 莲白 胡萝卜 南瓜 莴笋 花菜 。。。第一口感 咸味 有花椒 胡椒的颗粒感 其他辅料不知道。 小碗7块+馍1块钱 早餐 很饱
刘老虎肉丸糊辣汤: https://ditu.amap.com/place/B001D0WFK9
陕博物馆
"
博物馆外部展览是免费的,只是需要外面排队取票。到里面要继续参观就需要再买票就好了。
location:https://ditu.amap.com/place/B001D03PEX
小雁塔
夜爬华山
在山脚从6.30左右开始慢哟哟往上爬
峨眉山有猴子,那华山路上就很多野猫,so cute~
第一次夜爬,虽然华山路险但是路上都有灯,最大的好处就是晚上看不见周围的悬崖。爬到上面会感到风大和真正直通天路的感觉,因为看到上面的路和天上的星星快要搭起来了,只有这个时候才知道现在爬的位置是有多高!
从爬到东峰观日平台是凌晨1.30左右,后面坐下来休息,超级冷!!TMD 没有带帐篷,暖宝宝也不够用,下次应该准备10+/人。
有幸的是遇到了陕西本地朋友,一起和一对学生情侣挤在帐篷里。除了开放式的脚臭
和奇怪的窜瞌睡动作以及时不时聊成都,bala bala到后面忍不住睡了几小时,终于熬到了头等待日出。钻出帐篷感受到的风寒绝对忘记不了,刺骨钻心的冷和无法控制的抖动,山顶的风让拍照简直是难受,太冷了。
后面没有等到日出🌄,这早上的太阳给一拨云挡住了,只能看到些泛红的余光。日出没看到,但是能夜爬华山就够尽兴了。
再过后完全天亮就慢慢开始下山,长空栈道关闭也就没有去其他峰,爬了一整夜也够惨。从东峰向下到北峰坐索道下山
回西安
回到青旅
朵姐带我们去了回民街旁边去了好多家老店铺,mark
石家包子:https://ditu.amap.com/place/B0FFF9WKFK
定家小酥肉:https://ditu.amap.com/place/B001D04YLM
果渊斋米家泡馍馆:https://ditu.amap.com/place/B001D06RAY
todo
秦豫肉夹馍:https://ditu.amap.com/place/B001D04YZ0
窄巷子陕菜馆:https://ditu.amap.com/place/B0FFF6CLEF
辣子蒜养血,葫芦鸡,梆梆肉,麻酱毛肚
陕拾叁冰淇淋:https://ditu.amap.com/place/B0FFFT2TPM
桂花糕是回民街, 摔碗酒是永兴坊。
馍有蛋菜夹馍,肉夹馍, 小炒泡馍,羊肉泡馍,葫芦头泡馍…
面有臊子面,油泼面,驴蹄子面,削筋面biangbiang面…
久年级青年旅舍
goto 久年级青年旅舍
https://www.meituan.com/jiudian/165207302/#久年级青年旅舍
最后真非常感谢朵姐的招待,还有小叶子
这次去西安单人消费大概1.3K 共5天
PEACE~
作者:matrix
发布时间:2018-12-19
分类:零零星星
官网:https://aria2.github.io/
aria2属于垮平台的命令行下载工具,支持多协议BT磁力链.很多网盘下载工具都是用aria2作为下载器
远端服务器做为下载工具的话可以很方便的实现离线下载功能
测试环境:Ubuntu
安装
sudo apt-get install aria2
若需要安装最新版本:
https://github.com/aria2/aria2/releases
wget https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0.tar.gz
tar -xvf aria2-1.34.0.tar.gz
cd aria2-1.34.0
./configure
make & make install
cp ./src/aria2c /usr/local/bin
aria2c -v #查看版本
配置
sudo mkdir /etc/aria2 #存放conf配置文件的路径
sudo touch /etc/aria2/aria2.session #新建session文件
sudo chmod 777 /etc/aria2/aria2.session #设置aria2.session可写
sudo vi /etc/aria2/aria2.conf #创建并编辑下载操作的配置文件
若不特殊存放aria2默认会读取~/.aria2/aria2.conf中的配置文件
写入以下内容:
# rpc加密密钥
#rpc-secret=xxxxxx
#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许非外部访问
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=5
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=10
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=1M
#单文件最大线程数, 路由建议值: 5
split=100
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
#在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/etc/aria2/aria2.session
#定时保存会话,需要1.16.1之后的release版
#save-session-interval=60
#下载文件的保存路径, 默认为当前启动位置
dir=/home/你的用户名/下载
#禁用IPv6, 默认:false
disable-ipv6=true
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc
#启用本地节点查找
bt-enable-lpd=true
#添加额外的tracker
bt-tracker=
#单种子最大连接数
#bt-max-peers=55
#强制加密, 防迅雷必备
#bt-require-crypto=true
#当下载的文件是一个种子(以.torrent结尾)时, 自动下载BT
follow-torrent=true
#BT监听端口, 当端口屏蔽时使用
#listen-port=6881-6999
#不确定是否需要,为保险起见,need more test
enable-dht=false
bt-enable-lpd=false
enable-peer-exchange=false
#修改特征
user-agent=uTorrent/2210(25130)
peer-id-prefix=-UT2210-
#修改做种设置, 允许做种
seed-ratio=0
#保存会话
force-save=false
bt-hash-check-seed=true
bt-seed-unverified=true
bt-save-metadata=true
#定时保存会话,需要1.16.1之后的某个release版本(比如1.16.2)
#save-session-interval=60
说明:
注意修改下载文件的保存路径
运行
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
说明:
-D 参数表示为后台运行
ctrl+c 停止 或直接kill进程
配置系统服务
sudo vi /etc/init.d/aria #
说明:这里使用server aria restart
就可以完成重启操作
没有使用aria2c
是以为下面的命令killall 会杀掉同名的所有进程 其中也包括当前执行的脚本。否则会导致restart无效 显示Terminated提示
参考:https://blog.csdn.net/wsclinux/article/details/50387121
添加如下内容:
#!/bin/sh
### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
# 保存到/etc/init.d/aria
# 启动此服务 server aria restart
CONF=/etc/aria2/aria2.conf #配置文件路径
case "$1" in
start)
echo -n "Starting aria2c"
aria2c --conf-path=$CONF -D
;;
stop)
echo -n "Shutting down aria2c "
killall aria2c
;;
restart)
killall aria2c &>/dev/null
echo "starting"
sleep 3
aria2c --conf-path=$CONF -D
echo "done"
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit
sudo chmod 755 /etc/init.d/aria #修改文件权限
#调用
#service aria {start|stop|restart}
使用
chrome 扩展:https://chrome.google.com/webstore/detail/yaaw-for-chrome/dennnbdlpgjgbcjfgaohdahloollfgoc
在线web UI:
https://github.com/mayswind/AriaNg
http://webui-aria2.ghostry.cn/
配置JSON-RPC路径:默认为 http://主机地址
:端口
/jsonrpc
若启用rpc-secret token验证内容为xxxxxx:
http://token:xxxxxx
@主机地址
:端口
/jsonrpc
Aria2 bt-tracker列表的更新脚本
避免下载为速度0kb 最好定时每天高新
保存:/root/aria2c-track-update.sh
#!/bin/bash
CONF=/etc/aria2/aria2.conf #配置文件路径
list=`wget -qO- https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all_ip.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`
if [ -z "`grep "bt-tracker" $CONF`" ]; then
sed -i '$a bt-tracker='${list} $CONF
echo add......
else
sed -i "s@[#]*bt-tracker.*@bt-tracker=$list@g" $CONF
echo update......
fi
service aria restart
定时任务:
每天定时更新种子track list 且自动重启aria2c服务
chmod +x /root/aria2c-track-update.sh
crontab -e #编辑定时任务
* 0 * * * /root/aria2c-track-update.sh
参考:
https://www.jianshu.com/p/b2649d073741
http://aria2c.com/usage.html
https://www.moerats.com/archives/374/
https://blog.csdn.net/daloyanf/article/details/78919749
编译安装报错"virtual memory exhausted: Cannot allocate memory":http://muchfly.iteye.com/blog/2296506
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
... - 23