[{"data":1,"prerenderedAt":328},["ShallowReactive",2],{"repo-bjdbjd-publish-helper-en":3,"i18n-bjdbjd-publish-helper-en":325},{"mirrorPool":4,"detail":13,"relatedProjects":178},[5,9],{"key":6,"label":7,"base":8,"type":6},"github","mirror.github","https:\u002F\u002Fgithub.com\u002F",{"key":10,"label":11,"base":12,"type":10},"auto-proxy","mirror.autoProxy","https:\u002F\u002Fgithub.xxlab.tech\u002F",{"owner":14,"repo":15,"repoId":16,"repoUrl":17,"starCount":18,"language":19,"description":20,"languages":21,"screenshots":25,"homepage":26,"pushedAt":27,"ownerAvatar":28,"ownerName":29,"ownerBio":26,"lastSyncTime":30,"lastReleaseTime":31,"tags":32,"license":52,"category":53,"subgroup":54,"releases":55},"bjdbjd","publish-helper",739324243,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper",426,"Python","发布辅助器-电影\u002F剧集\u002F短剧",{"Python":22,"Dockerfile":23,"Makefile":24,"Shell":24},98.9,0.7,0.2,[],"","2026-09-24","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F135454777?v=4","布吉岛","2026-10-18T12:05:46.423054+00:00","2026-09-21T10:07:07Z",[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"automation","bt","douban","douban-movie","download","encode","mediainfo","movie","picture-upload","pt","publish","python","qt","qt5","qt6","remux","tempermonkey","torrent","upload","GPL-3.0","tools","文件传输工具",[56,81,99,114,127,139,152,165],{"tag":57,"publishAt":31,"semVer":58,"prerelease":61,"assets":62},"v2.0.0",[59,60,60],2,0,false,[63,69,75],{"fileName":64,"sizeMb":65,"sha256":66,"downloadCount":67,"originUrl":68},"Publish.Helper.v2.0.0.linux-x64.zip",144.74,"4f4c98eadb9c9d2aed6f3df5f9d1eb0027ee7dd04c243a25f7e602f2af591e57",3,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv2.0.0\u002FPublish.Helper.v2.0.0.linux-x64.zip",{"fileName":70,"sizeMb":71,"sha256":72,"downloadCount":73,"originUrl":74},"Publish.Helper.v2.0.0.macos-arm64.zip",73.13,"2f54eb65367845aaf0f62c888cffff7df73ca7ce3fa44d71d49a885168cf3b26",6,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv2.0.0\u002FPublish.Helper.v2.0.0.macos-arm64.zip",{"fileName":76,"sizeMb":77,"sha256":78,"downloadCount":79,"originUrl":80},"Publish.Helper.v2.0.0.windows-x64.zip",89.42,"20b00f7040f30fa36febba162c4d7f8ce2d9ff6ab9c4cd39ac425254622f3d67",21,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv2.0.0\u002FPublish.Helper.v2.0.0.windows-x64.zip",{"tag":82,"publishAt":83,"semVer":84,"prerelease":61,"assets":88},"v1.5.8","2025-02-21T07:46:10Z",[85,86,87],1,5,8,[89,94],{"fileName":90,"sizeMb":91,"sha256":26,"downloadCount":92,"originUrl":93},"Publish.Helper.v1.5.8.7z",88.91,436,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.8\u002FPublish.Helper.v1.5.8.7z",{"fileName":95,"sizeMb":96,"sha256":26,"downloadCount":97,"originUrl":98},"Publish.Helper.v1.5.8.zip",89.18,857,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.8\u002FPublish.Helper.v1.5.8.zip",{"tag":100,"publishAt":101,"semVer":102,"prerelease":61,"assets":104},"v1.5.7","2025-01-26T01:45:40Z",[85,86,103],7,[105,110],{"fileName":106,"sizeMb":107,"sha256":26,"downloadCount":108,"originUrl":109},"Publish.Helper.v1.5.7.7z",88.9,52,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.7\u002FPublish.Helper.v1.5.7.7z",{"fileName":111,"sizeMb":96,"sha256":26,"downloadCount":112,"originUrl":113},"Publish.Helper.v1.5.7.zip",66,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.7\u002FPublish.Helper.v1.5.7.zip",{"tag":115,"publishAt":116,"semVer":117,"prerelease":61,"assets":118},"v1.5.6","2025-01-13T09:12:00Z",[85,86,73],[119,123],{"fileName":120,"sizeMb":107,"sha256":26,"downloadCount":121,"originUrl":122},"Publish.Helper.v1.5.6.7z",13,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.6\u002FPublish.Helper.v1.5.6.7z",{"fileName":124,"sizeMb":96,"sha256":26,"downloadCount":125,"originUrl":126},"Publish.Helper.v1.5.6.zip",38,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.6\u002FPublish.Helper.v1.5.6.zip",{"tag":128,"publishAt":129,"semVer":130,"prerelease":61,"assets":131},"v1.5.5","2025-01-10T09:32:27Z",[85,86,86],[132,135],{"fileName":133,"sizeMb":107,"sha256":26,"downloadCount":87,"originUrl":134},"Publish.Helper.v1.5.5.7z","https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.5\u002FPublish.Helper.v1.5.5.7z",{"fileName":136,"sizeMb":96,"sha256":26,"downloadCount":137,"originUrl":138},"Publish.Helper.v1.5.5.zip",17,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.5\u002FPublish.Helper.v1.5.5.zip",{"tag":140,"publishAt":141,"semVer":142,"prerelease":61,"assets":144},"v1.5.4","2025-01-09T07:47:22Z",[85,86,143],4,[145,148],{"fileName":146,"sizeMb":107,"sha256":26,"downloadCount":73,"originUrl":147},"Publish.Helper.v1.5.4.7z","https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.4\u002FPublish.Helper.v1.5.4.7z",{"fileName":149,"sizeMb":96,"sha256":26,"downloadCount":150,"originUrl":151},"Publish.Helper.v1.5.4.zip",11,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.4\u002FPublish.Helper.v1.5.4.zip",{"tag":153,"publishAt":154,"semVer":155,"prerelease":61,"assets":156},"v1.5.3","2025-01-07T08:54:57Z",[85,86,67],[157,161],{"fileName":158,"sizeMb":107,"sha256":26,"downloadCount":159,"originUrl":160},"Publish.Helper.v1.5.3.7z",14,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.3\u002FPublish.Helper.v1.5.3.7z",{"fileName":162,"sizeMb":163,"sha256":26,"downloadCount":150,"originUrl":164},"Publish.Helper.v1.5.3.zip",89.17,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.3\u002FPublish.Helper.v1.5.3.zip",{"tag":166,"publishAt":167,"semVer":168,"prerelease":61,"assets":169},"v1.5.2","2024-09-23T14:37:05Z",[85,86,59],[170,174],{"fileName":171,"sizeMb":107,"sha256":26,"downloadCount":172,"originUrl":173},"Publish.Helper.v1.5.2.7z",140,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.2\u002FPublish.Helper.v1.5.2.7z",{"fileName":175,"sizeMb":163,"sha256":26,"downloadCount":176,"originUrl":177},"Publish.Helper.v1.5.2.zip",228,"https:\u002F\u002Fgithub.com\u002Fbjdbjd\u002Fpublish-helper\u002Freleases\u002Fdownload\u002Fv1.5.2\u002FPublish.Helper.v1.5.2.zip",[179,199,215,241,270,293],{"owner":180,"repo":180,"repoId":181,"category":53,"subgroup":54,"language":182,"tags":183,"starCount":188,"ownerUid":189,"latestTag":190,"platforms":191,"lastReleaseTime":196,"downloadCount":197,"description":198},"localsend",578822531,"Dart",[184,185,186,187],"dart","file-sharing","flutter","flutter-apps",93329,120677616,"v1.18.2",[192,193,194,195],"windows","mac","linux","android","2026-08-21T14:02:01Z",1203714,"An open-source, cross-platform alternative to AirDrop that allows secure file and message sharing over the local network without an internet connection.",{"owner":200,"repo":201,"repoId":202,"category":53,"subgroup":54,"language":203,"tags":204,"starCount":208,"ownerUid":209,"latestTag":210,"platforms":211,"lastReleaseTime":212,"downloadCount":213,"description":214},"balena-io","etcher",45055693,"TypeScript",[205,201,206,207],"cross-platform","sd-cards","usb-drives",34555,6157842,"v2.1.8",[192,193,194],"2026-10-19T11:16:52Z",332,"A safe OS image flasher for flashing images to SD cards and USB drives.",{"owner":216,"repo":216,"repoId":217,"category":53,"subgroup":54,"language":182,"tags":218,"starCount":234,"ownerUid":235,"latestTag":236,"platforms":237,"lastReleaseTime":238,"downloadCount":239,"description":240},"ente",560284721,[219,195,220,221,222,223,186,224,225,226,227,228,229,230,231,232,233],"2fa","authy","e2ee","encryption","end-to-end-encryption","golang","google-photos","google-photos-alternative","ios","opensource","photos","privacy","privacy-tools","typescript","zero-knowledge",29365,64603161,"locker-v1.0.10",[195],"2026-10-12T07:48:40Z",530,"A fully open-source, end-to-end encrypted cloud data storage platform offering three apps: Ente Photos (alternative to Apple\u002FGoogle Photos), Ente Locker (secure space for documents and credentials), and Ente Auth (2FA alternative to Authy).",{"owner":242,"repo":243,"repoId":244,"category":53,"subgroup":54,"language":245,"tags":246,"starCount":263,"ownerUid":264,"latestTag":265,"platforms":266,"lastReleaseTime":267,"downloadCount":268,"description":269},"pppscn","SmsForwarder",337594329,"Kotlin",[195,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262],"api","app","bark","call","chatgpt","dingding","forward","mqtt","pushdear","pushplus","serverchan","sms","smtp","telegram","webhook","wechatapp",28255,5105854,"v3.5.0",[195],"2026-02-14T01:03:00Z",49447,"SmsForwarder is an Android app that monitors SMS, incoming calls, and app notifications on Android phones, and forwards them to other phones or various notification channels (DingTalk, WeCom, Lark, email, Telegram, ServerChan, PushPlus, etc.) based on specified rules. It supports active control of both server and client sides for remote SMS sending, SMS checking, call checking, contact checking, and battery checking.",{"owner":271,"repo":271,"repoId":272,"category":53,"subgroup":54,"language":245,"tags":273,"starCount":286,"ownerUid":287,"latestTag":288,"platforms":289,"lastReleaseTime":290,"downloadCount":291,"description":292},"komi-store",1101281251,[195,274,275,276,277,278,279,280,194,281,282,283,284,285,192],"desktop","github-app","github-store","kotlin","kotlin-android","kotlin-desktop","kotlin-multiplatform","macos","macos-app","online-store","open-source","open-source-project",19049,323530639,"v1.9.2",[192,193,194,195],"2026-06-26T06:04:58Z",243080,"A free, open-source cross-platform app store for browsing, discovering, and installing apps from developers' releases on GitHub, Codeberg, and Forgejo with one-click installation.",{"owner":294,"repo":295,"repoId":296,"category":53,"subgroup":54,"language":297,"tags":298,"starCount":317,"ownerUid":318,"latestTag":319,"platforms":320,"lastReleaseTime":322,"downloadCount":323,"description":324},"drakkan","sftpgo",197914161,"Go",[299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316],"azure-blob","cloud-storage","data-at-rest-encryption","docker","ftp","ftp-server","go","google-cloud-storage","multi-factor-authentication","portable","prometheus","proxy-protocol","s3","scp","sftp","sftp-server","webdav","webdav-server",12612,553263,"v2.7.6",[192,193,194,321],"other","2026-09-19T07:01:05Z",6066,"A full-featured, highly configurable event-driven file transfer solution supporting SFTP, HTTP\u002FS, FTP\u002FS, and WebDAV protocols.",{"description":326,"readmeHtml":327},"A modern PT media release assistant that automates fetching descriptions, extracting MediaInfo, uploading screenshots to image hosts and creating torrents, with GUI, API, CLI and Docker support","\u003Ch2 id=\"project-overview\">Project Overview\u003C\u002Fh2>\u003Cp>Publish Helper is a release assistant for private-tracker (PT) media publishers that automates the most tedious steps of the seeding workflow: fetching PT-Gen descriptions, extracting MediaInfo, generating and uploading screenshots, creating thumbnails, naming files from templates, organizing directories and producing torrent files with one click. Built on a modular architecture, it offers a GUI, a command-line interface and a REST API, plus Docker one-click deployment.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>From fetching the description to creating the torrent, publish in a single command.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"key-features\">Key Features\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>Description fetching\u003C\u002Fstrong>: pulls release descriptions from PT-Gen with multiple API sources and fallback endpoints\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Info extraction\u003C\u002Fstrong>: intelligently extracts MediaInfo parameters and generates screenshots and thumbnails\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image host upload\u003C\u002Fstrong>: concurrent multi-threaded upload to FreeImage, ImgBB, Lsky and other hosts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart naming\u003C\u002Fstrong>: auto-generates titles and filenames from templates and organizes directory structures\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Torrent creation\u003C\u002Fstrong>: generates torrent files in one click, with hard-link support to save storage\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Series handling\u003C\u002Fstrong>: batch renaming and episode processing, including special naming for short dramas\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple interfaces\u003C\u002Fstrong>: GUI, CLI and REST API with optional Bearer authentication\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Container deployment\u003C\u002Fstrong>: a unified Docker image bundling a Vue frontend, Flask API and nginx\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"target-audience\">Target Audience\u003C\u002Fh2>\u003Cul>\n\u003Cli>PT site release uploaders and encoding groups\u003C\u002Fli>\n\u003Cli>Content organizers who batch-publish movies, series and short dramas\u003C\u002Fli>\n\u003Cli>Media teams that want to automate the release workflow\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"quick-start\">Quick Start\u003C\u002Fh2>\u003Col>\n\u003Cli>\u003Ccode>pip install -r requirements.txt\u003C\u002Fcode> (on Linux also install libmediainfo and CJK fonts)\u003C\u002Fli>\n\u003Cli>Copy \u003Ccode>.env.example\u003C\u002Fcode> to \u003Ccode>.env\u003C\u002Fcode> and configure API keys and image hosts\u003C\u002Fli>\n\u003Cli>Run the GUI with \u003Ccode>python src\u002Fmain_gui.py\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Or run the CLI with \u003Ccode>python src\u002Fmain_cli.py\u003C\u002Fcode> for a one-click workflow\u003C\u002Fli>\n\u003Cli>Or deploy with \u003Ccode>docker run -p 15373:15373 ghcr.io\u002Fbjdbjd\u002Fpublish-helper:latest\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"core-advantages\">Core Advantages\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>One-click workflow\u003C\u002Fstrong>: fetch description, extract info, upload images and create the torrent in one go\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Three interfaces\u003C\u002Fstrong>: GUI, CLI and API cover desktop, scripting and integration scenarios\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible deployment\u003C\u002Fstrong>: Docker runs the whole service with a unified frontend-backend image\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"system-requirements\">System Requirements\u003C\u002Fh2>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Item\u003C\u002Fth>\n\u003Cth>Requirement\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>OS\u003C\u002Ftd>\n\u003Ctd>Windows, macOS, Linux\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Runtime\u003C\u002Ftd>\n\u003Ctd>Python 3.9+\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Extra dependencies\u003C\u002Ftd>\n\u003Ctd>libmediainfo and CJK fonts on Linux\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Containerization\u003C\u002Ftd>\n\u003Ctd>Docker (optional)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"notes\">Notes\u003C\u002Fh2>\u003Cul>\n\u003Cli>Confirm your target PT site&#39;s release rules and copyright requirements before seeding\u003C\u002Fli>\n\u003Cli>Keep image-host API keys safe and never commit them to public repositories\u003C\u002Fli>\n\u003Cli>Platform page structures may change; watch for updates when scraping fails\u003C\u002Fli>\n\u003C\u002Ful>\n",1792450885029]