JAVClub - 集搜集、下載、存儲、觀看、管理一體的CMS

    這就是一個(gè)集搜集、下載、存儲、觀看、管理為一體的東西了

    稍微逛了一下 GitHub, 發(fā)現(xiàn)現(xiàn)有的 JAV 數(shù)據(jù)庫都僅限于存儲 Metadata(JAV 元數(shù)據(jù)[車牌號、cover 等等]) 及沒啥用的種子信息, 沒法做到在線觀看, 所以這就是一個(gè)集搜集、下載、存儲、觀看、管理為一體的東西了

    • 項(xiàng)目介紹:Github
    • 項(xiàng)目演示:Github自尋
    JAVClub - 集搜集、下載、存儲、觀看、管理一體的CMS

    特色

    • 支持在線播放
    • 全自動(dòng)爬取、下載、上傳、處理
    • 視頻、圖片數(shù)據(jù)不占用本地空間
    • 代理后速度播放速度可觀, 不代理亦可看
    • 多用戶系統(tǒng), 可以與的好基友一起穿越
    • 可從公開/私有站點(diǎn)下載數(shù)據(jù), 多種選擇
    • Docker 自動(dòng)部署
    • 支持收藏夾
    • 支持公告系統(tǒng)
    • 支持用戶系統(tǒng)
    • 支持邀請注冊
    • 面熟的話大概可以直接白嫖

    這是一個(gè)澀情系列 Repos, 包含三個(gè)子項(xiàng)目, 分別是?fetcherweb?還有這個(gè)項(xiàng)目

    項(xiàng)目應(yīng)該已經(jīng)差不多進(jìn)入了穩(wěn)定期, 各種 TODO 應(yīng)該有空有興趣了會(huì)填坑, bugfixs 正常, issue 回復(fù)期在一至兩周左右, 還請見諒

    往下看之前請先確保你已滿 18 周歲

    JAVClub - 集搜集、下載、存儲、觀看、管理一體的CMS

    細(xì)節(jié)展示

    部署

    下面的信息可能有一些繁瑣枯燥甚至還有錯(cuò)誤, 希望還可見諒, 套用某位 dalao 的話來講就是一勞永逸, 一旦理解了就沒什么困難的了

    Docker 部署方式請看這里

    部署之前請確保你擁有/完成以下能力/事情:

    • 一臺有穩(wěn)定國際互聯(lián)網(wǎng)的服務(wù)器
    • Node.js / JavaScript 基礎(chǔ)
    • 基本的報(bào)錯(cuò)閱讀能力
    • Linux 基礎(chǔ)
    • 閱讀過《提問的智慧
    • 可以克制住自己想把作者往死里揍心情的能力

    要正常工作的話總共需要部署幾樣?xùn)|西, 它們之間關(guān)系是這樣的:

    fetcher: 抓取種子->推送 qBittorrent 下載->處理->上傳 Google Drive
    ↑
    | 通過 Google Drive 相互聯(lián)系
    ↓
    core: 讀取 Google Drive 文件列表->導(dǎo)入本地?cái)?shù)據(jù)庫
    ↑
    | 通過 API 讀取數(shù)據(jù)庫中的內(nèi)容
    ↓
    web: 展示信息
    ↑
    | 用戶請求
    |
    Vercel: 為 Workers 提供 access token
    |
    | 302 跳轉(zhuǎn)
    ↓
    Workers: 代理 Google Drive 文件及 JAVBus 封面
    

    Fetcher 部署

    參照?JAVClub/fetcher

    代理部署

    參照?JAVClub/proxy

    Core&Web 部署

    Docker

    參照?core - JAVClub/docker

    非 Docker

    拉取

    請確保主機(jī)已安裝 Node.js 環(huán)境 (版本 12.0+), 如未安裝可使用 nvm 進(jìn)行安裝

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
    nvm install node # "node" is an alias for the latest version

    拉取項(xiàng)目

    git clone https://github.com/JAVClub/core.git JAVClub_core
    cd JAVClub_core
    cp config/dev.example.json config/dev.json
    npm i
    配置文件

    配置文件 (點(diǎn)擊展開)

    • system
      • path: API 監(jiān)聽的路徑
      • corsDomain: cors 頭允許的域名
      • searchParmaNum: 搜索允許的關(guān)鍵詞數(shù)量(以空格分隔)
      • defaultGroup: 用戶通過直接注冊進(jìn)入的權(quán)限組 ID (保持默認(rèn)即可)
    • importer
      • settings.googleDrive.queueNum: (Int) Importer 導(dǎo)入時(shí)隊(duì)列并行數(shù)
      • cron[].driverId: (Int) 數(shù)據(jù)庫?drivers?表中條目的 ID
      • cron[].interval: (Int) 每隔多少毫秒 掃描一次這個(gè)云端硬盤
      • cron[].doFull: (Boolean) 啟動(dòng)程序后第一次運(yùn)行時(shí)是否掃描云盤全部內(nèi)容 (建議第一次導(dǎo)入完成后關(guān)閉)
    • proxy?(Array) 用于代理 Metadata Cover 及 Star Cover 的反代 URL (請求格式:?https://your.img.proxy/https://url.to/imgage.png)

    按照提示修改?config/dev.json?并更改相關(guān)配置即可

    • system?部分若無需更改保持默認(rèn)即可
    • database?部分請修改?host?port?username?password?database?為你自己的信息
    • cron?部分的相關(guān)設(shè)定可以暫時(shí)不用填寫, 下文會(huì)有詳細(xì)講解
    • proxy?字段, 如果不想部署圖片代理的話也可以直接填寫?[""]
    數(shù)據(jù)庫

    因程序不打算弄太復(fù)雜, 所以沒有安裝界面, 請自行導(dǎo)入數(shù)據(jù)表

    在最新版本中終于用上了 migration, 所以現(xiàn)在數(shù)據(jù)表在啟動(dòng)時(shí)會(huì)自動(dòng)創(chuàng)建, 默認(rèn)的用戶名 / 密碼為?admin?/?admin, 請及時(shí)修改

    配置 Google Drive 相關(guān)

    core 中的數(shù)據(jù)來源是 fetcher 上傳至 Google Drive 中的數(shù)據(jù), 請?jiān)谑褂们?1-2 天部署好 fetcher 以獲取足夠的數(shù)據(jù) (當(dāng)然你要是想部署完 core 再部署 fetcher 也是沒問題的)

    首先要做的是往數(shù)據(jù)庫里添加有關(guān) Google Drive 的信息, 樣例 SQL 命令如下

    INSERT INTO `drivers` (`id`, `name`, `driverType`, `driverData`, `isEnable`, `createTime`, `updateTime`) VALUES
    (1, 'My first drive', 'gd', '{"oAuth":{"client_id":"【your_client_here】","client_secret":"【your_client_secret_here】","redirect_uri":"urn:ietf:wg:oauth:2.0:oob","token":{"access_token":"【your_access_token_here_optional】","refresh_token":"【your_refresh_token_here】","scope":"https://www.googleapis.com/auth/drive","token_type":"Bearer","expiry_date":1583679345619}},"drive":{"driveId":"【your_drive_or_folder_id_here】"},"encryption":{"secret":"【path_ase_secret】","server":"【your_gd_proxy_server_here】"}}', 1, '1583679345619', '1583679345619');

    driverData?是這部分的核心, 看起來挺亂的, 這里給一個(gè)格式化后的方便理解

    {
        "oAuth":{
            "client_id":"xxx.apps.googleusercontent.com",
            "client_secret":"",
            "redirect_uri":"urn:ietf:wg:oauth:2.0:oob",
            "token":{
                "access_token":"",
                "refresh_token":"",
                "scope":"https://www.googleapis.com/auth/drive",
                "token_type":"Bearer",
                "expiry_date":1583679345619
            }
        },
        "drive":{
            "driveId":"987b3d98q7deuiedsr",
            "type": "shared"
        },
        "encryption":{
            "secret":"secret",
            "server":"https://proxy.abc.workers.dev,https://proxy.def.workers.dev"
        }
    }
    • oAuth 中的顧名思義就是 Google API 的鑒權(quán)信息, 按照你的憑證填寫即可
      • 憑證相關(guān)可使用?GoIndex Code Builder?來方便地取得, 將生成代碼中的?client_idclient_secretrefresh_token?復(fù)制到此處即可, 其余位置可留空
    • drive
      • driveId 是你的云端硬盤 ID, 也就是云端硬盤根目錄瀏覽器地址欄的那一長串東西
      • type[optional] 可選?user?或?shared, 選擇?user?時(shí)無需填寫?driveId, 代表?我的云端硬盤
    • encryption 是給 Workers 使用的選項(xiàng)
      • secret 請隨便填寫串字符, 部署 Workers 時(shí)使用的?password?請與此處的保持一致
      • server 是你部署的 Workers 的地址, 多個(gè)地址用?,?隔開

    更改完后將上面一段 JSON 復(fù)制到這里壓縮后照本節(jié)開頭格式插入數(shù)據(jù)表即可

    下一步就是要告訴程序你添加了這個(gè)硬盤并且希望掃描/導(dǎo)入這個(gè)硬盤中的內(nèi)容

    還記得上文中提到的?cron?部分嗎? 那里的?id?便是這里數(shù)據(jù)表中自動(dòng)生成的?id

    那么就只需要在?dev.json?中的?cron?字段按中所述添加相應(yīng)內(nèi)容即可

    到現(xiàn)在 core 應(yīng)該已經(jīng)配置完成并可以工作了

    配置 WebUI

    到現(xiàn)在只剩下 WebUI 程序就可以正常工作了, 為了正常工作需要將 core 的?/api?路徑代理到你域名下的?/api?路徑并將靜態(tài)資源放置于該域名對應(yīng)目錄的根目錄下, 請使用你熟悉的 HTTP 服務(wù)端軟件來執(zhí)行此操作(如 Nginx, Caddy 等)

    首先是拉取并構(gòu)建 Web UI

    git clone https://github.com/JAVClub/web.git JAVClub_web
    cd JAVClub_web
    cp src/config.example.js src/config.js
    npm i && npm run build

    運(yùn)行完成之后前端資源就已經(jīng)構(gòu)建完成了, 位于?./dist?目錄下 這時(shí)候只需要在服務(wù)端軟件中將除?/api?以外的請求重定向至?./dist?目錄即可

    啟動(dòng):
    NODE_ENV=dev node src/app.js
    # 以及你服務(wù)端的啟動(dòng)命令

    沒有意外的話現(xiàn)在 Web UI 和 API 服務(wù)器應(yīng)該已經(jīng)啟動(dòng)并正常工作了, 可以觀察一下輸出日志中有沒有錯(cuò)誤 (如果有務(wù)必將錯(cuò)誤日志提交至 Issue

    如果有任何不明白的歡迎開 Issue 提問

    完成

    現(xiàn)在 JAVClub 已經(jīng)成功運(yùn)行起來了

    那么在這里祝你身體健康

    其余配置

    權(quán)限組

    新版本新增了權(quán)限系統(tǒng), 數(shù)據(jù)庫由?id?name?rule?time?四個(gè)部分組成

    其中?id?是權(quán)限組 ID,?name?是權(quán)限組名,?rule?是權(quán)限組的權(quán)限列表, 為 JSON 格式, 如下所示

    {
        "admin":true, // 是否為管理員
        "title":"Admin",
        "banned":false, // 是否被封禁
        "invitationNum":-1, // 可以創(chuàng)建的邀請碼數(shù)量
        "invitationGroup":2 // 邀請碼使用者注冊到的權(quán)限組
    }

    程序啟動(dòng)時(shí)會(huì)自動(dòng)創(chuàng)建?Admin Group?User Group?Banned Group?三個(gè)組, 可按需調(diào)整參數(shù)

    后續(xù)

    先感謝看完這篇廢話連篇的使用文檔, 有很多東西可能沒有說明白, 如果有問題請盡管開 IS 來轟炸我吧

    正常來講現(xiàn)在整套系統(tǒng)應(yīng)該已經(jīng)在正常工作了, 如果沒有請?jiān)俅螜z查是否漏掉了任何一個(gè)步驟

    FAQ

    • 遇到一大堆問題沒辦法解決

    可以先參考一下?core#11?core#12?fetcher#3?這里是被踩的最多的坑, 可以看看有沒有自己遇到的問題

    • Docker 部署的相關(guān)問題

    有關(guān) Docker 部署的任何問題請?zhí)峤?Issue 或者直接發(fā)送郵件詢問

    • 沒有 M-Team 的賬號怎么辦

    現(xiàn)在重寫后的 fetcher 也已經(jīng)支持 OneJAV 了, 所以不需要任何賬號都可以正常使用了

    • 這玩意兒真的有人成功部署過嗎

    說實(shí)話我也不知道, 我已經(jīng)盡最大努力簡化安裝過程&寫說明文檔了, 如果還是有不懂的可以提交 Issue

    捐贈(zèng)

    嘛寫這個(gè)雖然不算麻煩但還是挺繁瑣的, 所以如果想請?jiān)酆纫槐Х纫彩强梢試}

    愛發(fā)電?(霧

    免責(zé)聲明

    本程序僅供學(xué)習(xí)了解, 請于下載后 24 小時(shí)內(nèi)刪除, 不得用作任何商業(yè)用途, 文字、數(shù)據(jù)及圖片均有所屬版權(quán), 如轉(zhuǎn)載須注明來源

    使用本程序必循遵守部署服務(wù)器所在地、所在國家和用戶所在國家的法律法規(guī), 程序作者不對使用者任何不當(dāng)行為負(fù)責(zé)

    下載權(quán)限
    查看
    • 免費(fèi)下載
      評論并刷新后下載
      登錄后下載
    • {{attr.name}}:
    您當(dāng)前的等級為
    登錄后免費(fèi)下載登錄 小黑屋反思中,不準(zhǔn)下載! 評論后刷新頁面下載評論 支付以后下載 請先登錄 您今天的下載次數(shù)(次)用完了,請明天再來 支付積分以后下載立即支付 支付以后下載立即支付 您當(dāng)前的用戶組不允許下載升級會(huì)員
    您已獲得下載權(quán)限 您可以每天下載資源次,今日剩余
    資源

    mikutap - 有趣的光污染解壓音樂網(wǎng)頁

    2020-9-1 22:27:48

    資源

    Impack WordPress - 面向?qū)ο蠓绞介_發(fā)WordPress主題

    2020-9-21 20:51:14

    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無意侵害您的權(quán)益,請發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    0 條回復(fù) A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個(gè)人中心
    購物車
    優(yōu)惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 无码精品蜜桃一区二区三区WW| 国内精品一区二区三区东京| 一区二区日韩国产精品| 一区二区三区日韩精品| 大帝AV在线一区二区三区| 无码一区二区三区| 夜色阁亚洲一区二区三区| 免费看无码自慰一区二区| 男插女高潮一区二区| 亚洲熟妇av一区| 国精产品一区一区三区免费视频 | 不卡一区二区在线| 精品国产一区二区三区久久影院| 久久国产一区二区| 中文字幕无码免费久久9一区9| 日本夜爽爽一区二区三区| 精品一区二区三人妻视频| 一本一道波多野结衣AV一区| 无码乱人伦一区二区亚洲| 亚洲日韩激情无码一区| 国产一区二区三区在线看| 亚洲乱码国产一区三区| 无码少妇一区二区三区浪潮AV| 国产精品一区二区久久国产| 波多野结衣免费一区视频| 亚洲成av人片一区二区三区| 精品视频一区二区三区四区五区| 一区二区三区福利视频| 亚洲一区日韩高清中文字幕亚洲| 无码精品人妻一区二区三区AV| 精品一区二区三区3d动漫| 亚洲一区二区三区在线播放| 动漫精品一区二区三区3d | 99久久精品费精品国产一区二区| 视频一区二区精品的福利| 亚洲国产精品一区二区第一页免 | 日韩爆乳一区二区无码| 人妻无码一区二区不卡无码av| 久久久久人妻一区精品性色av| 国产精品亚洲一区二区麻豆| 成人区人妻精品一区二区三区|