2020. július 9., csütörtök

Gyorskeresés

Google Drive + Rclon + Cache + Titkosítás + Plex Windows alatt (FRISSÍTVE v2)

Írta: | Kulcsszavak: rclon . drive . plex . tárhely . csatolás . cache

[ ÚJ BEJEGYZÉS ]

Sziasztok

Egy korábbi cikket szeretnék folytatni Windows alatt Pszt... Te mit kezdenél végtelen tárhellyel?

Hogy mire is jó ez az egész?
Elég olcsón hozzá lehet jutni korlátlan Google drive tárhelyhez, amelyet kihasználva egy egész jó kis plex hátteret lehet kapni filmjeinknek, sorozatainknak, így nem kell az otthoni gépet tele rakni hdd-vel, ami egyébként jóval drágább mint egy korlátlan tárhely a Googlenél. Azonban mindenképp kell egy gép ami magát a plex média szerver programot futtatja, tehát ettől nem tudjuk magunkat megkímélni, ez a leírás csak az esetleges tárhely hiányunkat próbálja megoldani.

Nemárt továbbiakban egy jó otthoni internet sem amennyiben magasabb minőségű (bitrate) filmeket szeretnénk streamelni, ugyanis itt nem csak küldeni kell a filmet a szervernek a kliens felé, de előtte még be is kell szereznie a felhőből.
A saját tapasztalataim szerint az én 1/1Gbites netem 2 darab 4k (60mbps) filmet simán tud kezelni egyidőben, de a 4-5 darab 720p film sem okoz gondot, lehet hogy tud többet is, de nagyjából ennyi szokott lenni a kihasználtságom.

0.- Szerezzük be a saját kulcsunkat google-tól

"Beszerzés lépései:
1. Katt ide
2. Jelentkezz be bármely fiókodba, ez akár személyesről is létrehozható. Diák fiók esetén / ahol más vezérli a tartományt, mindenképp személyes fiókról kell létrehozni, de tényleg lényegtelen (csak legyen meg).
3. Hozzunk létre egy új projektet. Várjunk picit, míg elkészül
4. A projektet kijelölve, a főoldalon középtájt lesz egy Go to APIs overview gomb, katt rá
5. Enable APIs and Services
6. A felugró keresőbe: Google Drive API, klikk rá és engedélyezzük
7. Válasszuk ki a Create Credientials gombot
8,9,10. Which API...?: Google Drive API; Where will you be calling the API from?: Other UI (e.g. Windows, CLI tool); What data will you be accessing?: User data, aztán mehet a What credientials do I need? gomb
11. Setup Consent screen, ami felhoz egy ablakot. Ide elég egy app nevet megadni, majd menteni, az OAuth2 névnek pedig szintén be kell írni valamit (Autentikációnál ez fog majd megjelenni.)
12. Ha mindent jól csináltunk, kaptunk egy feladatra kész kliens id-t, de erre még nincs szükség. Menjünk a Done gombra!
13. Az előző lépés elírányít a Credientials fülre, ahol már ott szerepel az imént létrehozott kulcsunk, kattintsunk a szerkesztésére
14. Jegyezzük fel az azonosítót, kulcsot / hagyjuk nyitva az ablakot és adjuk meg ezeket az adatokat az rclone-nak."

Kezdjük:

1.- Töltsük le a windowsos rclone zipet [link]
2.- Tömörítsük ki pl ide: C:\rclone
3.- Írjuk be Start menübe hogy A fiók környezeti változóinak szerkesztése majd nyomjunk egy entert
Szerkesszük a Path -ot és adjunk hozzá egy új sort C:\rclone (ha ide tömörítettük ki a zipet)

4.- Töltsük le és telepítsük a Winfsp-t, next next módszerrel [link]
5.- Töltsük le az nssm zipet, és a win64 mappa tartalmát másoljuk az rclone mappába [link]
6.- Készítsük el a config fájlt

