這篇文章教你如何用scrcpy投影android手機畫面到電腦上!

無線連接adb

確保兩個設備都連上同一個網路

1.開發者選項

(不是每台手機都一樣,但步驟可以參考)

手機打開設定→關於手機→軟體版本號碼(點7次)

在設定中找到開發者選項

打開無線偵錯

同意開啟

按使用配對碼配對

閱讀全文 »

adb: unknown command pair解決

如果遇到這個問題,基本上是用apt來安裝adb,因為adb內有分兩個工具

SDK platform tools

ADB

如果是用apt安裝,預設是安裝sdk版本是28,而pair指令在v.30中才有,所以才會有這問題。

解決

請先解除安裝adb

解決方法很簡單,只需要安裝官網的adb

先下載adb

解壓到目錄(建議家目錄)

閱讀全文 »

本來一開始影片放在YT,可是突然被通知影片被下架了(違反條款?),所以只好把影片放在我的blog。

(放blog總不會出事吧?)

onedrive

https://1drv.ms/v/c/8bab85f3a629b96d/IQNMy8KABvjsRJJjhHI7ExQgAY5VuR4rTmUtJ7FrH6jIYw8

dropbox

https://www.dropbox.com/scl/fi/0dapznujexzoaic32iutn/finish.mp4?rlkey=bsv701irh23lcczp2josml45p&st=ff9q9xf4&dl=0

連結

Chrome:https://chromewebstore.google.com/detail/video-downloader-professi/elicpjhcidhpjomhibiffojpinpmmpil?hl=zh-TW

Firefox:https://addons.mozilla.org/zh-TW/firefox/addon/video-downloadhelper/

CoApp Installation:https://github.com/aclap-dev/video-downloadhelper/wiki/CoApp-Installation

閱讀全文 »

我雖然好不容易有了自己的blog,但是這個blog是基於NotionNext打造,blog底部會有powered by NotionNext的字體,我覺得很礙眼(我的blog居然可以通往別的網站
?),所以我教你如何移除。

github設定

打開你的github倉庫

打開

1
/themes/hexo/components/**Footer.js**

其中的hexo換成你設定的主題

螢幕截圖_20240724_221336.png

原本程式是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { siteConfig } from '@/lib/config'

const Footer = ({ title }) => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear

return (
<footer
className='relative z-10 dark:bg-black flex-shrink-0 bg-hexo-light-gray justify-center text-center m-auto w-full leading-6 text-gray-600 dark:text-gray-100 text-sm p-6'
>
{/* <DarkModeButton/> */}

<i className='fas fa-copyright' /> {`${copyrightDate}`} <span><i className='mx-1 animate-pulse fas fa-heart'/> <a href={siteConfig('LINK')} className='underline font-bold dark:text-gray-300 '>{siteConfig('AUTHOR')}</a>.<br/>

{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt' /> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a><br/></>}

<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye'/><span className='px-1 busuanzi_value_site_pv'> </span> </span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users'/> <span className='px-1 busuanzi_value_site_uv'> </span> </span>
<h1 className='text-xs pt-4 text-light-400 dark:text-gray-400'>{title} {siteConfig('BIO') && <>|</>} {siteConfig('BIO')}</h1>
<p className='text-xs pt-2 text-light-500 dark:text-gray-500'>Powered by <a href='https://github.com/tangly1024/NotionNext' className='dark:text-gray-300'>NotionNext {siteConfig('VERSION')}</a>.</p></span><br/>

</footer>
)
}

export default Footer

找到這行

閱讀全文 »

使用條件

電腦要裝以下軟體

1.python

2.pytube

將底下代碼貼到終端機

1
pip install pytube

程式主體

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#程式主體和錯誤修正是由我設計、解決,chatgpt負責加入功能
from pytube import YouTube
import ssl

