{"id":18310063,"url":"https://github.com/mthli/better-youtube-summary-server","last_synced_at":"2025-04-13T06:41:10.045Z","repository":{"id":221079356,"uuid":"652002722","full_name":"mthli/better-youtube-summary-server","owner":"mthli","description":"Literally Better YouTube Summary 🎯","archived":false,"fork":false,"pushed_at":"2024-03-27T16:36:54.000Z","size":280,"stargazers_count":199,"open_issues_count":4,"forks_count":38,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T23:07:52.774Z","etag":null,"topics":["openai","summary","youtube"],"latest_commit_sha":null,"homepage":"https://chromewebstore.google.com/detail/better-youtube-summary/gobfmldfaojjoanejhccieilnmglclba","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mthli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-10T19:07:26.000Z","updated_at":"2025-02-22T00:45:23.000Z","dependencies_parsed_at":"2024-11-05T16:13:15.507Z","dependency_job_id":"2fdaf0f8-57f7-4e8b-a436-9e14cc07d599","html_url":"https://github.com/mthli/better-youtube-summary-server","commit_stats":null,"previous_names":["mthli/better-youtube-summary-server"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthli%2Fbetter-youtube-summary-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthli%2Fbetter-youtube-summary-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthli%2Fbetter-youtube-summary-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthli%2Fbetter-youtube-summary-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mthli","download_url":"https://codeload.github.com/mthli/better-youtube-summary-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675434,"owners_count":21143763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openai","summary","youtube"],"created_at":"2024-11-05T16:13:09.130Z","updated_at":"2025-04-13T06:41:10.026Z","avatar_url":"https://github.com/mthli.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# better-youtube-summary-server\n\nLiterally Better YouTube Summary 🎯\n\n[![Better YouTube Summary Extension Showcase](https://res.cloudinary.com/marcomontalbano/image/upload/v1707146334/video_to_markdown/images/youtube--NyhrKImPSDQ-c05b58ac6eb4c4700831b2b3070cd403.jpg)](https://www.youtube.com/watch?v=NyhrKImPSDQ \"Better YouTube Summary Extension Showcase\")\n\n**This project is no longer maintained,**\n\nbecause OpenAI banned my account due to \"accessing the API from an [unsupported location](https://platform.openai.com/docs/supported-countries)\" 👎\n\nThe frontend implementation can be found in [mthli/better-youtube-summary-extension](https://github.com/mthli/better-youtube-summary-extension).\n\nIf you want to deploy it yourself, please replace the `bys.mthli.com` with your own domain.\n\n## Development\n\nCurrently this project is developed on **macOS 13.3 (22E252).**\n\nBut this project **can't run on macOS** actually, just for coding.\n\nFirst install dependencies as follow:\n\n```bash\n# Install 'redis' if you don't have.\n# https://redis.io/docs/getting-started/installation/install-redis-on-mac-os\nbrew install redis\nbrew services start redis\n\n# Install 'python3' if you don't have.\nbrew install python3\n\n# Install 'pyenv' if you don't have.\n# https://github.com/pyenv/pyenv#automatic-installer\ncurl https://pyenv.run | bash\n\n# Install 'pipenv' if you don't have.\npip3 install --user pipenv\n\n# Install all dependencies needed by this project.\npipenv install\npipenv install --dev\n```\n\nThen just open you editor and have fun.\n\n## Deployment\n\nThis project should be deployed to **Debian GNU/Linux 11 (bullseye).**\n\nFirst install dependencies as follow:\n\n```bash\n# Install 'nginx' if you don't have.\nsudo apt-get install nginx\nsudo systemd enable nginx\nsudo systemd start nginx\n\n# Install 'redis' if you don't have.\nsudo apt-get install redis\nsudo systemd enable redis\nsudo systemd start redis\n\n# Install 'certbot' if you don't have.\nsudo apt-get install certbot\nsudo apt-get install python3-certbot-nginx\n\n# Install 'pm2' if you don't have.\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash\nnvm install node # restart your bash, then\nnpm install -g pm2\npm2 install pm2-logrotate\n\n# Install 'python3' if you don't have.\nsudo apt-get install python3\nsudo apt-get install python3-pip\n\n# Install 'pyenv' if you don't have.\n# https://github.com/pyenv/pyenv#automatic-installer\ncurl https://pyenv.run | bash\n\n# Install 'pipenv' if you don't have.\npip install --user pipenv\n\n# Install all dependencies needed by this project.\npipenv install\npipenv install --dev\n```\n\nBefore run this project:\n\n- Set `openai_api_key` defined in `./rds.py` with `redis-cli`\n- Put `./bys.mthli.com.conf` to `/etc/nginx/conf.d/` directory\n- Execute `sudo certbot --nginx -d bys.mthli.com` to generate certificates, or\n- Execute `sudo certbot renew` to avoid certificates expired after 90 days\n\nThen just execute commands as follow:\n\n```bash\n# Make sure you are not in pipenv shell.\npm2 start ./pm2.json\n```\n\n## License\n\n```\nbetter-youtube-summary-server - Literally Better YouTube Summary.\n\nCopyright (C) 2023  Matthew Lee\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmthli%2Fbetter-youtube-summary-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmthli%2Fbetter-youtube-summary-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmthli%2Fbetter-youtube-summary-server/lists"}