GitHub应用笔记


文章摘要:

本文描述了github命令说明及简单的使用方法。


远程仓库管理

查看远程服务器地址和仓库名称

$git remote -v

查看远程服务器仓库状态

$git remote show origin

添加远程仓库地址并指定别名

$ git remote add origin https://github.com/chun912/test.git

格式:git remote add [alias] [url]

设置/修改远程仓库地址

$ git remote set-url origin https://github.com/chun912/test.git 

删除远程仓库(未测试)
git remote rm [repository]


在本地新建一个版本库,并在当前目录中创建一个.git文件夹.

$ git init

获取一个对应的远程版本库, 创建一个本地副本;

$ git clone https://github.com/chun912/test.git

提交修改
将工作文件修改提交到本地暂存区

$ git add README.md

将所有修改过的工作文件提交暂存区;

$ git add .

提交修改:

$ git commit -m "first commit"

注意事项:
-m选项指定提交信息说明(必要);

提交所有修改过的文件(除了新建文件)

$ git commit -a -m "first commit"

-a选项,可以直接跳过add命令;


推送本地数据至远程仓库

git push [alias] [branch]

示例:
将本地主分支推到远程主分支

$ git push origin master

-u表示客户端首次提交

$ git push -u origin master

创建版本库示例:

$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://github.com/chun912/test.git
$ git push -u origin master

参考文章:
http://www.cnblogs.com/cspku/articles/Git_cmds.html

http://www.ihref.com/read-16369.html

- 阅读全文 -

Linux系统应用--下载工具


文章摘要:
本文描述了Linux下的几种下载小工具;


神器一: transmisstion

命令行工具安装:

# atp-get install transmisstion-cli

下载文件:

$ transmisstion-cli debian-8.6.0-i386-netinst.iso.torrent

支持本地torrent文件,远程(URL)种子文件,magnet(磁力链)格式;

参数说明:

-w: 选项指定下载文件保存的文件夹(默认为当前用户的下载目录);
-d: 指定下载限速(单位KB);
-u: 指定上传限速(单位KB);
-f: 设置当前下载完成后要运行的脚本;

transmission-cli 默认在文件下载完成后继续运行,可以使用以下的脚本完成下载完成后自动关闭。

#!/bin/sh
sleep 10
killall transmission-cli

安装网页版工具(推荐)

# apt-get install transmission-daemon

修改配置文件/etc/transmission-daemon/settings.json

"rpc-enabled": true,      
# 用户名
"rpc-username": "user",   
# 密码
"rpc-password": "123456",   
# 端口配置                               
"rpc-port": 9091,
"rpc-url": "/transmission/",

# 白名单(逗号分隔,支持通配符*)
"rpc-whitelist": "127.0.0.1, 192.168.9.*",
"rpc-whitelist-enabled": true,    

暂时修改这么多,其他的可以稍后用界面修改;

启动服务

# service transmission-daemon start

此时可以通过浏览器访问:http://127.0.0.1:9091 来管理;

特征码下载:

将擦键盘的40位数字前边加上磁力链前缀即为下载地址:

magnet:?xt=urn:btih:

如果数字为43位,则去掉前3前只保留40位即可;


桌面系统可安装transmisstion-gui,一般不需要;



神器二:mldonkey

安装

# apt-get install mldonkey-server

运行

$ mlnet &

至此可通过http://localhost:4080通过网页管理;


配置说明:
配置文件位于用户目录下的.mldonkey目录中;
download.ini

# 允许的IP列表
allowed_ips = [
  "127.0.0.1";
  "192.168.9.133";]

# 控制台网页端口,默认为4080
http_port = 4080

# 上传限速(单位KB)
max_hard_upload_rate = 10
# 下载限速(单位KB)
max_hard_download_rate = 50

# 在此修改下载文件目录
shared_directories = [
  {     dirname = shared
     strategy = all_files
     priority = 0
};
  {     dirname = "incoming/files"
     strategy = incoming_files
     priority = 0
};
  {     dirname = "incoming/directories"
     strategy = incoming_directories
     priority = 0
};]


另一神器:youtube-dl

