├── .github ├── FUNDING.yml ├── push_info.sh ├── update_info.py └── workflows │ └── check_update.yml ├── README.md ├── flash.json └── screenshots.json /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: ['zczc.cz/sponsor'] 14 | -------------------------------------------------------------------------------- /.github/push_info.sh: -------------------------------------------------------------------------------- 1 | if [[ `git status --porcelain` ]]; then 2 | # Changes 3 | echo "Info updated." 4 | git config --global user.name 'Seedgou' 5 | git config --global user.email 'i@zczc.cz' 6 | git commit -am "Update info @ $(date)" 7 | git push 8 | else 9 | # No changes 10 | echo "No Changes." 11 | fi 12 | -------------------------------------------------------------------------------- /.github/update_info.py: -------------------------------------------------------------------------------- 1 | import json 2 | import urllib.request 3 | 4 | API_URL = 'https://api-flash.zczc.cz/export/github-flash-archive-project' 5 | FLASH_KEYS = ["sha256", "size", "original", "ref"] 6 | 7 | raw_info = json.loads(urllib.request.urlopen(API_URL).read()) 8 | 9 | # sort ref key 10 | for info in raw_info: 11 | info["ref"] = dict(sorted(info["ref"].items())) 12 | 13 | # process info 14 | flash_info = {info['sha256']: {key: info[key] for key in FLASH_KEYS} for info in raw_info} 15 | screenshots_info = {info['sha256']: info['screenshots'] for info in raw_info if 'screenshots' in info} 16 | 17 | # sort dict key 18 | flash_info = dict(sorted(flash_info.items())) 19 | screenshots_info = dict(sorted(screenshots_info.items())) 20 | 21 | with open('flash.json', mode='w') as f: 22 | json.dump(flash_info, f, indent=4, ensure_ascii=False) 23 | 24 | with open('screenshots.json', mode='w') as f: 25 | json.dump(screenshots_info, f, indent=4, ensure_ascii=False) -------------------------------------------------------------------------------- /.github/workflows/check_update.yml: -------------------------------------------------------------------------------- 1 | name: Check Update 2 | 3 | on: 4 | push: 5 | branches: [ main ] 6 | schedule: 7 | - cron: '0 0 * * *' 8 | workflow_dispatch: 9 | 10 | 11 | jobs: 12 | check: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Set up Python 3.9 18 | uses: actions/setup-python@v2 19 | with: 20 | python-version: 3.9 21 | 22 | - name: Run script 23 | run: python .github/update_info.py 24 | 25 | - name: Commit report 26 | run: bash .github/push_info.sh 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Flash 保存计划 2 | 3 | ⚡ 保存闪客时代的一些记录。 4 | 5 | 在线查看: [https://flash.zczc.cz/](https://flash.zczc.cz/) 6 | 7 | ## 数据来源 8 | * [Internet Archive Wayback Machine](https://archive.org/web/) 9 | * [闪客帝国](http://flashempire.com/) 10 | * [闪吧](http://www.flash8.net/)(由 [@deluxghost](https://github.com/deluxghost) 收集) 11 | 12 | ## 获取文件 13 | 14 | SWF 文件: [https://flash-swf.zczc.cz/`{sha256}`.swf](https://flash-swf.zczc.cz/65aee975eb3505c9b75e9fe2925d51dcaf08a837bc81af8dc6f1753db7651125.swf) 15 | 16 | 截图文件: [https://flash-screenshots.zczc.cz/`{screenshot_sha256}`.png](https://flash-screenshots.zczc.cz/fd961c1ee65caa2329dbd7006866ce59ba48b3ea3d78fb2ca804fdc71a19ff28.png) 17 | 18 | 19 | ## 统计数据 20 | 21 | 参见 [统计 - Flash 保存计划](https://flash.zczc.cz/stats) 22 | 23 | ## 许可 24 | 25 | 本项目采用[知识共享署名-相同方式共享 4.0 国际许可协议 (CC BY-SA 4.0) ](https://creativecommons.org/licenses/by-sa/4.0/)进行许可。 26 | --------------------------------------------------------------------------------