This commit is contained in:
copyrighttxt
2026-07-06 13:28:00 -04:00
commit 05211f73ef
441 changed files with 94128 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
import psycopg2
from datetime import datetime
conn_params = {
'dbname': 'syntaxdb',
'user': 'syntax',
'password': 'PjZqyvUWXgmp6g3gMqJPYqZz5YpnhXbCjVsAMdoyuuvmCKNxtE7EQgGWUTFXNtJsoKf73w9hHNFRM6fFqGmH946cbJLNjAjaUQ0z',
'host': '127.0.0.1',
'port': '5432'
}
# dat aint my db pass so its calm
def modify_database_schema():
try:
conn = psycopg2.connect(**conn_params)
conn.autocommit = False
cur = conn.cursor()
print("Adding full_3dcontenthash column to user_thumbnail table...")
try:
cur.execute("""
ALTER TABLE user_thumbnail
ADD COLUMN IF NOT EXISTS full_3dcontenthash VARCHAR(512);
""")
print("Added full_3dcontenthash column")
except Exception as e:
print(f"Error adding full_3dcontenthash column: {e}")
conn.commit()
print(f"Successfully updated database schema at {datetime.now()}")
except Exception as e:
print(f"Migration failed: {e}")
conn.rollback()
raise
finally:
if 'cur' in locals(): cur.close()
if 'conn' in locals(): conn.close()
if __name__ == '__main__':
modify_database_schema()
+47
View File
@@ -0,0 +1,47 @@
"""
Generates 3 types of keypairs required by SYNTAX backend
- 1024 bit RSA key for clients that used rbxsig
- 2048 bit RSA key for clients that used rbxsig2 and newer
- 2048 bit RSA key for gameserver communication and authentication
These keys will be saved in the same directory as this script
"""
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.backends import default_backend
def generate_key( key_size : int, priv_key_name : str, pub_key_name : str ) -> None:
"""
Generates a private key and saves it to a file
:param key_size: The size of the key to generate
:param key_name: The name of the file to save the key to
"""
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=key_size,
backend=default_backend()
)
with open( priv_key_name, "wb" ) as f:
f.write(
private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm=serialization.NoEncryption()
)
)
with open( pub_key_name, "wb" ) as f:
f.write(
private_key.public_key().public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
)
)
generate_key( 1024, "rsa_private_1024.pem", "rsa_public_1024.pub" )
generate_key( 2048, "rsa_private_2048.pem", "rsa_public_2048.pub")
generate_key( 2048, "rsa_private_gameserver.pem", "rsa_public_gameserver.pub")
+3
View File
@@ -0,0 +1,3 @@
BgIAAACkAABSU0ExAAQAAAEAAQDT3jDaxbaWj9ADqKDudvallzt9TfxeKxANAJ9nloD58lhuFY3p
dYmojbFQ6Ic9AYV1pxR6PJJfVLz1pmhCYWE3ogr6bRr40p74DrsCpEtaad0o1hrgceGOB2YsZtoI
96mSFthOa2fUsudE+Duzdp4BbKBchb2jGdvkYHKaSNoexA==
+5
View File
@@ -0,0 +1,5 @@
BgIAAACkAABSU0ExAAgAAAEAAQANWE5IFwOB2i8TqOaLlFoeDEN4r7QlJqRssuspiSqJP6CJeNaa
9YMOidS2wYhL6h/iAEh2AbEpgwEZFjoyDYIieLSiOeChqcUXYxhCYaz6UMMVTXQ/bo9FE1J4pS0v
IIGFTk3R3gGJs7AMgZJnJOVd5NmYfWNHAFgEFSSYZtKDSd27jyGF//YCDsZdlnRi9V+hlDv4MFrR
zhKQVyDXfsazCElG94dYBFfYLB1CfvVOxT1RJdWwI1fvpRa5kDI7/IOKaRTs3dr+pOAaPlW94hRf
QCbssImK6IXBtqg83XQVjsYRW0EEGPdYvbs0auhqiHZ/qT18S+lmuu9snhJmchfY
+6
View File
@@ -0,0 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEHtpImnJg5NsZo72FXKBsAZ52
szv4ROey1GdrTtgWkqn3CNpmLGYHjuFx4BrWKN1pWkukArsO+J7S+Bpt+gqiN2Fh
Qmim9bxUX5I8ehSndYUBPYfoULGNqIl16Y0Vbljy+YCWZ58ADRArXvxNfTuXpfZ2
7qCoA9CPlrbF2jDe0wIDAQAB
-----END PUBLIC KEY-----
+9
View File
@@ -0,0 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2BdyZhKebO+6ZulLfD2p
f3aIauhqNLu9WPcYBEFbEcaOFXTdPKi2wYXoiomw7CZAXxTivVU+GuCk/trd7BRp
ioP8OzKQuRal71cjsNUlUT3FTvV+Qh0s2FcEWIf3RkkIs8Z+1yBXkBLO0Vow+DuU
oV/1YnSWXcYOAvb/hSGPu91Jg9JmmCQVBFgAR2N9mNnkXeUkZ5KBDLCziQHe0U1O
hYEgLy2leFITRY9uP3RNFcNQ+qxhQhhjF8WpoeA5orR4IoINMjoWGQGDKbEBdkgA
4h/qS4jBttSJDoP1mtZ4iaA/iSqJKeuybKQmJbSveEMMHlqUi+aoEy/agQMXSE5Y
DQIDAQAB
-----END PUBLIC KEY-----
+9
View File
@@ -0,0 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx70Eh6+OcKTJAFxVi6WH
A/JzowQod710a4sPd6zAsLwkPBGnTDvdDHuLQjjXicYLyhpHriUu2Z/PNZo3l4m5
Xz+h4yafQBIB/qXIkKu+31p0D13XQHpX28TvRPKZKj1uM+MikYcgjIfPnZKHORAz
fy+FA13T7swSHY/9ysvQM9CGnk/hr74EZTYWUY1bhHgwWCWLsRoh29hj0h+m55Kw
2egBlWmi6uiB4TX00Djd+FEL3HJI1ztqLN/xNQ+M4NigZjbr3rGZXhLNcv57hVVo
crHDrrd2MoagwhRK7LOWCnH51mVgZdQe1Q6CKTn8hhPwiGznScnkquiDdGmy3bcW
kQIDAQAB
-----END PUBLIC KEY-----