Lounès Ksouri
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with
53 additions and
1 deletions
-
README.md
-
app.js
-
package.json
-
routes/v1/external.js
-
utils/const.js
-
yarn.lock
|
|
@ -61,6 +61,8 @@ Set the following environment variables directly or by placing them in `.env` fi |
|
|
|
| `UPDATE_SIGNAL_FILE` | Path to write the update signal file | `/signals/update` | |
|
|
|
| `UPDATE_LOCK_FILE` | Path to the update lock file | `/statuses/update-in-progress` | |
|
|
|
| `BACKUP_STATUS_FILE` | Path to backup status file | `/statuses/backup-status.json` | |
|
|
|
| `TOR_PROXY_IP` | IP or domain where Tor proxy is listening | `192.168.0.1` | |
|
|
|
| `TOR_PROXY_PORT` | Port where Tor proxy is listening | `9050` | |
|
|
|
|
|
|
|
### Step 3. Run manager |
|
|
|
```sh |
|
|
|
|
|
@ -21,6 +21,7 @@ const logger = require('utils/logger.js'); |
|
|
|
const ping = require('routes/ping.js'); |
|
|
|
const account = require('routes/v1/account.js'); |
|
|
|
const system = require('routes/v1/system.js'); |
|
|
|
const external = require('routes/v1/external.js'); |
|
|
|
|
|
|
|
const app = express(); |
|
|
|
|
|
|
@ -40,6 +41,7 @@ app.use(morgan(logger.morganConfiguration)); |
|
|
|
app.use('/ping', ping); |
|
|
|
app.use('/v1/account', account); |
|
|
|
app.use('/v1/system', system); |
|
|
|
app.use('/v1/external', external); |
|
|
|
|
|
|
|
app.use(errorHandleMiddleware); |
|
|
|
app.use((req, res) => { |
|
|
|
|
|
@ -35,6 +35,7 @@ |
|
|
|
"passport-jwt": "^4.0.0", |
|
|
|
"request-promise": "^4.2.2", |
|
|
|
"semver": "^7.3.2", |
|
|
|
"socks-proxy-agent": "^5.0.0", |
|
|
|
"uuid": "^8.0.0", |
|
|
|
"validator": "^13.0.0", |
|
|
|
"winston": "^3.0.0-rc5", |
|
|
|
|
|
@ -0,0 +1,28 @@ |
|
|
|
const express = require('express'); |
|
|
|
const router = express.Router(); |
|
|
|
|
|
|
|
const auth = require('middlewares/auth.js'); |
|
|
|
|
|
|
|
const constants = require('utils/const.js'); |
|
|
|
const safeHandler = require('utils/safeHandler'); |
|
|
|
|
|
|
|
const {SocksProxyAgent} = require('socks-proxy-agent'); |
|
|
|
const axios = require('axios'); |
|
|
|
|
|
|
|
const agent = new SocksProxyAgent(`socks5h://${constants.TOR_PROXY_IP}:${constants.TOR_PROXY_PORT}`); |
|
|
|
|
|
|
|
router.get('/price', auth.jwt, safeHandler(async(req, res) => { |
|
|
|
const response = await axios({ |
|
|
|
url: 'https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD', |
|
|
|
httpsAgent: agent, |
|
|
|
method: 'GET' |
|
|
|
}); |
|
|
|
|
|
|
|
if (response.data) { |
|
|
|
return res.status(constants.STATUS_CODES.OK).json(response.data); |
|
|
|
} |
|
|
|
|
|
|
|
return res.status(constants.STATUS_CODES.BAD_GATEWAY).json(); |
|
|
|
})); |
|
|
|
|
|
|
|
module.exports = router; |
|
|
@ -29,6 +29,8 @@ module.exports = { |
|
|
|
UPDATE_SIGNAL_FILE: process.env.UPDATE_SIGNAL_FILE || '/signals/update', |
|
|
|
UPDATE_LOCK_FILE: process.env.UPDATE_LOCK_FILE || '/statuses/update-in-progress', |
|
|
|
BACKUP_STATUS_FILE: process.env.BACKUP_STATUS_FILE || '/statuses/backup-status.json', |
|
|
|
TOR_PROXY_IP: process.env.TOR_PROXY_IP || '192.168.0.1', |
|
|
|
TOR_PROXY_PORT: process.env.TOR_PROXY_PORT || 9050, |
|
|
|
STATUS_CODES: { |
|
|
|
ACCEPTED: 202, |
|
|
|
BAD_GATEWAY: 502, |
|
|
|
|
|
@ -2681,7 +2681,7 @@ ip-regex@^2.0.0, ip-regex@^2.1.0: |
|
|
|
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" |
|
|
|
integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= |
|
|
|
|
|
|
|
ip@1.1.5: |
|
|
|
ip@1.1.5, ip@^1.1.5: |
|
|
|
version "1.1.5" |
|
|
|
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" |
|
|
|
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= |
|
|
@ -5295,6 +5295,23 @@ socks-proxy-agent@^4.0.0: |
|
|
|
agent-base "~4.2.1" |
|
|
|
socks "~2.3.2" |
|
|
|
|
|
|
|
socks-proxy-agent@^5.0.0: |
|
|
|
version "5.0.0" |
|
|
|
resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" |
|
|
|
integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== |
|
|
|
dependencies: |
|
|
|
agent-base "6" |
|
|
|
debug "4" |
|
|
|
socks "^2.3.3" |
|
|
|
|
|
|
|
socks@^2.3.3: |
|
|
|
version "2.4.4" |
|
|
|
resolved "https://registry.yarnpkg.com/socks/-/socks-2.4.4.tgz#f1a3382e7814ae28c97bb82a38bc1ac24b21cca2" |
|
|
|
integrity sha512-7LmHN4IHj1Vpd/k8D872VGCHJ6yIVyeFkfIBExRmGPYQ/kdUkpdg9eKh9oOzYYYKQhuxavayJHTnmBG+EzluUA== |
|
|
|
dependencies: |
|
|
|
ip "^1.1.5" |
|
|
|
smart-buffer "^4.1.0" |
|
|
|
|
|
|
|
socks@~2.3.2: |
|
|
|
version "2.3.3" |
|
|
|
resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" |
|
|
|