from pytube.innertube import _default_clients
from pytube import cipher
import re
#400錯誤解決代碼 (https://github.com/pytube/pytube/issues/1973)
_default_clients["ANDROID"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["IOS"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["ANDROID_EMBED"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["IOS_EMBED"]["context"]["client"]["clientVersion"] = "19.08.35"
_default_clients["IOS_MUSIC"]["context"]["client"]["clientVersion"] = "6.41"
_default_clients["ANDROID_MUSIC"] = _default_clients["ANDROID_CREATOR"]

def get_throttling_function_name(js: str) -> str:
"""Extract the name of the function that computes the throttling parameter.

:param str js:
The contents of the base.js asset file.
:rtype: str
:returns:
The name of the function used to compute the throttling parameter.
"""
function_patterns = [
r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&\s*'
r'\([a-z]\s*=\s*([a-zA-Z0-9$]+)(\[\d+\])?\([a-z]\)',
r'\([a-z]\s*=\s*([a-zA-Z0-9$]+)(\[\d+\])\([a-z]\)',
]
#logger.debug('Finding throttling function name')
for pattern in function_patterns:
regex = re.compile(pattern)
function_match = regex.search(js)
if function_match:
#logger.debug("finished regex search, matched: %s", pattern)
if len(function_match.groups()) == 1:
return function_match.group(1)
idx = function_match.group(2)
if idx:
idx = idx.strip("[]")
array = re.search(
r'var {nfunc}\s*=\s*(\[.+?\]);'.format(
nfunc=re.escape(function_match.group(1))),
js
)
if array:
array = array.group(1).strip("[]").split(",")
array = [x.strip() for x in array]
return array[int(idx)]

raise RegexMatchError(
caller="get_throttling_function_name", pattern="multiple"
)

#ssl
cipher.get_throttling_function_name = get_throttling_function_name
ssl._create_default_https_context = ssl._create_stdlib_context
ssl._create_default_https_context = ssl._create_stdlib_context

yt_url = input("輸入網址: ")
name = input("輸入檔名: ")
file_type = input("輸入要下載 mp3 還是 mp4? ")
print("如果選擇mp3,畫質隨便填一個")
video_resolution = input("輸入畫質 (例如 1080p): ")
output_path = input("輸入下載路徑: ")

yt = YouTube(yt_url)

print("下載影片中")

if file_type == "mp4":
stream = yt.streams.filter(res=video_resolution, file_extension='mp4').first()
if stream:
stream.download(output_path=output_path, filename=f"{name}.mp4")
print("完成")
else:
print(f"沒有找到 {video_resolution} 的影片")
elif file_type == "mp3":
stream = yt.streams.filter(only_audio=True).first()
if stream:
stream.download(output_path=output_path, filename=f"{name}.mp3")
print("完成")
else:
print("未找到指定的mp3")
else:
print("無效的文件類型,請選擇 mp3 或 mp4")

可以從這下載.py檔

執行

閱讀全文 »

llama3開源模型教你不需要gpu在性能不好的電腦上搭建屬於自己的chatgpt!

你是否想要在你的電腦上搭建屬於你的AI對話模型,卻沒有GPU(獨顯),這篇文章將會教你如何用CPU跑ai模型

電腦條件

1.必須有8GB以上的ram

2.磁碟空間要6GB以上的空間

如果電腦符和條件就可以開始今天的教學!

Gpt4all(主程式)安裝

首先要打開這個網址

linux:可以用flatpak安裝

螢幕截圖_20240717_115252.png

閱讀全文 »

前陣子硬碟空間快要滿了,就想說重灌系統來解決,然後又想要用其他的系統試試,想到之前看到的Vanilla OS,就想說來裝看看,結果非常難用,結果又重新再安裝系統了(這次選擇**TUXEDO OS)**

以下說明我不推薦的原因:

apx的bug

apx是一種包管理器,它號稱可以做到以下事:

1.可以安裝不同的系統app(可以安裝arch,debian都可以)

2.不修改系統情況下安裝(採用容器設計)

正當我想試試看,就遇上了bug(2024.7.11)

asking-for-ubuntu-password-for-apx-v0-ici5aovi2gxc1.jpeg
(圖中的人不是我,是一名在reddit的網友)
原reddit

不是啊!我的帳號裡沒有ubuntu的帳號,怎麼莫名其妙多出來的帳號

解決方法

閱讀全文 »

現在家中基本上都有一台WIFI分享器,提供家裡有網路使用,可是當如果選錯加密的話後果可是很嚴重的,輕微頂多速度受限,隔壁鄰居蹭WIFI,嚴重的話個資不見,所以選擇對的加密是很重要的。

WPS

WPS是一種可以不需要”輸入密碼”就可以讓你方便連上網路的一種網路加密,只需要按下分享器上的WPS按鈕,再經由手機設定WPS就可以連上網路。

istockphoto-1463378738-612x612.jpg

在支援WPS分享器上按下WPS

Screenshot_20240626_093809.jpg

再經由手機設定就可以連上

WPS雖然看起來連線簡單,可是安全性卻也讓人堪憂,攻擊者只須要幾個小時內就可以成功破解WPS,或者只需要使用Wifite就可以輕鬆破解,所以我建議最好關閉WPS這像功能來提昇網路的安全性,關閉步驟可以上網查詢。(但有的分享器默認就無法關閉)

WEP

WEP是一種很古老的加密協議,以目前的分享器來說大多已經沒有支援WEP,但是如果你的分享器還支援這個功能,建議應該避免開啟這項功能,WEP比WPS還好破解,解決方法只須將加密換成接下來要講的加密就可以解決。

閱讀全文 »

此篇接續https://www.leaftechblog.cloudns.biz/article/b8342200-9cb7-466f-98a5-b65bb5e6d8d9

首先先知到要儲存資料的路徑(此篇以/media/leaf/資料/為例,請改路徑)

到終端輸入(確保有權限)

1
sudo chown -R www-data:www-data /media/leaf/資料/

暫停nextcloud

1
docker stop nextcloud

輸入指令啟動nextcloud

1
2
3
4
5
6
7
8
9
10
docker run -d \
-v /root/nextcloud/html:/var/www/html \
-v /root/nextcloud/apps:/var/www/html/custom_apps \
-v /root/nextcloud/config:/var/www/html/config \
-v /media/leaf/資料:/var/www/html/data \
-v /root/nextcloud/themes:/var/www/html/themes \
-p 80:80 \
--name nextcloud \
--restart="always" \
nextcloud

(此篇以/media/leaf/資料/為例,請改路徑)

現在/var/www/html/data路徑會對應到你所設定的路徑了!

閱讀全文 »

今天教大家如何重灌windows11,並且不須要有TPM2.0

(1.此文章為新手取向)

(2.此文章主要教學UEFI,如果你的電腦是傳統BIOS可能沒辦法幫助你)

準備工作

  • USB,並且大於8G
  • 電腦要可以連網路
  • 記得備份資料!!!重灌資料會不見

(重灌把系統裝在哪個硬碟,而那個硬碟就會清空)

準備開機碟

首先先打開這個網址

Screenshot_20240701_103952.png

往下滑你會看到

閱讀全文 »
0%