千万不要被名子所迷惑,虽然叫这个名子,并不代表真的能下载他的视频,除非你能访问他的网站,原因当然是众所周知的;不过国内的各大知名网站一般都是这种格式,其中优酷,乐视,爱奇艺等网站测试正常;


工具地址:
https://github.com/chun912/youtube-dl.git

下载最新工具:

sudo wget https://yt-dl.org/latest/youtube-dl

下载方法:
首先打开播放页面,并复制url地址,比如说http://v.youku.com/v_show/id_XODY1NzIzMDY0.html;

查看支持的格式:

# youtube-dl -F http://v.youku.com/v_show/id_XODY1NzIzMDY0.html

format code  extension  resolution note
h4           flv        480x360    12.73MiB
h5           mp4        480x360    16.29MiB
h3           mp4        720x540    26.20MiB (best)

下载指定格式:

# youtube-dl -f h3 http://v.youku.com/v_show/id_XODY1NzIzMDY0.html

可以通过参数--proxy来指定代理服务器;


批量下载:
将需要下载页面的url写入文本文档(files.list),每个url一行;

新建脚本(down.sh)内容如下:

#!/bin/bash
cat $1 | while read line
do
    echo $line
    youtube-dl -f h3 $line
done

运行脚本:

$ ./down.sh files.list

网易云音乐下载:
在线播放链接:https://music.163.com/#/song?id=474567580
mp3下载链接:http://music.163.com/song/media/outer/url?id=474567580.mp3


you-get: 基于Python的一个下载软件

安装软件:

$ pip3 install you-get -i https://pypi.tuna.tsinghua.edu.cn/simple

查看视频格式列表:

$ you-get -i URL

下载列表中的所有内容:

$ you-get -l URL

-c 参数用于指定cookies信息,主要用于需要用户名和密码的VIP资源下载,可先用网页登陆账号,然后找出cookies.sqlite;
FireFox的cookies文件位于C:\Users\admin\AppData\Roaming\Mozilla\Firefox\Profiles的最后一个目录中;

$ awk '{print $1}' 米奇妙妙屋第一季.txt | xargs you-get -c ~/cookies.sqlite

- 阅读全文 -

服务器搭建--minidlan添加rmvb文件支持


文章摘要:
在高清横行的年代里,rmvb格式基本即将退出历史的舞台,所以原生的minidlna不支持rmvb文件格式,也是天经地义的,但是由于历史遗留问题,毕竟其曾经也红火了那么多年,所以目前仍有一些存量视频存在的事实,而且目前大部分播放器都兼容rmvb格式;
对于minidlna来说,解决的方法之一就是修改文件扩展名即可(怎么有一种windows的感觉呢?);
另一种方法就是修改源码,将rmvb文件格式添加入支持列表,即本文提供的方法。


操作系统:Debian 8
软件版本:minidlna 1.1.6


修改metadata.c

// 大约841行处
else if( strncmp(ctx->iformatctx->name, "matroska", 8) == 0 )
    xasprintf(&m.mime, "video/x-matroska");
else if( strcmp(ctx->iformatctx->name, "flv") == 0 )
    xasprintf(&m.mime, "video/x-flv");

// ---- 添加以下代码 ----
else if( strcmp(ctx->iformat->name, "rm") == 0 )
    xasprintf(&m.mime, "video/x-pn-realvideo");
else if( strcmp(ctx->iformat->name, "rmvb") == 0 )
    xasprintf(&m.mime, "video/x-pn-realvideo");
// ---- 添加代码结束 ----

修改upnpglobalvars.h

// 大约169行处,添加下边一行
"http-get:*:video/x-pn-realvideo:*,"  \
"http-get:*:application/ogg:*"

修改utils.c

// 大约381行处  
ends_with(file, ".m2t") || ends_with(file, ".mkv")   ||  
ends_with(file, ".vob") || ends_with(file, ".ts")    ||  
ends_with(file, ".flv") || ends_with(file, ".xvid")  || 

//---- 添加以下代码 ----  
ends_with(file, ".rm")  || ends_with(file, ".rmvb")  ||  
//---- 添加代码结束 ----  

重新编译安装即可;


