license-manager
Jual game Windows sekali. Game itu hanya berjalan di PC yang dilisensikan.
Kode privat, hanya tangkapan layar. Ditampilkan dengan izin klien.
Bintang tersembunyi di rasi license-manager
Kamu menemukan bintang rahasiaProyek ini dimulai setelah klien saya mengeluh harus membagikan game ke setiap pelanggan secara manual.
- Enkripsi AES-256
- Go
- 1 kunci, 1 PC
- Cabut kapan saja
- PostgreSQL
- React
- Docker
- Peran
- Developer solo
- Tim
- Solo, untuk klien
- Dibuat dengan
- Go, PostgreSQL, React, TypeScript, Tailwind CSS, Docker
- Status
- Dipakai · kode privat


Masalahnya
Begitu seseorang membeli game Windows, file-nya bisa disalin dan dibagikan ke siapa saja.
Yang saya buat
Saya membuat sistem DRM yang mengenkripsi setiap game sekali dengan AES-256-GCM dan mengikat setiap kunci lisensi ke satu PC lewat machine ID Windows yang di-hash. Launcher berbasis Go mendekripsi game agar bisa dimainkan, proses pembantu menghapus file hasil dekripsi saat game ditutup, dan heartbeat setiap 30 detik menutup game jika lisensinya dicabut.
Hasilnya
Didukung 235 tes Go, termasuk tes dengan database sungguhan dan tes browser end-to-end.