Giter Site home page Giter Site logo

fuxiyc / bitsrunlogingo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mmx233/bitsrunlogingo

0.0 0.0 0.0 181 KB

深澜校园网登录脚本 Go 语言版,适用于路由器、windows、linux 等。提供对 OpenWrt、Docker、Go Module 的支持

License: GNU Affero General Public License v3.0

Go 97.39% Dockerfile 2.61%

bitsrunlogingo's Introduction

BitSrunLoginGo

Lisense Release GoReport

深澜校园网登录脚本 Go 语言版。GO 语言可以直接交叉编译出 mips 架构可执行程序(路由器)(主流平台更不用说了),从而免除安装环境。

主要登录逻辑来自: https://github.com/coffeehat/BIT-srun-login-script

对 OpenWrt 更加友好的 ipk 编译版: Mmx233/BitSrunLoginGo_Openwrt ,该版本压缩了 binary 文件,节省闪存空间

⚙️运行

编译结果为可执行文件,下载 release 或编译后直接启动即可

可以通过添加启动参数 --config 指定配置文件路径,默认为当前目录的 Config.yaml

支持 jsonyamlymltomlhcltfvars 等,仅对 jsonyaml 进行了优化与测试

./autoLogin --config=/demo/i.json

首次运行将自动生成配置文件

Config.yaml 说明:

form:
  domain: www.msftconnecttest.com #登录地址 ip 或域名
  username: "" #账号
  usertype: cmcc #运营商类型,详情看下方
  password: "" #密码
meta: #登录参数
  "n": "200"
  type: "1"
  acid: "5"
  enc: srun_bx1
settings:
  basic: #基础设置
    https: false #访问校园网 API 时使用 https 协议
    skip_cert_verify: false #跳过证书有效校验
    timeout: 5 #网络请求超时时间(秒,正整数)
    interfaces: "" #网卡名称正则(注意转义),如:eth0\.[2-3],不为空时为多网卡模式
  guardian: #守护模式(后台常驻)
    enable: false 
    duration: 300 #网络检查周期(秒,正整数)
  daemon: #后台挂起(不建议 windows 使用,windows 请使用系统计划任务)
    enable: false
    path: .BitSrun #守护监听文件路径,用于确保只有单守护运行
  debug: #debug模式,将打印更多日志
    enable: false 
    write_log: false #写日志文件
    log_path: ./ #日志文件存放目录路径

登录参数从原网页登陆时对 /srun_portal 的请求抓取,抓取时请把浏览器控制台的 preserve log(保留日志)启用。

运营商类型在原网页会被自动附加在账号后,请把 @ 后面的部分填入 user_type,没有则留空(删掉默认的)

⚓ Docker / Kubernetes

镜像:mmx233/bitsrunlogin-go:latest

支持 linux/amd64、linux/386、linux/arm64、linux/arm/v7 架构(windows 的 WSL2 版 docker 也算 Linux)

直接使用:

配置文件挂载至 /data/Config.yaml,若需更改配置文件类型,可以使用 --entrypoint 覆写启动参数

docker run path_to_config:/data/Config.yaml mmx233/bitsrunlogin-go:latest

自行构建:

如果需要在其他系统或架构使用,可能需要更改构建层与底层镜像,目前使用的 alpine 并不支持 linux 之外的系统

git clone https://github.com/Mmx233/BitSrunLoginGo.git
cd BitSrunLoginGo
docker build . --file Dockerfile --tag mmx233/bitsrunlogin-go:latest

🛠️构建

请安装最新版 golang

直接编译本系统可执行程序:

go build -ldflags "-s -w -extldflags '-static'"

交叉编译(Linux):

export GOGGC=0
export GOOS=windows #系统
export GOARCH=amd64 #架构
go build -ldflags "-s -w -extldflags '-static'"

交叉编译(Powershell):

$env:GOGGC=0
$env:GOOS='linux' #系统
$env:GOARCH='amd64' #架构
go build -ldflags "-s -w -extldflags '-static'"

golang 支持的系统与架构请自行查询

🧩 作为 module 使用

*本项目使用了 AGPL V3 许可证,请酌情引用

示例:

package main

import (
	"github.com/Mmx233/BitSrunLoginGo/v1"
	"github.com/Mmx233/BitSrunLoginGo/v1/transfer"
)

func main() {
	//具体用法请查看struct注释
	if e:=BitSrun.Login(&srunTransfer.Login{
		Https:  false,
		Client: nil,
		LoginInfo: srunTransfer.LoginInfo{
			Form: &srunTransfer.LoginForm{
				Domain:   "",
				UserName: "",
				UserType: "",
				PassWord: "",
			},
			Meta: &srunTransfer.LoginMeta{
				N:    "",
				Type: "",
				Acid: "",
				Enc:  "",
			},
		},
	});e!=nil {
		panic(e)
    }
}

bitsrunlogingo's People

Contributors

mmx233 avatar gh-mean 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.