Semua karya

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
Bintang terang: apa yang dikerjakannya. Bintang redup: tools di baliknya.
Peran
Developer solo
Tim
Solo, untuk klien
Dibuat dengan
Go, PostgreSQL, React, TypeScript, Tailwind CSS, Docker
Status
Dipakai · kode privat
Dashboard license-manager: jumlah pelanggan, game, lisensi, dan sesi, serta lisensi yang habis dalam 7 hari
Halaman Games license-manager: tambah game, unggah zip-nya untuk membuat paket yang terlindungi, dan daftar game

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.