移植好的版本:

https://github.com/chun912/minidlna.git

- 阅读全文 -

服务器搭建--DLNA安装及配置


文章摘要:
DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 其宗旨是Enjoy your music, photos and videos, anywhere anytime,由索尼、英特尔、微软等发起成立、旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能。

随着NAS(Network Attached Storage:网络附属存储)的兴起,DLNA貌似比较火了起来,可以将视频音乐图片文件集中放在NAS服务器上进行管理,手机电视等客户端通过DLNA服务从服务器上进行访问(仅限于同一局域网内),节约了客户端的存储空间,更换设备观看也很方便;


操作系统: Debain8
软件版本: minidlna 1.1.6


服务安装

源码位置:https://sourceforge.net/projects/minidlna/

下载源码:

# git clone https://git.code.sf.net/p/minidlna/git minidlna

生成配置:

# apt-get install autoconf
# apt-get install autopoint
#./autogen.sh

配置安装:

# ./configure --disable-nls
# make 
# make install

注意事项:
配置时一定要添加--disable-nls选项,否则会产生错误;
mv: 无法获取"t-da.gmo" 的文件状态(stat): 没有那个文件或目录


配置文件:

# cp minidlna.conf /etc/minidlna.conf

运行测试:

# /usr/local/sbin/minidlnad -d -v -f /etc/minidlna.conf

此时可通过客户端访问服务器媒体目录;
还可以通过浏览器打开 http://{ip}:8200 来查看客户端连接状态;


配置详解:

#修改配置文件/etc/minidlna.conf

# 指明端口,默认值为8200,一般不需要修改
port = 8200

# 自动扫描媒体目录中的新文件
inotify = yes

# 指定媒体目录,可以指定多个media_dir
# 前缀字母表示只扫描该目录的文件格式A(声音), V(视频), P(图像)
# 如果不添加前缀,则扫描所有格式;
media_dir = A,/media/Music
media_dir = V,/media/Movie
media_dir = P,/media/Image

# 指定显示名称(默认为主机名)
friendly_name = MyDLNA

客户端

推荐使用Kodi,界面美观,功能强大,适用于Android,Widonws,Linux操作系统;

请输入图片描述


debian安装方法:
1.添加源

deb http://http.debian.net/debian jessie-backports main

2.安装

# apt-get update
# apt-get install kodi

苹果用户

推荐使用AVPlayer;


其他软件:

原子播放器(Atomplayer) - 适用于手机和天猫盒子和电视,界面一般;
猫范TV - 只适用于天猫盒子,界面不错,但不适用手机和电视,运行提示错误;


- 阅读全文 -

服务器搭建--https证书


自建证书:

1.生成私钥

$openssl genrsa -des3 -out private.key 2048

des3代表加上了加密,后面的2048是代表生成的密钥的位数;

2.生成证书请求

$openssl req -new -key private.key -out server.csr 

这一步需要填写一些信息,其中Common Name (e.g. server FQDN or YOUR name) []这个需要填写你的域名或服务器地址。

3.生成服务器的私钥,去除密钥口令:

$openssl rsa -in private.key -out server.key

4.使用私钥为证书请求签名,生成给服务器签署的证书:

openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650

格式是x509的PEM格式;
-outform pem指定证书生成的格式,默认是pem,所以可以省去;


配置Nginx

server {
        server_name i.oroct.com;

        # 重要看这里
        listen 443 ssl;
        ssl on;
        ssl_certificate /etc/nginx/key/server.crt;
        ssl_certificate_key /etc/nginx/key/server.key;
        ssl_session_timeout 5m;

        # 以下的配置与其他配置相同
        
        root /var/www/html;
        # Add index.php to the list if you are using PHP
        index index.html index.htm index.php index.nginx-debian.html;

        location / {
            #此处省略去其他配置...
        }
}

http跳转
输入http网址时,自动跳转向https.

server {
    listen 80;
    server_name cloud.example.com;
    # enforce https
    return 301 https://$server_name$request_uri;
}

- 阅读全文 -


Copyright©2025 春天花会开, All Rights Reserved. Email: webmaster@oroct.com