1.å¦ä½å¨ Windows ä¸ç¼è¯ OpenSSL
2.嵌入 luci-app 服务的源码 openwrt(lede) 编译过程
3.ç½ç«å¦ä½å好seoç½ç«å¦ä½å好ä¼å
4.使用openwrt路由(例极路由3(HC5861))过校园网多设备检测(非破解) (宿舍共网)
5.Linux理解其正确的发音linux的发音
å¦ä½å¨ Windows ä¸ç¼è¯ OpenSSL
å¦ä½å¨Windowsä¸ç¼è¯OpenSSL ï¼VS使ç¨VCçclç¼è¯å¨ï¼
1ãå®è£ ActivePerl//åå§åçæ¶å,éè¦ç¨å°perl解éå¨
2ã使ç¨VSä¸çVisual Studio Command Promptè¿å ¥æ§å¶å°æ¨¡å¼ï¼è¿ä¸ªæ¨¡å¼ä¼èªå¨è®¾ç½®åç§ç¯å¢åéï¼
3ã解å缩opensslçå ,è¿å ¥opensslçç®å½
4ãperl configure VC-WIN
å°½éå¨è¿ä¸ªç®å½ä¸æ§è¡è¯¥å½ä»¤ï¼å¦åæ¾ä¸å°Configureæ件ï¼æè æå®å®æ´çConfigureæ件路å¾ã
5ãms\do_ms.bat
å¨è§£åç®å½ä¸æ§è¡ms\do_ms.batå½ä»¤
6ãnmake -f ms\ntdll.mak
7ãnmake -f ms\nt.mak
ç¼è¯å
å¨openssl解åç®å½ä¸æ§è¡ï¼å®æç¼è¯åãè¾åºçæ件å¨outdll (6), out (7)éé¢ï¼å æ¬åºç¨ç¨åºçå¯æ§è¡æ件ãlibæ件ådllæ件
注æï¼å¨è¿è¡ç¬¬äºæ¥æ¶ï¼clç¼è¯å¨ä¼æ±æ¨è¯´.\crypto\des\enc_read.cæ件çreadæ¯The POSIX name for this item is deprecatedï¼ä¸è¢«æ¨èçï¼ï¼å»ºè®®ä½¿ç¨_readãåµåµï¼æå¯ä¸æ³å°OpenSSLä¸çææçreadå½æ°ä¿®æ¹ä¸º_readãåçclçé误代ç error Cï¼äºæ¯ä¸MSDNä¸æ¥æ¾ï¼
warning treated as error - no object file generated
/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.
æ¯ç±äºè®¾ç½®äº/WXé项ï¼å°ææçè¦åé½ä½ä¸ºéè¯¯å¯¹å¾ ï¼æ以ããã
äºæ¯æå¼OpenSSLç®å½ä¸çMSç®å½ä¸çntdll.makæ件ï¼å°CFLAGç/WXé项å»æï¼åçããã
继ç»æ§è¡nmake -f ms\ntdll.mak
=================================
ä¸ãç¼è¯å¹¶å®è£ OpenSSL
1ãæç §æ åæ¥éª¤ä»æºä»£ç ç¼è¯å®è£ OpenSSL
å¨ç¼è¯OpenSSLåï¼éè¦æ£ç¡®å®è£ Perlï¼å 为å¨ç¼è¯OpenSSLæ¶éè¦ä½¿ç¨å°è¯¥ç¨åºã
ä¸è½½ææ°çæ¬çPerlç¶åå®è£ ä¹ã
ä¸è½½ææ°çæ¬çOpenSSL
ç¶åå°æºç 解å缩å°æ个ç®å½ï¼å¦ C:\openssl-0.9.8jï¼ä¸ã
è¿å ¥opensslæºç ç®å½ã
cd c:\openssl-1.0.1e
以ä¸ä¸ºåç §è¯¥ç®å½ä¸çæ件INSTALL.Wçæ§è¡è¿ç¨ï¼
è¿è¡configureï¼
perl Configure VC-WIN
å建Makefileæ件ï¼
ms\do_ms.bat
ç¼è¯å¨æåºï¼
nmake -f ms\ntdll.mak
ç¼è¯éæåºï¼
nmake -f ms\nt.mak
æµè¯å¨æåºï¼
nmake -f ms\ntdll.mak test
æµè¯éæåºï¼
nmake -f ms\nt.mak test
å®è£ å¨æåºï¼
nmake -f ms\ntdll.mak install
å®è£ éæåºï¼
nmake -f ms\nt.mak install
æ¸ é¤ä¸æ¬¡å¨æåºçç¼è¯ï¼ä»¥ä¾¿éæ°ç¼è¯ï¼
nmake -f ms\ntdll.mak clean
æ¸ é¤ä¸æ¬¡éæåºçç¼è¯ï¼ä»¥ä¾¿éæ°ç¼è¯ï¼
nmake -f ms\nt.mak clean
2ãå¦æå«éº»ç¦ï¼ä¸æ³ç¼è¯ï¼å¯ä»¥ç´æ¥ç¨å«äººå好çwindows OpenSSL å®è£ å ï¼æç¨çæ¯0.9.8jçï¼ï¼
å¯ä»¥ä¸è½½ OpenSSL for Windowsï¼ç´æ¥å®è£ ã
P.S. OpenSSL for Windows çæºä»£ç æä¸äºæ°æ®ç±»ååVC6çç¼è¯å¨ä¸å ¼å®¹ï¼æåç°çä¸å ¼å®¹çæ°æ®ç±»åå¦ä¸ï¼
å¨OpenSSLå®è£ ç®å½çä¸çinclude/bn.hæ件ä¸ï¼å°
#define BN_ULLONG unsigned long long
#define BN_ULONG unsigned long long
#define BN_LONG long long
åå«ä¿®æ¹ä¸ºï¼
#define BN_ULLONG ULONGLONG
#define BN_ULONG ULONGLONG
#define BN_LONG LONGLONG
å¦åï¼ä¼åºç°ç¼è¯é误ã
äºã使ç¨OpenSSL
å¨VCä¸é 置使ç¨ä»¥ä¸çå½æ°åºï¼
ç¹å»èåï¼Tools -> Optionsï¼å¼¹åºå¯¹è¯æ¡"Options"ï¼å¨è¯¥å¯¹è¯æ¡ä¸éæ©"Directories"æ ç¾ã
å¨"Show directories for:"ç"Include files"é项ä¸æ°å¢ç®å½"C:\openssl\include"ï¼
"Library files"éæ©ä¸æ°å¢ç®å½"C:\openssl\lib"ã
ç¶åå¨éè¦é¾æ¥OpenSSLå½æ°åºçå·¥ç¨ä¸å å ¥å¦ä¸ä¸¤å¥ï¼
#pragma comment(lib, "ssleay.lib")
#pragma comment(lib, "libeay.lib")
å ¶ä½ç¨æ¯å°OpenSSLæéçåºå¯¼å ¥å·¥ç¨ä¸ã
ä¸ãé®é¢
æå¨é¾æ¥OpenSSLçéæå½æ°åºæ¶éå°ç±»ä¼¼ä»¥ä¸çé®é¢ï¼
Linking...
msvcrt.lib(MSVCRT.dll) : error LNK: _strchr already defined in libcmtd.lib(strchr.obj)
...
è¿æ¯ç±äºOpenSSLçéæå½æ°åºä½¿ç¨çæ¯äºVCçå¤çº¿ç¨DLLçReleaseçæ¬ï¼èæçç¨åºä½¿ç¨äºå¤çº¿ç¨éæé¾æ¥çReleaseçæ¬ã
è°æ´OpenSSLçéæå½æ°åºä½¿ç¨çåºå½æ°çæ¬å³å¯ï¼è°æ´è¿ç¨å¦ä¸ï¼
ç¼è¾æ件 ms\nt.makï¼å°è¯¥æ件第è¡
"CFLAG= /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN -DWIN_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN -D_CRT_SECURE_NO_DEPRECATE -
D_CRT_NONSTDC_NO_DEPRECATE /Fdout -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_TLSEXT -DOPENSSL_NO_KRB5 -
DOPENSSL_NO_DYNAMIC_ENGINE"
ä¸ç"/MD"ä¿®æ¹ä¸º"/MT"ãç¶åéæ°ç¼è¯å®è£ OpenSSLå³å¯ã
åãéå½ï¼å¨VCä¸å¯¹C/C++ è¿è¡æ¶åºä¸åçæ¬ç¼è¯æ令说æ
ãå¨VCä¸å¯¹C/C++ è¿è¡æ¶åºä¸åçæ¬ç¼è¯æ令说æãä¸æä¸è¯¦ç»ä»ç»äºè¿æ¥ä¸åçæ¬åºçç¼è¯æ令å¦ä¸ï¼
C Runtime Libraryï¼
/MD MSVCRT.LIB å¤çº¿ç¨DLLçReleaseçæ¬
/MDd MSVCRTD.LIB å¤çº¿ç¨DLLçDebugçæ¬
/MT LIBCMT.LIB å¤çº¿ç¨éæé¾æ¥çReleaseçæ¬
/MTd LIBCMTD.LIB å¤çº¿ç¨éæé¾æ¥çDebugçæ¬
/clr MSVCMRT.LIB æ管代ç åéæ管代ç æ··å
/clr:pure MSVCURT.LIB 纯æ管代ç
C++ Standard Libraryï¼
/MD MSVCPRT.LIB å¤çº¿ç¨DLLçReleaseçæ¬
/MDd MSVCPRTD.LIB å¤çº¿ç¨DLLçDebugçæ¬
/MT LIBCPMT.LIB å¤çº¿ç¨éæé¾æ¥çReleaseçæ¬
/MTd LIBCPMTD.LIB å¤çº¿ç¨éæé¾æ¥çDebugçæ¬
===============================================
ä¸ é ç½®ç¼è¯åæ°
é ç½®ç¼è¯åæ°æ¯è¿è¡OpenSSLç¼è¯ç第ä¸æ¥,è¿ä¸æ¥å¯ä»¥ç¡®å®ç³»ç»çç¯å¢,使ç¨ä»ä¹ç¼è¯å¨,é»è®¤å®è£ è·¯å¾ä»¥åå ¶ä»ä¸äºé项.æ¥éª¤å¦ä¸:
1.å®è£ perl:ä¸è½½ActivePerl-5.8.8.-MSWin-x-.msi,ç¶åç¹å»msiæ件è¿è¡å®è£ !
2..é ç½®ç¼è¯åæ°:ä¸è½½openssl-1.0.1e.tar.gz,解å.
vc:é¦å å¨C:\Program Files\Microsoft Visual Studio .NET \VC\bin\ç®å½ä¸æ§è¡vcvars.bat,ç¶åå¨è§£ååçopenssl-1.0.1eç®å½,æ§è¡å½ä»¤é ç½®ç¼è¯åæ°:perl Configure VC-WIN
bc:å¨è§£ååçopenssl-0.9.8gç®å½ä¸æ§è¡:perl Configure BC-
äº çææ¹å¤çæ件
å¨ä½¿ç¨configureèæ¬é 置好çç¼è¯åæ°å,å°±å¯ä»¥ä½¿ç¨æ¹å¤çå½ä»¤æ¥çæç¼è¯èæ¬.çæç¼è¯èæ¬æ ¹æ®éç¨ç¼è¯å¨çä¸åé常使ç¨ä¸åçæ¹å¤çæ件.å°±ç®åæ¥è¯´,使ç¨vcç¼è¯çæ¶åæä¸ç§éæ©:do_ms,do_masmådo_nasmæ¥å建ä¸ç³»åç¼è¯èæ¬æ件,å³.makèæ¬.æ¥éª¤å¦ä¸:
vc:å¨openssl-1.0.1eç®å½ä¸,æ§è¡å½ä»¤æ¥æ¹å¤çæ件:do_ms,do_masmådo_nasm
bc:1.ä¸è½½nsm.zip微软æ±ç¼ç¼è¯å¨,解å,æ·è´å°c:/windowsç®å½ä¸,ä¿®æ¹å称为nasmw.exe;2.å¨openssl-1.0.1eç®å½ä¸,æ§è¡å½ä»¤æ¥æ¹å¤çæ件:ms\do_nasm
ä¸ ä»£ç ç¼è¯
vc:
å®æä¸é¢æ¥éª¤å,å¯ä»¥çå°ä¸¤ä¸ªå ³é®èæ¬æ件:nt.makåntdll.mak.å¦ææ们éè¦ç¼è¯åçOpenSSLåºæ¯æ¯æå¨æDLLå½¢å¼ç,é£ä¹åºè¯¥ä½¿ç¨ntddll.makæ件è¿è¡ç¼è¯,è¿æ ·ç¼è¯å®ææ们ä¼å¾å°å个ä¸OpenSSLçAPIåºæå ³æ件:ssleay.lib,libeay.lib,ssleay.dllålibeay.dll.æ§è¡çç¼è¯å½ä»¤å½¢å¼å¦ä¸:nmake -f ms\ntdll.mak
å¦æä¸å¸æ以å¨æåºçå½¢å¼ä½¿ç¨OpenSSL,é£ä¹å¯ä»¥ä½¿ç¨nt.makæ件è¿è¡ç¼è¯.è¿æ ·ç¼è¯å使ç¨OpenSSLçæ¶å,åç´æ¥å°ä»£ç é¾æ¥è¿æ们çç¨åºéé¢.æ§è¡å½ä»¤å¦ä¸:nmake -f ms\nt.mak
bc:æ§è¡å½ä»¤æ¥å®æ代ç ç¼è¯:make -f ms\bcb.mak
å ELSE
1)
æµè¯å¨æåºï¼
nmake -f ms\ntdll.mak test
æµè¯éæåºï¼
nmake -f ms\nt.mak test
å®è£ å¨æåºï¼
nmake -f ms\ntdll.mak install
å®è£ éæåºï¼
nmake -f ms\nt.mak install
æ¸ é¤ä¸æ¬¡å¨æåºçç¼è¯ï¼ä»¥ä¾¿éæ°ç¼è¯ï¼
nmake -f ms\ntdll.mak clean
æ¸ é¤ä¸æ¬¡éæåºçç¼è¯ï¼ä»¥ä¾¿éæ°ç¼è¯ï¼
nmake -f ms\nt.mak clean
2)
使ç¨OpenSSL
å¨VCä¸é 置使ç¨ä»¥ä¸çå½æ°åºï¼
ç¹å»èåï¼Tools -> Optionsï¼å¼¹åºå¯¹è¯æ¡"Options"ï¼å¨è¯¥å¯¹è¯æ¡ä¸éæ©"Directories"æ ç¾ã
å¨"Show directories for:"ç"Include files"é项ä¸æ°å¢ç®å½"C:\openssl\include"ï¼"Library files"éæ©ä¸æ°å¢ç®å½"C:\openssl\lib"ã
ç¶åå¨éè¦é¾æ¥OpenSSLå½æ°åºçå·¥ç¨ä¸ç¼è¯æ¶å å ¥"libeay.lib"å°±å¯ä»¥äºã
嵌入 luci-app 服务的 openwrt(lede) 编译过程
Lean优化后的LEDE版本的OpenWRT在原版基础上整合了实用功能。LUCI-APP中包含多种应用,源码提供手动配置与IP路由划分,源码或自动负载均衡与节点选择管理多个网络进程。源码本文旨在分享OpenWRT编译经验,源码不应用于商业或非法用途。源码动力节点 springboot 源码
为了编译过程顺利进行,源码需要满足以下前提条件:
1. 需在root账号下新建一个编译账号,源码并确保给予适当权限,源码避免未知错误。源码
2. 在WSL中配置IP与端口,源码以提升海外源的源码下载速度,避免网络延迟问题。源码
3. 从GitHub下载LEDE和LUCI-APP源代码,源码获取项目架构。源码
4. 根据LUCI-APP文档,编程之美 源码将LUCI-APP源代码放置于LEDE的package路径,以便Makefile文件正确识别。
在完成基本配置后,进入编译阶段:
1. 安装所需的编译工具包。
2. 在LUCI-APP界面中勾选所需的包名,保存配置。
3. 通过设置下载相关DL包,建议WSL环境下使用单线程下载,避免并发问题。
4. 处理下载失败,检查错误日志,确认包名,从镜像源下载,并验证sha哈希值一致性,确保文件完整。顶级源码vip账号
5. 下载完毕后,启动编译过程,同样推荐单线程编译,避免潜在错误。
6. 编译完成后,检查bin目录下是否生成了.img文件,确认编译成功。
烧录过程如下:
1. 制作WinPE系统(如老毛桃),将所需文件放入同一文件夹。
2. 运行PE系统,打开CMD控制台,执行烧录命令。
3. 登录默认IP地址..1.1,输入默认密码“password”,系统左侧导航栏出现LUCI-APP对应文件名,捕鱼 源码 带后台表明编译成功。
总结,此过程实现了LUCI-APP服务集成的OpenWRT编译与烧录,为后续使用奠定基础。
ç½ç«å¦ä½å好seoç½ç«å¦ä½å好ä¼å
å¦ä½å好ç½ç«çSEOä¼åï¼1ãå ³é®è¯å®ä½è¿æ¯SEOä¼åæéè¦çé¨åãå ³é®è¯åæå æ¬:å ³é®è¯å ³æ³¨åº¦åæãç«äºå¯¹æåæãå ³é®è¯ä¸ç½ç«ç¸å ³æ§åæãå ³é®è¯å¸å±åå ³é®è¯æåé¢æµã
2.ä¸æç´¢å¼æ对è¯
æ交æªè¢«å大æç´¢å¼æç»éé¨æ·æ¶å½çç«ç¹ãçæç´¢å¼æSEOçææï¼éè¿ç«ç¹äºè§£ç«ç¹çæ¶å½åæ´æ°:ä½ çååã
3.ç½ç«ç»æåæ:ç½ç«ç»æ符åæç´¢å¼æçç¬è«å好ï¼æå©äºSEOä¼åãç½ç«æ¶æåæå æ¬:åé¤ç½ç«æ¶æçä¸è¯è®¾è®¡ï¼å®ç°æ å½¢ç®å½ç»æï¼ä¼åç½ç«å¯¼èªåé¾æ¥ãç½ç«è®¾è®¡çè¯è¨åºè¯¥æ¯DIVCSSé£æ ¼ï¼ä»£ç å±æ¬¡åæï¼ç®æ´æäºã
4.å 容åå¸åé¾æ¥æå
æç´¢å¼æå欢å®æçç½ç«å 容æ´æ°ï¼æ以åçå®æç½ç«å 容åå¸æ¶é´è¡¨æ¯SEOä¼åçéè¦æå·§ä¹ä¸ãå¸å±å°æ´ä¸ªç½ç«ææºçèç³»å¨ä¸èµ·ï¼è®©æç´¢å¼æäºè§£æ¯ä¸ªç½é¡µçéè¦æ§åå ³é®è¯ãå®ç°åèå°±æ¯ç¬¬ä¸ç¹çå ³é®è¯å¸å±ã
5.é«è´¨éçåè°é¾æ¥
建ç«é«è´¨éçåæ é¾æ¥æ¯SEOä¼åçå ³é®é®é¢ï¼å¯ä»¥æé«ç½ç«çPRå¼åç½ç«çæ´æ°çã
6.建ç«ä¸ä¸ªç½ç«å°å¾ã
æ ¹æ®ä½ çç½ç«ç»æï¼åä¸ä¸ªç½ç«å°å¾ï¼è®©ä½ çç½ç«å¯¹æç´¢å¼ææ´å好ã让æç´¢å¼æéè¿SiteMap访é®æ´ä¸ªç½ç«ä¸çææ页é¢åæ ç®ã
æä¹æè½å好seoå¢ï¼
èªç¶æç´¢å æ®äºå ¬å¸ç½ç«çº¦1/3çæµéï¼èè¿æ¯ä»è´¹æµéå社交åªä½å¼æµå èµ·æ¥è¿å¤ï¼
è¿ä¸ªæ°æ®åè¯æ们ï¼SEOæ°¸è¿é½éè¦ãå¦æä½ ä»äºè¥éå·¥ä½ï¼æè¿è¥ä¸ä¸ªå客ï¼ææ¯ç»è¥èªå·±ççæï¼ç¥éSEOçåºç¡ç¥è¯æ¯é常éè¦çã
ä½ä½ å¯è½ä¼éå°éç¢ï¼æåçSEOéè¦ä½ äºè§£æç´¢å¼ææ¯å¦ä½å·¥ä½çï¼èè¿éè¦æ¶é´åä¸æå°è¯æ¥æ¾å°æä½³æ¹æ¡ã
以åï¼è¿å ¶å®æ¯ä¸ä¸ªä¸ç´å¨ç§»å¨çç®æ ãSEOçæä½³æ¹æ¡ä¸ç´å¨ååååå±ï¼å 为æç´¢å¼æçç®æ³ä¹ä¸ç´å¨æ´æ°ã
è¿ç§æ´æ°å ¶å®æ¯æ¯å¹´-次çé¢çã
è¿éè¦ä¸ºGoogleæcalläºã
èGoogleå¨åæä½ çç½ç«æ¶ï¼å¯è½ä¼æå¤ä¸ªå½±åæåçå ç´ è¢«å®èéï¼è½ç¶ææ¶æè§å¾æä¸å个ï¼ã
èå¦æä½ ææ¡äºåºæ¬ç¥è¯ï¼è³å°ä½ è½æä¸ä¸ªé¡ºå©çå¼å§ãä½ å¯å¨è¿ä¸ªåºç¡ä¸è¿è¡æ´æ·±å±æ¬¡çæ¢ç´¢ã
SEOåºç¡No.1
å¤é¨é¾æ¥ï¼ç®ç§°âå¤é¾â
没æå¤é¾ï¼ä½ çæç´¢ç»ææåé常ä¼å¾ä½ã
äºå®ä¸ï¼å¤å¹´æ¥å¤é¾ä¸ç´æ¯Googleæåç主è¦èéåæ°ãèå®ä»¬ç°å¨ä¹ä¸ç´å æ®æ¦é¦ãå®ä»¬å°±åæ¯å¸¸ä¼´ä½ å·¦å³å¤å¹´çèæåï¼æ¯å¦æ¤çå¯é ï¼èè®©ä½ æ æ³å¿æã
å¦æä½ éè¦è¯æ®ï¼ä¸ä¹ åï¼BacklinkoçBrianDeanåå ¶å¢éåæäºä¸ç¾ä¸Googleæç´¢ç»ææ¥ç 究影åGoogleé¦é¡µçæ£ç´¢ç»æç¸å ³çå ç´ ãä¸é¢å°±æ¯ä»ä»¬çåç°ï¼
å¾ææ¾ï¼ä»ä»¬åç°å½ä¸ä¸ªç½ç«çå¤é¾æ°éä¸éæ¶ï¼å ¶æ£ç´¢æåä¹ç¸åºä¸éã
ä½ï¼ä¸ºä»ä¹é¾æ¥å¦æ¤éè¦å¢ï¼
æ¥èªé«å¯ä¿¡åº¦ç½ç«çé¾æ¥ä¼åGoogleä¼ éä¸ä¸ªå¯ä¿¡èµçä¿¡å·ï¼è¿å°±åæ¯æäººä¸ºä½ æ ä¿ãä½ çæ ä¿äººè¶å¤ï¼ä½ å°±è¶å¯ä¿¡ãé£ä¹é®é¢æ¥äºï¼ä½ å¦ä½è·å被Googleå¦æ¤çéçä¿¡ä»»å¢ï¼
å¤é¾å¯è½å¾é¾è·å¾ï¼å°¤å ¶å½ä½ 并ä¸æ é¿ä¸äºå»ºç«å¤é¾çæå·§æ¶ã
ææ¶ä½ ä¼è§å¾èªå·±åæ¯è´±å¥³å©éçGretchenWienersï¼çå¾ çå«äººè½»æå°±å¾å°çç³æã
æ³è¦è·åååé¾æ¥ï¼ä½ å¯ä»¥ä½¿ç¨ä¸äºæ´ç§¯æçæ¹æ³ãè¿äºæ¹æ³ä¹ä¸éè¦ææ¯æè½ã
1ãå表ååçç 究ææ¡ä¾åæ
è¿æ¯è®©äººä»¬åå¸å¯¼æµè³ä½ çç½ç«çååé¾æ¥çæèªç¶çæ¹æ³ãä½ æéè¦åçåªæ¯åå¸ä¸äºç±ä½ å ¬å¸ååçæ趣çç 究ææã
å¦æè¿æ¯è½è®©ä½ çåè¡ååºâwowâæå¼çä¸è¥¿ï¼é£ä»ä»¬ä¸å®ä¼å¿ä¸ä½çã
ä»ä»¬ä¼å¨ä»ä»¬çå客æç½é¡µä¸å¼ç¨ä½ çç 究æç»è®ºï¼å¹¶å°é¾æ¥å¼åä½ ä½ä¸ºæ¥æºã
å¦æä½ æ²¡æèªå·±çæ°æ®æèµæºï¼é£ä¹ä¸ä¸ªæ¡ä¾åæä¹è½æåæ ·çå¼æµææãä¸ä¸ªæ¡ä¾åæå¯è½ä¼ä¾§éå¨ä¸é¡¹ç²¾å½©çç»è®ºä¸ï¼ä»¥åä½ å¦ä½å¾å°è¿ä¸ªç»è®ºï¼ã
让æ们æ¥ççLeanLabsçä¾åï¼
ç°å¨ï¼ä½ ä¸ä¼ä¸å¨èªå·±çå ³äºå¢å Leadsçæç« éå¼ç¨è¿ç¯æ¡ä¾åæã
2ãä¸ºä½ å·¥ä½çå ¶å®å ¬å¸åè¯ä»·æç«
è¿æ¯ä¸ä¸ªç®åä½è¢«ä½ä¼°çè·åå¤é¾çæå·§ã
ä½ å¯è½å·²ç»è§è¿å¾å¤è¯ä»·æï¼æè å·²ç»å°å®ä»¬æ¾å¨ä½ çç½ç«ä¸äºãå¾å¤æ åµä¸ï¼ä½ ä¼å¨è¯ä»·æä¸çå°ç §çï¼ååï¼èä½ååå¾ä»ä»¬çç½ç«çé¾æ¥ã
èè¿äºäºæ ä½ ä¹è½åï¼ç®åçæ´çå»å¹´ä½ åä½è¿çå ¬å¸ååï¼ç¶ååä¸å°æè°¢çµé®ç»ä»ä»¬ï¼è°¢è°¢ä»ä»¬æä¾çåè¶çæå¡ï¼å¹¶åæä½ æ¿æ为ä»ä»¬çç½ç«æ°åä¸ç¯è¯ä»·æç« ã
å¾å¤§æºä¼ä»ä»¬ä¼ä¹äºæ¥åï¼è°ä¸å¸æèªå·±çå ¬å¸è½è¢«äººå¼ºæ¨å¢ï¼
以åï¼å¦æä»ä»¬æ²¡æèªå¨ç»ä½ ä¸æ¡è·³è½¬é¾æ¥ï¼å«å¿äºé常æ礼è²çç´¢åé¾æ¥ã
è·çè¿äºtipsçæå¼?ç¶åé¾æ¥å°±æ¯ä½ çäºï¼
SEOåºç¡No.2
å 容
å¦æä½ å¿½ç¥ç½ç«çå 容ï¼é£ä½ çç大éç¹éãå 容æ¯å¦ä¸ä¸ªé«å± æ¦é¦ä½ç½®å½±åæåçå ç´ ï¼èä¸ä¸ååé¾æ¥æ¯ä¹æ¯æ¯«ä¸éè²ã
è为ä»ä¹å 容对äºSEOå¦æ¤éè¦å ¶å®å¾ç®å?
Googleå¸æä½ è½æç»åå¸æ°çå 容è¿æ ·å®æè½ç¡®å®ä½ å¤äºæ´»è·çç¶æã
å 容è½å°è®¿å®¢çå¨ä½ çç½ç«ï¼è¿å¯¹äºæç´¢å¼ææ¥è¯´æ¯ä¸ä¸ªå¾éè¦çä¿¡å·ï¼ä½ å¨æä¾ç¸å ³ä¸æç¨çä¿¡æ¯ã
让æ们åç´æ¥ä¸ç¹?å å®¹å ¶å®å°±æ¯ä½ çå ³é®è¯çæå¨ã
Googleçæ´æ°æ¾ç¶æ¹åäºæ们å¨å 容ä¸ä½¿ç¨å ³é®åçæ¹å¼ã
é£è¿æ¯ä»ä¹ï¼ä¸äºå ³äºå ³é®è¯åä¹±ä¸å «ç³çå¡«å çä¸è¥¿åï¼
ä½è¿å¹¶ä¸æå³çç½ç«ä»ç¶ä¸ä¼ä¸ºå ³é®è¯æåãå®é ä¸ï¼ç½ç«æåä¾æ®å¾å¤çå ³é®è¯ã
Ahrefsåæäºä¸ç¾ä¸éæºçæç´¢è¯æ¥æ¥æ¾å¤´é¡µæ£ç´¢ç»æä¾æ®å¤å°å ³é®è¯æ¥æåºã
请æ¥çä¸è¡¨ï¼
æå第ä¸ç页é¢ä¹ä¼æåå ¶å®ä¸ªå ³é®è¯ã
ä½ ä¸è½éè¿è¿ç§è·åæµéç好æºä¼ã
æ以ï¼ä¸é¢æ¯çæSEOå好å 容çä¸äºéè¦æ示ã
å建é¿å 容
BrianDeançç 究åç°ï¼Googleåºç°å¨æ£ç´¢ç»æé¦é¡µçå¹³åæ¯é¡µçæåé¿åº¦ä¸ºãèè¿å¬ä¸å»åæ¯ä¸ä¸ªå·¨å¤§çå·¥ä½?
å®é ä¸å®ä¹æ¯ã
ä½ çå 容éè¦å°½å¯è½çé¿æ¥å å«æ·±åº¦ãé¿æ为ç½ç«ç访客æä¾æ´å¤çå®ç¨æ§ãèå®ä¹è½è®©ä½ ææ´å¤§çå¯è½æ¥ææ¾å°½å¯è½å¤çå ³é®è¯ââä¸ç®¡æ¯ææè¿æ¯æ å¿ã
å¦ä¹ SEO该æä¹å»å¦ï¼
å¦ä¹ æ好çæ¹æ³æ¯å®è·µï¼åªæè¾¹å¦ï¼è¾¹å®è·µæè½æé¿ãr
SEO并ä¸æ¯å¾é¾ï¼ä½è¦å¦å°ç²¾éç¨åº¦è¿è¦éè¦å¤§éç项ç®ç§¯ç´¯ãr
å ¥é¨ç¥è¯ï¼å¹¿ä¸å°è¾ççæ¡æ¯è¾å ¨é¢ï¼æç §æ¦å¿µäºè§£ç¸å ³ç¥è¯ç¹å³å¯ãr
è¿é¶ç¥è¯ï¼è¿ä¸ªä¸è¬æ¯éè¦è±é±æå¯ä»¥å¦å°ï¼è¿ä¸ªé¶æ®µéç¹æ¯ç½ç«å¸å±ï¼ä¸ä¸ªå¥½å¸å±å¯ä»¥å¨1个æå ååºå¥½çæåãè¿ä¸ªé¶æ®µç¥è¯ç¹ï¼ä¸ªäººå»ºè®®å»è ¾è®¯è¯¾ç¨å¤å¬å¬å ¬å¼è¯¾ï¼ä½ ä¼ææ¶è·ãr
é«é¶ç¥è¯ï¼æè¡ä¸å¤§ä½¬ä¸ºå¸ï¼ä¸è¿è¿ä¸ªè¡ä¸é±¼é¾æ··æï¼çæ£ç大ç¥ä¸ä¸å®éå¾å°ï¼éå¾å°çä¹ä¸ä¸å®æ¿ææä½ ãr
ç¥è¯åªæ¯æä½ æ¦å¿µï¼æç»´æ¹å¼ãä½è¦æææå°±ï¼è¿æ¯éè¦æ·±å»ç解è§åï¼ä¸ææµè¯æ°çç©æ³ãå½ä½ ç¥éè¿ä¸ªæ¸¸ææä¹ç©ï¼ä½ å°±æ¯è¿ä¸ªè¡ä¸éç大佬ã
å¦ä½å¦ä¹ SEOï¼
SEOéè¦çææ¯çç太å¤äºã没æ¥è§¦è¿åæ¥è§¦è¿åæåè¿ãæç¥éçææ¯çç天差å°å«ã
é¦å 说ä¸ä¸åºç¡çSEOç¥è¯æã
å ¥é¨çº§SEOéè¦ææ¡ç¥è¯åææ¯ï¼htmlcssDIVåç§CMSçè¿ç¨åä¿®æ¹åç°å¾å¤SEOè¿å ¥é¨çº§éè¦çææ¯ç¥è¯é½ææ¡ä¸å ¨ã
说ä¸ææ¯å å«åºç¨åºæ¯HTMLè¿ä¸ªæ¯åºç¨è¾å¤åé¢ç¹çãæåºæ¬çTDKmetaå æ è®°ogå±æ§linkæ ç¾>>注éAæ ç¾altæ ç¾Hæ ç¾strongæ ç¾nofollowè¿äºé½æ¯htmlææ¯çæ¯æéé¢Cssè¿ä¸ªåhtmlæ¯ä¸ä¸ªå å«å ³ç³»ãæ¯å¦åæå°Hæ ç¾strongçCssç¨äºå®ä¹æ ·å¼æ件æææ ·å¼æå ³çæ¯å¦åä½æ ·å¼é¢è²å ç²Hæ ç¾å®ä¹æ é¢å¤§å°çã
å¾å¤å¤§æ¦è®²çè¯è¿äºå°±æ¯åSEOç¸å ³çãDIVè¿æ¯ç½ç«å¸å±éé¢åçåºç¨ã主è¦æ¯htmléé¢å¸å±çé¨åã
CMSè¿ç¨è¿ä¸ªæ¯éç¹äºã大é¨åçSEOä¼åçç«ç¹ä½¿ç¨çæ¯å¼æºçCMSè¿éé¢ä¼ä¸ç«çè¯ä»¥ç»æ¢¦åå¸å½ä¸ºæãå½ç¶è¿æå ¶ä»çä½æ¯æå¤çæ¯è¿äºç±»ãè¿äºCMSæå¾å¤åè½æ¯å¯¹äºSEOå¾æ好å¤ãçä½ èªå·±æä¹ç¨ãè½å¦çç»ä½¿ç¨ã
è¿é¶çº§SEOéè¦ææ¡ç¥è¯åææ¯ï¼æ°æ®åæææ¯CMSåè½å¼åJSpythonå®å¶åè½æ£åééåç¬è«æ°æ®åæ;åºæ¬æ°æ®åæå©ç¨æ¯å¦EXCè¡¨æ ¼CMSåè½å¼åéè¦PHPè¯è¨ççæç»æ¢¦åå¸å½é½æ¯PHPçãå¦å¢å æç« åå¸åèªå¨ä¸»å¨æ¨éç»ç¾åº¦çæå·ã
å¯ä»¥å¨ç½ä¸æ¾å°æºç ä½ è¿æ¯çä¿®æ¹åå©ç¨ãè¿éæ人ä¼è¯´æ¾ç¨åºåï¼äº¤ç»ç¨åºå解å³ã没éå¦æå ¬å¸æç¨åºåæ¯å¯ä»¥äº¤ä¸ªä»ä»¬è§£å³ãä½æ¯å¦ææ们ç¥éè¿æ¹é¢çç¥è¯å¨æ²éååéæ±çæ¶åæè¿°æ¯å¦æçä¼æåå æ¬æ²éææ¬ãèä¸æ¯ä¸ç¹ç¨åºæç»´é½æ²¡æçJBæéæ±ã
JSï¼åºæ¬çäºè§£ååºç¨å°±å¯ä»¥äºãæ¯å¦è·³è½¬å¦ä½ç¨JSä½åºè·³è½¬ææPC端跳转移å¨ç«¯ä»£ç 跳转éé è¿éé¢æ°´å¾æ·±ãé»å¸½å¾å¤ä¸è¥¿å¨JSéé¢é½è½æ¾å°äº®ç¹çç¹è²ã跳转å¤ææ¥è®¿è·³è½¬ãåç°è¿éé¢ä¸¾ä¾è·³è½¬æ¯è¾å¤ã
å 为缺å°å¨Seoå®æä¸è¿ä¸ªJSææç¨çæ¯è¾å¤ãè跳转æå¾å¤ç§ãæ个æ¯æ¹åä¸ä¸ªæç®åJS跳转ææãå½ç½ç«é¡µé¢è¢«å éæ¶å¦ä½æ½åæµéï¼
åæï¼å é页é¢é£ä¹å°±ä¼å å«é¡µé¢ææçå ç´ å¦ææåä¸ä¸ªJSç¨æ¥å¤æå½å页é¢urlæ¯å¦ä¸ºèªå·±æ¬èº«çurlå®ç°è·³è½¬æ¯å¦å°±è½æè¿ä¸é¨åæµéæåæ¥ï¼è¿ä¸ªä»£ç æå°±ä¸æ¾æ¾åºæ¥äºç½ä¸å¾å¤ä¹å¾ç®åã
å¤æå½åurlæ¯å¦å å«"XXX"ä¸å å«å°±è·³å°'XXX'å¦æå éè 并没æè¿æ»¤æJSçè¯ãé£ä¹å½ç¨æ·è®¿é®å é页é¢è§¦åäºJSå°±ä¼è·³è½¬å°è¢«å éç页é¢è¿æ¯ä¸æ¯æµéå°±åæ¥äºã
PYthonå®å¶åè½è¿ä¸ªå°±å¾å¤§äºãæ¯å¦ä¸äºæ¥å¸¸çSEOæä½æ¥æåæ¥æ¶å½æ¥å¯¼åºurlåæç¬è«æ¥å¿æ¨éä¸æ¶å½urlå°ç¾åº¦ççããå¾å¤å ·ä½æ ¹æ®éæ±ãæ以ä½ä¸ºä¸ä¸ªè¿é¶SEOä½ éè¦ææ¡pythonæ£åè¿ä¸ªåºç¨åºæ¯å°±å¤ªå¤äºã
移å¨éé è§åæ交éé¢å°±ç¨æ£å带éé urléé¢åå±çº§çåæ°åæ¶pythonéé¢è¯å«å¾å¤é½ææ£åå æ¬éééé¢å¯¹äºurlè¯å«éé¢å¾å¤æ£åãééåç¬è«è¿ä¸ªå å«æ£åæªåæ£åæ¿æ¢scarpyçãåºç¨åºæ¯éé¢åºæ¬æ¯å¤§æ°æ®ééã
大ç¥çº§SEOéè¦ææ¡ç¥è¯åææ¯ï¼æ°æ®åæ模å建ç«ä¸æå±PYthonèªå¨åshellåæ产å模åä¸éæ±ã
è¿ä¸ªå°±è½é¾è¯´å»ãæ¯ç«æä¹æ¯å¨å¦ä¹ åè¿æ¥ä¸ãåæ¥è§¦å°ç大ç¥äºè§£æ¥è¯´åç°äºä¸äºææ¯ï¼è¯å®è¿æä¸äºéèçå±æ§åæè½æ²¡äºè§£å°ãæ°æ®åææ¯ä¸ä¸ªå¤§çä¸è¥¿ãæ¯ä¸ªSEO大ç¥å¯¹äºSEOæ°æ®åæé½æèªå·±æ¨¡åå维度ãåæ¶å¨åæ°æ®åæçæ¶åä¼æ¶åå°å¾å¤ææ¯ã
æ¯å¦pythonshellççè³å¾å¤æä¹ä¸äºè§£çææ¯ãpythonèªå¨åè¿ä¸ªæè¿åå§äººææå¨æè¿å享ä¸åå¤æå°è¿ä¸ªè¯ãæææ¯ææ¯åºèº«ï¼æ以对äºSEOæçå ³äºèªå¨åãç¨åºåãæ¹éåæ§è¡æ§å¿µãæä¸äºSEOå®ææéè¦çä¸äºæ°æè åè½ç¨åºåèªå¨åæ¹éåã
shellä¹æ¯ç¨æ¥åæ°æ®åæï¼ç¨æ¥å¥ç¦»æ°æ®åææ°æ®ä¸é´å¯ä»¥ç»åpythonç¨æ¥è·å¾éè¦çæ°æ®åææã产å模åä¸éæ±åSEOé½å°å¤§ç¥çº§å«äºé£ä¹å¯¹äºå产åæè åä¸äºæåæµééæ±ç产ååéæ±æ¶ä¹æ¯éè¦äºè§£ååºç¨çãå°äºè¿ä¸æ¥æ估计已ç»æä¸å¤§æ¹SEOåæ»å¨è·¯ä¸ãå 为å¯è½ä»ä»¬åäºå¥½å å¹´å¯è½è¿æ¯å¨å ¥é¨çº§SEOå¾å¾ãå½ä½ åæ´å¤å¤§ç¥çº§SEO交æµæ¶åä½ å°±ä¼åç°ææ¯åçææ¯æç»´æ å¤ä¸å¨ãè¶æ¯å¦ä¹ çè¶å¤äºè§£çè¶å¤ï¼åç°èªå·±æå¾è¶å°è¿æ¥ç空é´è¶å¤§ã
ç¥å¥½ï¼å¸æé¢ä¸»ä¸è¦è¢«æè¿ä¸å¤§å å ³äºSEOææ¯ç»å¼æµé¼ãä¸æ¥ä¸æ¥æ¥ï¼ä¸æ¥ä¸ä¸ªèå°ãå头ççèªå·±çå¦ä¹ è¿æ¥è¿ç¨çç太ææä¹äºã
欢è¿å¤§ä½¬æç ææ£ï¼æ¬¢è¿æ°äººäº¤æµè®¨è®ºã欢è¿åè¡åå´è§ç¾¤ä¼ç¹èµãæ¶èãè¯è®ºã
使用openwrt路由(例极路由3(HC))过校园网多设备检测(非破解) (宿舍共网)
校园网多设备检测使用openwrt路由(如极路由3(HC))的步骤和技巧如下:
首先,你需要了解校园网可能采取的检测策略,包括基于IPv4数据包包头内的TTL字段的检测、基于HTTP数据包请求头内的User-Agent字段的检测(UA2F)、DPI(深度包检测技术)、基于IPv4数据包包头内的Identification字段的检测、基于网络协议栈时钟偏移的检测技术、Flash Cookie检测技术。这些检测方法可能会限制多设备接入。
针对极路由3(HC),采用Lean大佬的yy4410源码Openwrt源码进行编译,登陆IP为..1.1,密码为"password"。在编译时,确保TurboACC技术关闭,以免影响User-Agent字段,导致问题如微信无法发送。解决方法是执行命令"uci set ua2f.firewall.handle_mmtls=0 && uci commit ua2f"。
刷入Openwrt后,进行以下配置:
1. 启用NTP客户端和作为NTP服务器提供服务,填写候选NTP服务器为:ntp1.aliyun.com、time1.cloud.tencent.com、stdtime.gov.hk、pool.ntp.org。
2. 添加自定义防火墙规则。
3. 对UA2F进行配置,确保检测正确。
配置完成后,即可进行多设备检测。确认真实User-Agent显示正确,说明配置成功。一个宿舍内可用一台路由器加一个账号上网。
感谢Lean提供的Openwrt源码,参考关于某大学校园网共享上网检测机制的研究与解决方案,UA2F技术来自Zxilly/UA2F,修改IPID技术来自CHN-beta/rkp-ipid。祝学子们早日摆脱校园网限制。
Linux理解其正确的发音linux的发音
Linux,一名越来越出名的操作系统,分布在个人电脑,服务器,嵌入式系统和智能手机中。即使操作员早就熟悉它,尚记不住其正确发音仍是一个普遍的问题。
结论是,Linux应发音为“Lin-nucks”,读作“lin-nucks”,而不应该读作“Lie-nucks”或“Lai-nucks”。Linus Torvalds是Linux的创始人,他所发音的读法是“Lin-nucks”,而且他在演讲中一再反讽这种正确的发音。此外,它是为Linus Torvalds命名的,它从来没有被读为“Lai-nucks”或“Lie-nucks”。
此外,Linux也有更多的发音形式。比如,可以发音为“lean-teks”或“leen-teks”,这是由于Linus Torvalds是芬兰人,而芬兰语是一种典型的拉丁文,这里有几个重音发音方面的注意事项。因此,如果你喜欢芬兰人的发音,你也可以发音为“lean-teks”或“leen-teks”来表示Linux。
无论你把Linux发音为Lin-nucks,Lean-teks,或Lai-nucks,你一定要保持专业的形象,这样别人才能了解你是一个Linux的专家。
虽然理解Linux的发音对我们很重要,但我们也可以从更深层次上了解Linux系统。 它是一个开放源码操作系统,基于Unix。它可以安装在各种电脑设备上,比如桌面电脑,服务器,嵌入式系统和智能手机上,因此受到了广泛的欢迎和支持。它有许多强大的功能,如轻松搭建复杂的网络系统,使用不同的协议在计算机之间交换数据,提供安全性能等。
总的来说,Linux的发音应该按Linus Torvalds所说读作“Lin-nucks”,而不应该读作“Lie-nucks”或“Lai-nucks”。除了理解Linux的发音外,Linux也提供了很多大型,可靠,高性能和完全免费的功能。因此,Linux系统越来越受欢迎。