Nyissunk meg egy cmd ablakot, és navigáljunk az rclone mappába
cd C:\rclone
rclone config
Neve lehet bármi pl drive (későbbiekben kelleni fog)
Storage: "drive"

client id a már beszerzett id a google-tól
client secret ismét a googletól kapott kód

scope drive
root folder id: ha pl megosztott meghajtót vagy megosztott mappát akarunk csatlakoztatni a géphez, akkor nyissuk meg a google driveot böngészőben, navigáljunk a csatolni kívánt mappába, és a címsorban lévő link legvégére lesz szükségünk

példa: https://drive.google.com/drive/folders/0AMxhSto0REE

Az itt található folders/ rész utáni kriksz krakszot másoljuk be

Ha a saját drive-unkat szeretnénk csatolni, akkor a root folder id részt hagyjuk üresen és nyomjunk entert

service account file hagyhatjuk üresen

edit advance config N

use autoconfig N

Megnyílik a böngésző ahol engedélyt kell adnunk az rclone-nak a fájlok eléréséhez, ha ez megvan a végén böngészőben kapunk egy hosszú sort, ezt másoljuk be a cmd ablakba, az "enter verification code" után

Team drive, ha megosztott meghajtót vagy mappát csatlakoztatunk akkor Y (majd adjuk meg ismét a fenti google drive-os link végét), ha saját driveot akkor pedig N

Végül Yes its ok Y

Ha ez megvan akkor készítsünk még egy configot, ez lesz a cache konfig, ami a fájlok előtöltését segíti pl streamelés közben

A neve legyen mondjuk cache
Storage cache
Remote drive: (ha ezt a nevet adtuk meg az előző confignál, kell a végén a kettőspont is)
plex url nem fontos, valahol azt olvastam hogy nincs értelme csatolni, de ha valaki csatolja abból sincs gond, akkor írjuk be a saját plexünk címét
plex username a saját plex belépésünk
plex jelszónál pedig a saját plex jelszavunk
chunk size 10M
info age 48H
chunk total size 10G (vagyis akkorát adjunk meg amennyi helyünk van ideiglenes fájloknak a saját gépünkön valamelyik meghajtón, később erre még visszatérünk, lehet majd szerkeszteni)
edit advance config? N
Yes its ok! Y

Titkosítás:

Ismét kell egy új konfig
Név legyen mondjuk plex
Storage: crypt
Remote: a cache-nek megadott név tehát cache:
Filename encryption: standard
directory name encr.: true
Password: Lehet generáltatni, ekkor jól tegyük el a konfig fájlt később, mert csak ezzel tudjuk dekódolni a feltöltött fájlokat, én saját jelszót adtam meg
Yes its ok: Y

Kész

A weboldalon és egyéb drive-os appokban (telefon stb...), csak kódolt fájl neveket és mappa neveket fogtok látni, de a felmountolt meghajtóban az eredeti fájlneveket fogja mutatni az rclone
Ez segít, hogy a Google ne tudja felismerni a jogvédett fájlokat a tárhelyen, és így nem fogja törölni őket

Ha ez is megvan akkor próbáljuk meg csatolni a meghajtónkat a géphez
cmd ablakba:
rclone mount plex: X: --config "C:\Users\Szerver\.config\rclone\rclone.conf"

Az X a meghajtó betűjele lesz, lehet mást is ami még szabad és ami neked tetszik

Ha ezzel megvagyunk akkor a saját gépben ott kell lenni a meghajtónak, egészen addig amíg be nem zárjuk a cmd ablakot

Hogy regisztráljuk ezt a parancsot ami felcsatolja a meghajtót, és ne nekünk kelljen kézzel megcsinálni mindig, nyissunk meg egy új cmd ablakot

Navigáljunk ismét a C:\rclone mappába és írjuk be

nssm install

felugrik egy ablak

path: C:\rclone\rclone.exe
startup directory C:\rclone
Arguments
mount plex: X: --size-only --allow-other --config "C:\Users\Szerver\.config\rclone\rclone.conf" --log-level INFO --log-file Z:\Log --tpslimit 10 --buffer-size 500M

