Skip to content

An open-source security log auditing & RDP, VNC, SSH bastion platform, online demo:


Notifications You must be signed in to change notification settings


Repository files navigation

📦⚡️ Casvisor

An open-source logging and auditing system developed by Go and React.

semantic-release docker pull casbin/casvisor GitHub Release Docker Image Version (latest semver)

Go Report Card license GitHub issues GitHub stars GitHub forks


Online demo



Casvisor contains 2 parts:

Name Description Language Source code
Frontend Web frontend UI for Casvisor Javascript + React
Backend RESTful API backend for Casvisor Golang + Beego + MySQL


Casvisor uses Casdoor to manage members. So you need to create an organization and an application for Casvisor in a Casdoor instance.

Necessary configuration

Get the code

go get
go get


git clone
git clone

Setup database

Casvisor will store its users, nodes and topics informations in a MySQL database named: casvisor, will create it if not existed. The DB connection string can be specified at:

dataSourceName = root:123@tcp(localhost:3306)/

Casvisor uses XORM to connect to DB, so all DBs supported by XORM can also be used.

Configure Casdoor

After creating an organization and an application for Casvisor in a Casdoor, you need to update clientID, clientSecret, casdoorOrganization and casdoorApplication in app.conf.

Run Casvisor

  • Configure and run Casvisor by yourself. If you want to learn more about casvisor.
  • Open browser: http://localhost:16001/

Optional configuration

Setup your Casvisor to enable some third-party login platform

Casvisor uses Casdoor to manage members. If you want to log in with oauth, you should see casdoor oauth configuration.

OSS, Mail, and SMS services

Casvisor uses Casdoor to upload files to cloud storage, send Emails and send SMSs. See Casdoor for more details.

RDP service

Run guacd for rdp connection.

docker run --name some-guacd -d -p 4822:4822 guacamole/guacd


For Casvisor, if you have any questions, you can give Issues, or you can also directly start Pull Requests(but we recommend giving issues first to communicate with the community).