A Cloudflare pages script for forwarding api request. This project is design to forward API request only.
This is a js script for Cloudflare pages. This script will forward the request you send to it to the api host.
It can help you bypass ip restrictions on some api, and it is fast due to it goes through Cloudflare.
-
Make sure you have a Cloudflare account. Than go here and click login.
-
Click
new
button and selectPages
. -
Click the
upload assets
button and fill inproject name
. The project name is up to you. -
Click
create project
and drag the zip file into it. -
Go to the
setting
part of this project and Click theAdd
button next to theVarible and Secrets
part.-
add this value
key values type text Varible name APIHOST
Value Your Api host name with path should go here. For more enviromental varible usage, please read here
-
-
Go to Deployments and reupload the zip file to make sure the enviroment varible work.
And now, you can request to your-project-name.pages.dev
and it should return the response from the api host.
Name | Avalible values | explanation | example |
---|---|---|---|
APIHOST |
A url | The api url | example.com/api |
PROTOCOL |
HTTP or HTTPS |
The protocol of the api,This will overide the one you include at the APIHOST . However, if you have a valid value for protocol in the APIHOST part, then you don't need to set this varible. |
HTTP |
REQUIREPASSWORD |
true or false |
When this varible is set to true and the PASSWORD varible has a proper value, then a request header password is required. If you don't set this value then it's default to false. |
true |
password |
anything | The password for accessing. | password |
Please note that Cloudflare Pages only support HTTPS request.
I'll give an example on forwarding Google AI request. Google AI provides a free API. You can use this project's script to use this API even if you're in country that Gemini API isn't avalible.
- Make sure you have an API key.
- You will need to upload your assets to cloudflare following the steps that I metioned before.
- Now you can set enviromental varible in the setting part.
Key Value APIHOST
https://generativelanguage.googleapis.com/
PROTOCOL
This is optional due to you've set the protocol in the API host part. But however, the value here can be HTTPS
- Try to run this in the command
curl "https://yourpageurl.pages.dev/v1beta/models/gemini-1.5-flash:generateContent?key=GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "Input your message here"}]
}]
}'
- replace
yourpageurl.pages.dev
with your page url - replace
GEMINI_API_KEY
with your API key - replace
Input your message here
to your message
- Press enter then the request should go through you page function and then reach google.
You can open issues or submit your changes.
GIVE ME A STAR 😆
If you think my work helps you, consider support me
- ETH/USDT(ERC20):
0x414E4de402C12de27bB3412e43E3F9B0fBdEBB17