Giter Club home page Giter Club logo

warpflare's Introduction

warpflare

GitHub License

Keep your WARP+ traffic topped up with Cloudflare Workers.

This project is inspired by WARP-CLASH.

Warning

This project is entirely non-commercial and is intended solely for educational and communicative purposes. Please do not use it for illegal activities, as the consequences will be borne by the user.

This project is exclusively for advanced users with programming skills and is not recommended for beginners.

Requirement

  • A Cloudflare account is required.

Instructions

To get started, follow these steps:

  1. Fork this project by Deploy to Cloudflare Workers.

  2. Add three required secrets to Settings > Security > Secrets and variables > Actions > Repository Secrets > New repository secrets:

    • CLOUDFLARE_ACCOUNT_ID: Find your account ID using the instructions here.
    • CLOUDFLARE_API_TOKEN: Create this token with the Edit Cloudflare Workers template and permission of D1 Edit included. See image below for reference: api token
    • SECRET_KEY: Choose any value for authorizing access to the subscription URL.
  3. Go to Actions > Deploy and manually run the workflow by clicking Run workflow. The firs deploy might be failed, please retry.

  4. Find the route for your worker in your Cloudflare dashboard under Workers & Pages.

  5. Assuming the route is warp.xxx.workers.dev, you can access the subscription using:

    • https://warp.xxx.workers.dev/sub?token=${SECRET_KEY}&proxyFormat=full&randomName=true&best=true: detect the subscription type based on user-agent.
    • https://warp.xxx.workers.dev/api/:subType?token=${SECRET_KEY}&proxyFormat=full&randomName=true&best=true: manually specify the subscription type to use.

The available parameters are shown in the table below:

Name Options Description
subType clash, quantumult, v2ray, shadowrocket, sing-box PRs are welcome
proxyFormat only_proxies, with_groups, full only for clash

You can control the worker behavior using the following environment variables (not secrets):

Name Default Description
LOSS_THRESHOLD 10 Packet loss rate (percentage)
DELAY_THRESHOLD 500 Delay threshold (ms)
RANDOM_COUNT The number of nodes 10
GET_DATA_INTERVAL 2 Interval for replenishing WARP+ traffic (min)
SAVE_ACCOUNT_INTERVAL 10 Interval for dropping accounts (min)
RESET_ACCOUNT_INTERVAL 2880 Interval for resetting accounts (min)

Why do I need to reset the account?

If you replenish your traffic excessively using an account, Cloudflare will reject your request and you will receive an error 426 which represents that you have sent too many requests. Simply proxying your requests will not solve the issue as the limitation is account-specific. Therefore, you need to reset your account. After resetting your account, please refresh your subscription to obtain the updated private key.

Optimization

Even though default IPs are embedded, you may encounter varying levels of loss and delay based on your location. To enhance your overall experience, it is essential to optimize your IP.

To get started, clone this project and turn off all the proxies on your local network. Make sure to have a node environment and pnpm installed. Install project dependencies for the first time using pnpm install.

Next, navigate to the project path and run the following command:

pnpm optimize

This will upload a sql to your worker to obtain optimized IPs. Once the subscription is refreshed, a set of optimized nodes will be distributed.

Roadmap

  • Telegram bot

warpflare's People

Contributors

yuchanns avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.