This repository has been archived by the owner on Dec 24, 2020. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsettings.json
201 lines (200 loc) · 9.53 KB
/
settings.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
// SETTINGS
// These are the general settings for the service. There's also a settings.development.json
// and a settings.production.json, each one containing environment-specific settings.
// In 99% of the cases, customizations should be set on the settings.private.json file.
{
"amazon": {
// You can add an extra to every Amazon payment, to cover for occasional fees and late
// payments. For instance set this to 1.01 to add a 1% on top of amazon order values
// transferred to your Amazon account.
"paymentMultiplier": 1,
// Refunds should be processed 8 days after refund email is received by default.
"refundDays": 8
},
"app": {
// Web admin authentication.
"auth": {
// Default username is admin, but you can of course change to your desired username.
"user": "admin",
// Password needed to access the web admin UI. Please change this on your private settings!
"password": null
},
// Port in which the server should run.
"port": 8833,
// Name of this service, will also be used as the device name when connecting to bunq.
"title": "Jarbunq",
// Frontend files served by Expresser are all located on /assets.
"publicPath": "./assets/",
// Use PUG for view rendering.
"viewEngine": "pug",
"viewPath": "./assets/views/"
},
"bunq": {
"api": {
// Default 16 bytes crypto hex key for API communication, it's strongly advised that you update
// this value on your settings.private.json file!
"cryptoKey": "13841C2E4529CFB112324B7DE0EDB781"
},
// Enable callbacks (notification filters)? If so, bunq will push certain events from your bank
// accounts to Jarbunq (mostly payments and transactions), so it can act upon them.
"callbacks": {
"enabled": true,
// Which event categories should Jarbunq listen to? The default categories listed below
// are related to payment and transactions only. To add more, see the full list of
// categories at https://doc.bunq.com/
"categories": [
"MUTATION",
"DRAFT_PAYMENT",
"CARD_TRANSACTION_FAILED"
],
// Save original full body of incoming notifications from bunq on the database?
// If true, the orginal body will be added to the "raw" property of notifications.
"saveRaw": false
},
// Set to false to NOT add Jarbunq related notes to the payments. Default is true,
// and it's highly recommended to keep it true :-)
"addPaymentNotes": true,
// Set to true to use draft payments (that needs approval) by default.
// Please note parts of the code can still force the options.draff.
"draftPayment": false,
// Safeguard to avoid automatic payments of large amounts, default is 800 EUR.
// Payments with value higher than that will automatically be set as draft payments.
"maxPaymentAmount": 800,
// Safeguard to avoid low balances on accounts, for example you could set to 50 EUR
// to make sure no transactions made by Jarbunq will result in a less-than 50 balance.
"minBalance": 0,
// Auto refresh user data automatically once per hour by default, value in minutes.
"refreshMinutes": 60,
// OAuth authorizations must be renewed at least once every 90 days.
"tokenLifetimehDays": 90
},
// Connect Assets module options.
"connectAssets": {
"buildDir": "assets/build",
"paths": ["assets/scripts", "assets/styles"]
},
"database": {
"crypto": {
// Cipher used for database encryption. The default "aes-256-ctr" is pretty secure.
"cipher": "aes-256-ctr",
// Default encryption key, it's HIGHLY RECOMMENDED that you change this key to your own either
// via the settings.private.json, or using the $SMU_database_crypto_key environment variable.
"key": "bunq-DB-cryp7o-k3y-plssss-CHANGE",
// Database encryption is enabled by default.
"enabled": true
},
// Size limits for collections on the database. Each key represents the collection name, and
// value is the max size of the collection array.
"sizeLimits": {
"payments": 2000,
"processedEmails": 2000,
"stravaPayments": 2000,
"callbacks": 1000
}
},
"email": {
// Auto upgrade connection to TLS when needed?
"autoTLS": true,
// If true, incoming emails will have its headers checked for extra security.
// Change to false if you're having problems with email signatures, for instance
// if you host your own email server and you don't want to validate SPF / DKIM / DMARC headers.
"checkSecurity": true,
// Check for additional headers on incoming emails. For instance, to only accept incoming emails
// if they were forwarded to [email protected], you could set:
// "checkHeaders:" { "x-forwarded-for": "[email protected]" },
"checkHeaders": null,
// When the app starts up, it will initially fetch emails received on the last 24 hours.
// Then emails are fetched as they arrive.
"fetchHours": 24,
// Mark processed messages as read? Set to false to keep all messages unread.
"markAsRead": true,
// How many times should it retry to connect before aborting?
"maxRetry": 5,
// When failed to open the email inbox, retry after 2 minutes by default, value in milliseconds.
"retryInterval": 120000,
// Send weekly reports to the owner's email?
"weeklyReports": true
},
// Eventhooks must be defined on your settings.private.json file!
"eventhooks": {
// For detailed instructions, see https://github.com/igoramadas/jarbunq/wiki/Eventhooks
},
"general": {
// Use UTF8 as default encoding for files and streams.
"encoding": "utf8"
},
// Notification options (from Jarbunq to the user). Not to be confused with notification
// filters / callbacks from bunq to Jarbunq.
"notification": {
"events": {
// Notify successful payments?
"paymentSuccess": true,
// Notify payment failures?
"paymentError": true
},
// Push notifications options. The defaults below are for Pushover, but you can easily
// customize to other services (WirePusher, Push All, etc...). If using Pushover, you
// must set the POST token and user on your settings.private.json file. More details:
// https://github.com/igoramadas/jarbunq/wiki/SMS-and-push-notifications
"push": {
"enabled": false,
// URL of the push service.
"url": "https://api.pushover.net/1/messages.json",
// Field name that represents the subject of a message.
"subjectField": "title",
// Field name that represents the body of a message.
"messageField": "message",
// Key pairs with additional body to be sent in case of POST.
// Set to false to use GET instead.
"post": null
}
},
"routes": {
// IP whitelistig. Each key represents a route, plus the "global" route.
"ipWhitelist": {
// By default accept from any IP. Ideally you should have a firewall with the correct
// IP whitelisting running in front of Jarbunq (your router if hosting at home, or
// load balancer in the cloud). But you cal set the value below to an array of
// valid IPs if you want to do this check directly on Jarbunq.
"global": null
}
},
// Scheduler options.
"scheduler": {
// Ignore jobs that had their execution time passed? By default (false), the Scheduler
// will execute all jobs that missed their target datetimee, for instance if the
// Jarbunq server was down for some hours or days.
"ignoreDelayed": false
},
"strava": {
// API endpoints and credentials from Strava. You should add the clientId and
// clientSecret on your settings.private.json file.
"api": {
"baseUrl": "https://www.strava.com/api/v3",
"authUrl": "https://www.strava.com/oauth/authorize",
"tokenUrl": "https://www.strava.com/oauth/token",
"scope": "activity:read_all,profile:read_all"
},
"payments": {
// How much should be paid per kilometer ridden (distance)? Default 9 cents.
"pricePerKm": 0.09,
// How much should be paid per kilometer climbed (elevation)? Default 1.19 EUR.
"pricePerClimbedKm": 1.19,
// Process activities and payment daily or weekly.
// If daily weekly payments will happen on Mondays.
"interval": "weekly",
// Time of the day in which payments are processed (24h, HH:MM format, local time).
"time": "16:00"
}
},
// Zalando settings (defaults are for Zalando.de, in Germany).
"zalando": {
// Automatically schedule draft payments for Zalando invoices?
// Default is 8 days, set to 0 or false to disable.
"autoScheduleDays": 8,
// Target IBAN for Zalando invoice payments.
"iban": "DE86210700200123010101",
// Target name for Zalando invoice payments.
"name": "Zalando Payments GmbH"
}
}