| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import fs from "fs"
- import url from "url"
- import qs from "qs"
- import YAML from "yaml"
- const proxies = fs
- .readFileSync("proxyurl.txt", "utf8")
- .toString()
- .split("\n")
- .map(proxy => proxy.trim())
- .filter(i => !!i)
- .map(proxy => {
- proxy = new URL(proxy)
- return {
- name: proxy.hash.replace("#", ""),
- server: proxy.hostname,
- port: parseInt(proxy.port),
- "reality-opts": {
- "public-key": proxy.searchParams.get("pbk"),
- "short-id": parseInt(proxy.searchParams.get("sid"))
- },
- "client-fingerprint": proxy.searchParams.get("fp"),
- type: proxy.protocol.replace(":", ""),
- uuid: proxy.username,
- tls: true,
- tfo: false,
- "skip-cert-verify": true,
- servername: proxy.searchParams.get("sni"),
- network: proxy.searchParams.get("type")
- }
- })
- fs.writeFileSync(
- "proxies.yaml",
- YAML.stringify({
- proxies,
- "proxy-groups": [
- {
- name: "RCS专用",
- type: "load-balance",
- url: "http://www.google.com/generate_204",
- interval: 300,
- strategy: "consistent-hashing",
- proxies: proxies.map(proxy => proxy.name)
- }
- ]
- })
- )
|