Service name rclone mount (vagy bármi ami tetszik)

Katt az install service-re

Ezután a vezérlőpult -> Szolgáltatásokban megtaláljuk ezt a szolgáltatást, és tudjuk indítani, leállítani, automatizálni stb...

Szerkeszteni pedig itt tudjuk

Számítógép\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\rclone\Parameters

Rclone config módosítás

Itt találjuk az rclone config fájlt, amit létrehoztunk, benne a 3 különféle storage

C:\Users\(B)***felhasználó név***(/B)\.config\rclone

Én notepad++-szal szoktam szerkeszteni

Valahogy így néz ki

[drive] <- tetszőleges név
type = drive <- google drive tárhely
client_id = saját ID-nk
client_secret= saját kódunk
scope = drive
token = saját tokenünk
root_folder_id = csatlakoztatott mappa száma
team_drive = szintén

[cache] <-tetszőleges név
type = cache <- cache típusú config
remote = drive: <-felcsatlakoztatott meghajtó
chunk_size = 20M <-szelet méret amit pl film lejátszásakor letölt cache-nek az rclone a saját gépünk, ezzel segítve magát a film gondtalan lejátszását, remélem nem mondok hülyeséget hogy valamennyit előre letölt a filmből, a pedig már lejátszott részt is itt tárolja amíg a chunk_total_size méretét el nem éri, ha elérte akkor a legrégebbi szeleteket elkezdi sorban törölni
chunk_total_size = 55G <- az összes szelet mérete amit a saját gépünkön az rclone tárolhat, nekem van egy ssd-m erre a célra, ebből 60GB-ot áldoztam cache-nek, biztonság kedvéért 55G-t adtam meg, de mindenki saját szájíze szerint dönt, hogy mennyit tud erre a célra áldozni
db_path = Z:\Cache
<- ide tölti le az rclone a cache (chunk) fájlokat, eredetileg a C meghajtóra tölti valahová elrejtve, de nem szeretem ha a C meghajtómat bármi is bántja, főleg nem úgy hogy nincs szemelőtt, ezért ide raktam át őket

A chunk total size nektek 10G-n lesz, mert a config létrehozásakor ennyi lett megadva, ezt itt bármikor tudjátok szerkeszteni
A db_path sort kézzel kell beírni, és mögé írni ahová a cache fájlokat szeretnétek menteni
A chunk size pedig változtatható szintén, nekem 20M-en van, egyelőre így szépen viszi a filmeket, ekkora szeletekben írja ki a helyilemezre is őket a db_path mappába

[plex] <- tetszőleges név
type = crypt <-titkosított meghajtó
remote = cache:/ <-a cache meghajtó neve
filename_encryption = standard <-fájl titkosítás
directory_name_encryption = true <- mappa titkosítás
password = <- megadott jelszó
password2 = <- szintén

Maga az indító szolgáltatás magyarázata

mount plex: X: --size-only --allow-other --config "C:\Users\Szerver\.config\rclone\rclone.conf" --log-level INFO --log-file Z:\Log --tpslimit 10 --buffer-size 500M

mount cache: <- ezt a meghajtót fogjuk csatlakoztatni, amibe magába foglalatik a drive: meghajtó is
--size only <- az rclone fájl másoláskor csak a fájlok méretét veszi figyelembe
--allow other <- bármilyen program vagy felhasználó hozzáfér a csatlakoztatott meghajtóhoz, nem tudom hogy windows alatt ennek van e valami jelentőssége
--config <- a konfig fájlunk helye
--log-level INFO <- log fájlt készít
--log file Z:\log <-ide hozza létre a log fájlt, szabadon módosítható
--tpslimit 10 <- ha jól tudom, így maximum 10 kérést küld a google apinak az rclone, ha ennél többre állítjuk akkor megkockáztatjuk az api bant ami a google által előírt kvóta átlépése miatt van, ez egy 24 órás ban
--buffer size 500M <- ekkora memóriát, ramot, foglal el a cache fájl, a még gyorsabb fájl elérés érdekében, szabadon módosítható hogy több vagy kevesebb ramot akarunk neki szánni erre

