Add dotenv and config instructions

This commit is contained in:
Henrik Hüttemann 2023-05-25 17:35:21 +02:00
parent efdd2c933f
commit 3d0f505961
No known key found for this signature in database
GPG Key ID: 9F7BD10E0A8A111E
6 changed files with 31 additions and 5 deletions

1
.env.example Normal file
View File

@ -0,0 +1 @@
REGISTRATION_SHARED_SECRET='look in your synapses homeserver.yaml'

View File

@ -35,6 +35,10 @@ curl --request POST \
> src/config/synapse_access_token.json
```
## Configuration
Copy over `.env.example` to `.env` and insert your values.
## Design Decisions
- Getting data from Rocket.Chat via (currently) manual mongodb export

14
package-lock.json generated
View File

@ -10,6 +10,7 @@
"license": "AGPL-3.0-or-later",
"dependencies": {
"axios": "^1.4.0",
"dotenv": "^16.0.3",
"winston": "^3.8.2"
},
"devDependencies": {
@ -921,6 +922,14 @@
"node": ">=6.0.0"
}
},
"node_modules/dotenv": {
"version": "16.0.3",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
"engines": {
"node": ">=12"
}
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@ -4513,6 +4522,11 @@
"esutils": "^2.0.2"
}
},
"dotenv": {
"version": "16.0.3",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
},
"eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",

View File

@ -45,6 +45,7 @@
},
"dependencies": {
"axios": "^1.4.0",
"dotenv": "^16.0.3",
"winston": "^3.8.2"
}
}

View File

@ -1,9 +1,11 @@
import dotenv from 'dotenv'
dotenv.config()
import fs from 'node:fs'
import readline from 'node:readline'
import log from './logger'
import { whoami } from './synapse'
import { storage } from './storage'
import readline from 'node:readline'
import { RcUser, createUser } from './users'
import { storage } from './storage'
import { whoami } from './synapse'
log.info('rocketchat2matrix starts.')

View File

@ -30,8 +30,12 @@ export function mapUser(rcUser: RcUser): MatrixUser {
}
}
const registration_shared_secret =
'vkq7zfBDt4A1NmMN6jJ*g+,G~.R:QuC_xI:~7~jQ_6kJ6O~JrG'
const registration_shared_secret = process.env.REGISTRATION_SHARED_SECRET || ''
if (!registration_shared_secret) {
const message = 'No REGISTRATION_SHARED_SECRET found in .env.'
log.error(message)
throw new Error(message)
}
function generateHmac(user: MatrixUser): string {
const hmac = createHmac('sha1', registration_shared_secret)