Warning
Dezvoltarea, mentenanța și rularea live a acestei platforme au fost oprite definitiv la data de 29 Iunie 2026.
Această decizie a fost luată în urma solicitării oficiale transmise în scris de către Serviciul de Comunicații și Tehnologia Informației (SCTI) al Universității „Ștefan cel Mare” din Suceava. Universitatea a izolat sistemele legacy de gestiune a școlarității (PeopleSoft / scolaritate.usv.ro) într-un spațiu privat neaccesibil din exterior și lucrează la implementarea propriei platforme numite „Smart UMS”.
Acest repository este marcat ca arhivă istorică (Read-Only) și este păstrat public exclusiv ca portofoliu personal și Proof of Concept (PoC) open-source de succes care a deservit peste 40.000 de vizitatori unici (identificați la nivel de IP și dispozitiv conform Cloudflare) și a procesat peste 3,1 milioane de cereri HTTP în doar o lună de funcționare (cu vârfuri de peste 3.700 de utilizatori activi zilnic). Versiunea rulată pe domeniul noteusv.tech a fost oprită local, servind acum doar o pagină statică permanentă de atenționare, orice interogare sau conexiune activă spre sistemele universității fiind complet eliminată.
Portal neoficial pentru accesarea platformei
scolaritate.usv.rodin orice browser modern, fără VPN local.
Dezvoltat de: Vichiriuc Adrian (@28VYK)
→ noteusv.tech — dezactivat definitiv, servește doar pagina de notificare.
Acest proiect nu este afiliat oficial cu Universitatea „Ștefan cel Mare" Suceava. Este o soluție independentă (Proof of Concept) creată de un student, utilizată pe propria răspundere.
Platforma funcționează ca reverse proxy — cererile (inclusiv credențialele) trec temporar prin serverul nostru, exclusiv în memorie, fără stocare persistentă. Codul este complet open-source.
→ Politică de Confidențialitate · Politică de Securitate · Ghid de Contribuție · Credite & Autori
scolaritate.usv.ro folosește TLS 1.0 — blocat de toate browserele moderne:
Chrome → ERR_SSL_VERSION_OR_CIPHER_MISMATCH
Firefox → SSL_ERROR_NO_CYPHER_OVERLAP
USV Portal rezolvă asta intermediind conexiunea pe server (via VPN intern USV), expunând o interfață modernă și accesibilă.
git clone https://github.com/28VYK/USV-PROXY.git
cd USV-PROXY
# Configurează .env cu credentialele VPN (vezi .env.example)
# Adaugă fișierul usv2.ovpn în vpn/
docker compose up --build -dNotă: Certificatele SSL (
certs/) și fișierele private (vpn/,.env) nu sunt incluse în repository.
flowchart LR
A[Browser] -->|HTTPS| B[Cloudflare]
B --> C[Caddy :8080]
C --> D[usv-vpn :3000]
D -->|OpenVPN Tunnel| E[scolaritate.usv.ro]
style D fill:#0066FF,stroke:#333,stroke-width:2px,color:#fff
style C fill:#00E5FF,stroke:#333,stroke-width:2px
| Serviciu | Rol | Tehnologie |
|---|---|---|
| Caddy | Reverse proxy cu TLS (Cloudflare Origin CA) | caddy:2-alpine |
| Next.js 14 | Frontend + API Routes (proxy logic) — rulează ca user non-root | Next.js |
| usv-vpn (sidecar) | Container izolat: OpenVPN + NET_ADMIN + /dev/net/tun | openvpn |
- Next.js 14 — framework + API routes
- Caddy 2 — TLS termination
- Docker + OpenVPN — containerizare & VPN
Aplicația oferă suport complet pentru limba Română (ro) și Engleză (en) folosind next-intl.
- Clean URLs: Schimbarea limbii se face fără adăugarea de prefixe în URL (cum ar fi
/rosau/en), menținând adrese curate (ex:/sau/privacy). - Detecție Automată: O componentă de tip Middleware (
middleware.ts) detectează preferințele de limbă ale browserului utilizatorului (din antetulAccept-Language) la prima vizită și setează automat cookie-ulNEXT_LOCALE. - Persistență: Limba selectată persistă printr-un cookie de sesiune și poate fi schimbată oricând din header-ul aplicației.
Proiectul este 100% open-source și dezvoltat din pasiune în timpul liber. Orice ajutor este binevenit! Dacă vrei să contribui cu cod, să raportezi un bug sau să îmbunătățești documentația, te rugăm să citești mai întâi Ghidul de Contribuție pentru detalii legate de rularea locală cu Docker și stilul de cod.
Serverul VPS are costuri lunare. Dacă platforma îți este utilă:
Acest proiect este distribuit în mod deschis sub licența MIT. Întregul cod sursă și designul platformei sunt dezvoltate de Vichiriuc Adrian (28VYK).
Vezi fișierele LICENSE și .github/CREDITS.md pentru textul juridic complet și lista detaliată a creditelor de dezvoltare.