You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: golang/README.md
+57-14Lines changed: 57 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,22 +3,39 @@
3
3
![go]
4
4
![version]
5
5
6
-
### CFScanner is a tool written in Golang that scans Cloudflare's edge IPs and locates ones that are viable for use with V2Ray/Xray. It aims to identify edge IPs that are accessible and not blocked.
6
+
CFScanner is a powerful tool written in Golang specifically designed to scan Cloudflare's edge IPs and identify viable options for use with V2Ray/Xray.
7
7
8
-
### This program is similar to the bash version, utilizing v2ray+vmess+websocket+tls by default when the VPN flag is enabled. If you wish to use it behind your Cloudflare proxy, you will need to set up a vmess account. Otherwise, the program will use the default configuration.
8
+
Its main objective is to locate edge IPs that are accessible and not blocked. With its built-in xray-core, CFScanner leverages xray+vmess+websocket+tls by default when the VPN flag is enabled.
9
9
10
+
If you prefer to use it behind your Cloudflare proxy, you will need to set up a vmess account. However, if no specific configuration is provided, the program will automatically use the default settings.
10
11
# Requirements
11
12
12
-
- Golang v1.18 or higher
13
+
- Golang v1.20
13
14
14
15
# Installation
15
16
16
-
To install CFScanner, clone the repository and build the binary using the following commands:
17
+
### Getting the latest version from release page
18
+
Latest release version of golang CFScanner are available in [releases](https://github.com/MortezaBashsiz/CFScanner/releases)
19
+
section
17
20
21
+
22
+
### Build instructions
23
+
24
+
If you prefer to build CFScanner from source, you can follow these instructions:
25
+
26
+
Clone the repository by running the following command in your terminal:
Copy file name to clipboardExpand all lines: golang/cmd.go
+3-5Lines changed: 3 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,9 @@ var nTries int
7
7
8
8
varconfigPathstring
9
9
varsubnetsstring
10
-
varvpnPathstring
11
10
12
11
varVpnbool
12
+
varLoglevelstring
13
13
vardoUploadTestbool
14
14
varfrontingbool
15
15
varshufflebool
@@ -19,7 +19,6 @@ var minULSpeed float64
19
19
varmaxDLTimefloat64
20
20
varmaxULTimefloat64
21
21
22
-
varstartProcessTimeoutfloat64
23
22
varfrontingTimeoutfloat64
24
23
varmaxDLLatencyfloat64
25
24
varmaxULLatencyfloat64
@@ -31,7 +30,8 @@ var writerType string
31
30
funcRegisterCommands(rootCmd*cobra.Command) {
32
31
rootCmd.PersistentFlags().IntVarP(&threads, "threads", "t", 1, "Number of threads to use for parallel scanning")
33
32
rootCmd.PersistentFlags().StringVarP(&configPath, "config", "c", "", "The path to the config file")
34
-
rootCmd.PersistentFlags().BoolVar(&Vpn, "vpn", false, "If passed, test with creating vpn connections")
33
+
rootCmd.PersistentFlags().BoolVar(&Vpn, "vpn", false, "If passed, test with creating xray-core connections")
34
+
rootCmd.PersistentFlags().StringVarP(&Loglevel, "loglevel", "l", "none", "The log level for xray-core")
35
35
rootCmd.PersistentFlags().StringVarP(&subnets, "subnets", "s", "", "The file or subnet. each line should be in the form of ip.ip.ip.ip/subnet_mask or ip.ip.ip.ip.")
36
36
rootCmd.PersistentFlags().BoolVar(&shuffle, "shuffle", false, "Shuffling given subnet file or input")
37
37
rootCmd.PersistentFlags().BoolVar(&doUploadTest, "upload", false, "If passed, upload test will be conducted")
0 commit comments