Minden registry vagy config fájl módosítás után indítsuk újra a szolgáltatást a vezérlőpultban!

4 nap utánajárás után eddig ennyi a tudásom, nekem így szépen mennek drive-ról a 4K remux filmek is, természetesen gyors net is kell hozzá hisz itt a plex nem csak küldi az anyagot a kliensnek, de előtte még be is kell szerezni drive-ról az rclone-nak

Ha valakinek valami észrevétele van, vagy plusz tapasztalata azt szívesen várom hozzászólásban :R

Hatalmas köszönet jár Mr Dini-nek a Pszt... Te mit kezdenél végtelen tárhellyel? szerzőjének, hogy felhasználhattam az google kulcs beszerzésének leírását, és az összes többi segítségért is amit az írása, és kommentjei nyújtottak :R

Aki szeretne kicsit olvasgatni a Cache témában annak: [link] (angol)

V2 verzió

Ha nincs extra tárhelyed ideiglenes fájloknak, és nincs szükséged cache-re, akkor a cache részt teljesen ki lehet hagyni

Csak a drive és a crypt konfig kell, ezután pedig az indító szolgáltatás így néz ki:

mount plex: X: --allow-other --config "C:\Users\Szerver\.config\rclone\rclone.conf" --log-level INFO --log-file Z:\Log --vfs-cache-mode writes --buffer-size 256M --drive-chunk-size 64M --vfs-read-chunk-size 128M --vfs-read-chunk-size-limit off --timeout 1h --dir-cache-time 96h --fast-list

Ilyenkor egy tmp ideiglenes mappába rakja ha valamit fel akarunk tölteni drive-ba, és onnan fogja feltölteni, film nézésekor nem fogja cache fájlokat használni a lemezen, így nem foglal helyet filmnézéskor, ramot azonban igen (256MB*lejátszás), de ez elhanyagolható mennyiség

Hozzászólások

(#1) enginev3.0

Megnyitva :)

És anyagilag úgy megvagyunk viselve, hogy még lábazatot se tuttunk csináni, mer nincs mibül ll Nem jó, de nem is tragikus ll Logitech <3 ll Oneplus 7 Pro Blue

(#2) Picco


Picco
(addikt)

szep kis iras koszonjuk. :R

a kevesbe hozzaertoknek szerintem nem artana egy 3 soros "mirol is beszelunk itt" tipusu bevezeto.

Love doesn't show up on X-Ray...but it's there!

(#3) enginev3.0 válasza Picco (#2) üzenetére

Akarok majd valami bevezetőt
Csak már siettem
De lehet át írom majd az egészet valami finomabb hangvételűre

És anyagilag úgy megvagyunk viselve, hogy még lábazatot se tuttunk csináni, mer nincs mibül ll Nem jó, de nem is tragikus ll Logitech <3 ll Oneplus 7 Pro Blue

(#4) enginev3.0

Kicsit szerkesztettem, és raktam bele titkosítást is :)

És anyagilag úgy megvagyunk viselve, hogy még lábazatot se tuttunk csináni, mer nincs mibül ll Nem jó, de nem is tragikus ll Logitech <3 ll Oneplus 7 Pro Blue

(#5) enginev3.0

Raktam bele egy VFS részt is, annak aki nem akar cache-t használni lejátszáskor, a legvégén olvasható
Ilyenkor a cache konfig teljesen elhagyható

És anyagilag úgy megvagyunk viselve, hogy még lábazatot se tuttunk csináni, mer nincs mibül ll Nem jó, de nem is tragikus ll Logitech <3 ll Oneplus 7 Pro Blue

További hozzászólások megtekintése...
Copyright © 2000-2020 PROHARDVER Informatikai Kft.