mirror of
https://github.com/uditkarode/bml-proxy.git
synced 2025-02-22 17:22:10 +00:00
64 lines
2.5 KiB
Markdown
64 lines
2.5 KiB
Markdown
# BML Proxy Docker
|
|
|
|
On April 1, 2022 BML enabled [Cloudflares Anti-bot](https://www.cloudflare.com/products/bot-management/) features and all the
|
|
existing scripts to interact with BML API stopped working.
|
|
This repo contains build files for a [proxy](https://git.shihaam.dev/shihaam/bml-proxy) to bypass anti-bot.
|
|
|
|
## Codebase repo:
|
|
- [https://git.shihaam.dev/shihaam/bml-proxy](https://git.shihaam.dev/shihaam/bml-proxy)
|
|
|
|
## Installation
|
|
|
|
1. [Install docker](https://docs.docker.com/engine/install/) `curl -fsSL https://get.docker.com | sudo sh`
|
|
2. Give yourself docker group and relogin.
|
|
`sudo usermod -aG docker $USER;sudo su - $USER`
|
|
3. Generate ssh key (if you havent already)
|
|
`ssh-keygen`
|
|
4. [Add your .pub key to my gitea server](https://git.shihaam.dev/user/settings/keys)
|
|
`cat ~/.ssh/id_*.pub`
|
|
5. Clone the repo `git clone git@git.shihaam.dev:shihaam/bml-proxy.git`
|
|
6. Go to cloned dir `cd bml-proxy`
|
|
7. Start the docker container `docker compose up -d`
|
|
|
|
## How to use
|
|
This docker image exposes a proxied BML API on localhost port 3030. Any and all requests to the BML API should instead be made to this proxy instead.
|
|
|
|
BML API URL = https://bankofmaldives.com.mv/internetbanking/api/ \
|
|
Docker Image URL = http://localhost:3030/api/
|
|
|
|
### Best practices on usage:
|
|
It is recommded that you use nginx reverse proxy and cloudflare proxy with this for security and compatability reasons
|
|
1. Install Nginx, Certbot, and Nginx Cerbot plugin `sudo apt install nginx python3-certbot python3-certbot-nginx` \
|
|
example nginx config: place this is in a file at "/etc/nginx/sites-enabled"
|
|
```nginx
|
|
server {
|
|
server_name SUB.DOMAIN.COM;
|
|
listen 80;
|
|
location / {
|
|
proxy_pass http://localhost:3030;
|
|
}
|
|
}
|
|
```
|
|
2. Point your sub.doman.com to server IP (its important you disable cloudflare proxy)
|
|
3. Use certbot to get SSL `sudo certbot --nginx -d sub.domain.com`
|
|
4. Enable Cloudflare to fix encoding issue.
|
|
5. Use your programs to request to request to this proxy URL instead of BML URL
|
|
|
|
#### Example
|
|
You would normally hit the following URL to retrieve today's transactions:
|
|
```
|
|
https://www.bankofmaldives.com.mv/internetbanking/api/account/{BML_ACCOUNT_NUMBER}/history/today
|
|
```
|
|
With this Docker image you will use the following:
|
|
```
|
|
https://sub.domain.com/account/{BML_ACCOUNT_NUMBER}/history/today
|
|
```
|
|
|
|
## Disclaimer
|
|
This package is no way associated with [Bank of Maldives](https://www.bankofmaldives.com.mv/).
|
|
|
|
I am not responsible for any losses incurred from the use of this package.
|
|
|
|
Use at your own risk.
|
|
|