Skip to content

Commit a543b83

Browse files
committed
add script for dumping all repositories on github.com mentioned in this awesome list
1 parent a89bec1 commit a543b83

File tree

3 files changed

+335
-0
lines changed

3 files changed

+335
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
archive/*

README.url

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
https://github.com/jgamblin/CarHackingTools
2+
https://github.com/CaringCaribou/caringcaribou
3+
https://github.com/brent-stone/CAN_Reverse_Engineering
4+
https://github.com/daedalus/carhacking
5+
https://github.com/Cyberdefence-Lab-Murcia/ReCAN
6+
https://github.com/v-ivanyshyn/parse_can_logs
7+
https://github.com/linklayer/reversegear
8+
https://github.com/schutzwerk/CANalyzat0r
9+
https://github.com/CANToolz/CANToolz
10+
https://github.com/collin80/GVRET
11+
https://github.com/zombieCraig/UDSim
12+
https://github.com/zombieCraig/uds-server
13+
https://github.com/KartheekLade/CANalyse
14+
https://github.com/kentindell/canhack
15+
https://github.com/adamtheone/canDrive
16+
https://github.com/souravbaghz/Carpunk
17+
https://github.com/souravbaghz/CANghost
18+
https://github.com/shipcod3/canTot
19+
https://github.com/renault/cananalyze
20+
https://github.com/secdev/scapy
21+
https://github.com/openvehicles/CAN-RE-Tool
22+
https://github.com/Tbruno25/can-explorer
23+
https://github.com/lbenthins/ecu-simulator
24+
https://github.com/Ircama/ELM327-emulator
25+
https://github.com/cedricp/ddt4all
26+
https://github.com/qnx425/ELM327SLCAN
27+
https://github.com/v-ivanyshyn/Arduino-OBD2-Async
28+
https://github.com/quantyle/CAN-Shark
29+
https://github.com/AustinMurphy/OBD2-Scantool
30+
https://github.com/fenugrec/freediag
31+
https://github.com/linklayer/pyvit
32+
https://github.com/pylessard/python-udsoncan
33+
https://github.com/openxc/uds-c
34+
https://github.com/driftregion/iso14229
35+
https://github.com/openxc/isotp-c
36+
https://github.com/pylessard/python-can-isotp
37+
https://github.com/Sauci/CanTp
38+
https://github.com/christiansandberg/aioisotp
39+
https://github.com/taha842/J1939-CANBUS
40+
https://github.com/famez/J1939-Framework
41+
https://github.com/milhead2/python-j1939
42+
https://github.com/kurt-vd/can-utils/tree/j1939-v6
43+
https://github.com/kurt-vd/test-can-j1939
44+
https://github.com/paoloteti/libj1939
45+
https://github.com/nmfta-repo/pretty_j1939
46+
https://github.com/LittleBlondeDevil/TruckDevil
47+
https://github.com/juergenH87/python-can-j1939
48+
https://github.com/DanielMartensson/Open-SAE-J1939
49+
https://github.com/ZacharyWalsh57/JCanalog
50+
https://github.com/brandonros/j2534-tcp
51+
https://github.com/MEAT-Inc/SharpWrap2534
52+
https://github.com/roffe/gocanflasher
53+
https://github.com/mwkpe/cantools
54+
https://github.com/rbei-etas/busmaster
55+
https://github.com/AleksandarFilipov/signalbroker-server
56+
https://github.com/Hive13/CANiBUS/
57+
https://github.com/linux-can/can-utils
58+
https://github.com/linux-can/can-utils/blob/master/can-j1939-install-kernel-module.md
59+
https://github.com/norly/elmcan
60+
https://github.com/hartkopp/can-isotp
61+
https://github.com/ryedwards/gs_usb
62+
https://github.com/GENIVI/CANdevStudio
63+
https://github.com/rusoku/CANAL-View
64+
https://github.com/KruFFT/wxCAN-Sniffer
65+
https://github.com/olegel/CANLogger
66+
https://github.com/SeeedDocument/USB-CAN-Analyzer/
67+
https://github.com/linklayer/cantact-app
68+
https://github.com/collin80/SavvyCAN
69+
https://github.com/sebi2k1/openCanSuite
70+
https://github.com/smartgauges/obd2-bt-stm32/tree/master/qt
71+
https://github.com/zombieCraig/ICSim
72+
https://github.com/HubertD/cangaroo
73+
https://github.com/karlyamashita/CAN-X
74+
https://github.com/tixiv/CAN-Monitor-qt
75+
https://github.com/amund7/CANBUS-Analyzer
76+
https://github.com/SeppHansen/SLSS-CANAnalyser
77+
https://github.com/TOSUN-Shanghai/TSMaster
78+
https://github.com/TDahlmann/canpp
79+
https://github.com/MHS-Elektronik/CANcool
80+
https://github.com/dschanoeh/Kayak
81+
https://github.com/facontidavide/PlotJuggler
82+
https://github.com/PlotJuggler/plotjuggler-CAN-dbs
83+
https://github.com/DanielMartensson/OpenSourceLogger
84+
https://github.com/cantools/cantools
85+
https://github.com/hardbyte/python-can
86+
https://github.com/jmscslgroup/strym
87+
https://github.com/tsabelmann/canviewer
88+
https://github.com/caran/can4python
89+
https://github.com/hmq2018/Python-Vector-CANoe
90+
https://github.com/atlas0fd00m/CanCat
91+
https://github.com/bhass1/pyfuzz_can
92+
https://github.com/nopnop2002/Robotell-USB-CAN-Python
93+
https://github.com/P1kachu/python-socketcan-monitor
94+
https://github.com/tbruno25/canopy
95+
https://github.com/Prindl/PythonVectorXL
96+
https://github.com/SikkandarSulaiman/py4can
97+
https://github.com/mguentner/cannelloni
98+
https://github.com/mwkpe/tincan
99+
https://github.com/ovravna/pican
100+
https://github.com/m10k/canny
101+
https://github.com/alexmohr/usb-can
102+
https://github.com/chalmers-revere/opendlv-device-can-replay
103+
https://github.com/zombieCraig/c0f/
104+
https://github.com/kurt-vd/canqv
105+
https://github.com/elliotwoods/Candle.NET
106+
https://github.com/zainahm3d/canSerializer
107+
https://github.com/nisennenmondai/libwecan
108+
https://github.com/TheMatjaz/VCAN
109+
https://github.com/tonton81/IMCTFD
110+
https://github.com/linklayer/go-socketcan
111+
https://github.com/pschichtel/JavaCAN
112+
https://github.com/devcoons/iso15765-canbus
113+
https://github.com/craigpeacock/CAN-Examples
114+
https://github.com/zhanglongqi/socketcan-demo
115+
https://github.com/commaai/cabana
116+
https://github.com/julietkilo/kcd
117+
https://github.com/eerimoq/cantools
118+
https://github.com/aheit/cantools
119+
https://github.com/skysky97/Candb
120+
https://github.com/ebroecker/canmatrix
121+
https://github.com/julietkilo/CANBabel
122+
https://github.com/caran/can4python
123+
https://github.com/howerj/dbcc
124+
https://github.com/jobgeodev/convert_dbc_to_cpp_file
125+
https://github.com/xR3b0rn/dbcppp
126+
https://github.com/CSS-Electronics/can_decoder
127+
https://github.com/GENIVI/CANdb
128+
https://github.com/msalau/dbc-parser
129+
https://github.com/kdschlosser/vector_dbc
130+
https://github.com/autti/dbc_reader
131+
https://github.com/akshaych92/CAN_BUS_DBC_VIEWER
132+
https://github.com/driftregion/dbcview
133+
https://github.com/Golyshkin/VectorDbcChecker
134+
https://github.com/Sauci/pydbc
135+
https://github.com/christoph2/pydbc
136+
https://github.com/RudolphRiedel/USB_CAN-FD
137+
https://github.com/jgressmann/supercan
138+
https://github.com/collin80/FlexCAN_Library
139+
https://github.com/ObdDiag-Net/allpro
140+
https://github.com/arturlangner/Open-OBD2-datalogger
141+
https://github.com/596142041/CANBootloader-Qt
142+
https://github.com/commaai/panda
143+
https://github.com/adamczykpiotr/STM32duino_CAN_Library
144+
https://github.com/moonglow/pcan_pro_x
145+
https://github.com/mxcd/CANnon
146+
https://github.com/suburbanembedded/hadoucan-fw
147+
https://github.com/DDolphin/CANCAN
148+
https://github.com/timsonater/stm32-CAN-bus-example-HAL-API
149+
https://github.com/kolyandex/CAN-to-USB-lawicel-for-stm32
150+
https://github.com/walmis/stm32-slcan
151+
https://github.com/linklayer/cantact-pro-hw
152+
https://github.com/linklayer/cantact-pro-fw
153+
https://github.com/IvanDev2018/STM32-CAN-Busadapter
154+
https://github.com/MikhailBerezhanov/cncu-01
155+
https://github.com/Oktay97/Canbus_Uart
156+
https://github.com/nopnop2002/Arduino-STM32-CAN
157+
https://github.com/exothink/eXoCAN
158+
https://github.com/damienmaguire/CAN-BUS-Man-In-The-Middle
159+
https://github.com/seeers/CAN-Bus-Arduino_Core_STM32/blob/master/CanLowlevel.ino
160+
https://github.com/ryedwards/budgetcan_fw
161+
https://github.com/ryedwards/BUDGETCANFD_G0-Hardware
162+
https://github.com/IntergatedCircuits/CanDybugFW
163+
https://github.com/cvra/CAN-USB-dongle-fw
164+
https://github.com/Zubax/zubax_babel
165+
https://github.com/YuriyLogvin/CAN-RS485-adapter
166+
https://github.com/moonglow/vector_can
167+
https://github.com/zjlywjh001/CAN_OMEGA
168+
https://github.com/zjlywjh001/CAN_Omega_Firmware
169+
https://github.com/zjlywjh001/CAN_OMEGA_Tools
170+
https://github.com/candle-usb/candleLight_fw
171+
https://github.com/majbthrd/CANsniffer
172+
https://github.com/HubertD/candleLight
173+
https://github.com/linklayer/cantact-hw
174+
https://github.com/linklayer/cantact-fw
175+
https://github.com/linklayer/cantact/
176+
https://github.com/roboterclubaachen/usb2can
177+
https://github.com/kkuchera/canalyze-fw
178+
https://github.com/x893/cantact-fw
179+
https://github.com/ObdDiag-Net/elm329
180+
https://github.com/autosportlabs/OBD2CAN
181+
https://github.com/moonglow/pcan_cantact
182+
https://github.com/moonglow/kvaser_cantact
183+
https://github.com/autowp/arduino-canhacker
184+
https://github.com/fabiobaltieri/open-usb-can
185+
https://github.com/DieselDuz42/Arduino-CAN-bus-SD-logger
186+
https://github.com/latonita/arduino-canbus-monitor
187+
https://github.com/ludwig-v/arduino-psa-comfort-can-adapter
188+
https://github.com/srenner/epasuino
189+
https://github.com/srenner/carfuino
190+
https://github.com/rnd-ash/W203-canbus
191+
https://github.com/CANBus-Triple/CANBus-Triple-Hardware
192+
https://github.com/CANBus-Triple/CANBus-Triple
193+
https://github.com/collin80/GVRET
194+
https://github.com/autowp/arduino-mcp2515
195+
https://github.com/kahiroka/slcanuino
196+
https://github.com/BXProject/CITM02
197+
https://github.com/sandeepmistry/arduino-OBD2
198+
https://github.com/ihaque/arduino-ecu-logger
199+
https://github.com/nopnop2002/esp-idf-CANBus-Monitor
200+
https://github.com/marmotton/connected-car
201+
https://github.com/morcibacsi/PSASteeringWheelAdapter
202+
https://github.com/mintynet/esp32-slcan
203+
https://github.com/Pacerino/TWAI_SLCAN
204+
https://github.com/mintynet/esp32-slcan
205+
https://github.com/miwagner/ESP32-Arduino-CAN
206+
https://github.com/collin80/ESP32RET
207+
https://github.com/PhilippFux/ESP32_CAN_Interface
208+
https://github.com/vigoballak/esp32_canbus_gateway
209+
https://github.com/neg2led/esp32-cantroller
210+
https://github.com/scipioni/esp32-canbus-logger
211+
https://github.com/Cellgalvano/ESP32_CANViewer
212+
https://github.com/nopnop2002/esp-idf-can2http
213+
https://github.com/limiter121/esp32-obd2-emulator
214+
https://github.com/MagnusThome/RejsaCAN-ESP32
215+
https://github.com/BlueAndi/beaglebone_black_socketcan
216+
https://github.com/JonnoFTW/rpi-can-logger
217+
https://github.com/SushiBits/CANoPi
218+
https://github.com/rkollataj/mcba_firmware
219+
https://github.com/rkollataj/mcba_usb
220+
https://github.com/mvollrath/canbus_bbone_stm32
221+
https://github.com/darkspr1te/elm327_clone

archive.sh

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
#!/bin/bash
2+
#######################################################################################
3+
## Project : Awesome Tools, Hardware And Resources For CAN Bus
4+
## Designer : Dmitry Murzinov ([email protected])
5+
## Link : https://github.com/iDoka/awesome-canbus
6+
## Module : -//-
7+
## Description: dumping all repositories on github.com mentioned in this awesome list
8+
## by default git clone last commit for saving disk space, if you need
9+
## whole history please change variable GIT_OPTS bellow.
10+
## Usage : ./archive-for-all-urls.sh
11+
## Revision : 1.0
12+
## Date : 20-oct-2023
13+
## License : MIT
14+
#######################################################################################
15+
16+
#########################################################
17+
# TODO: add archive folder to .gitignore
18+
# TODO: use chapter name as a part of folder name
19+
# need to proper parsing README's markdown for that
20+
#########################################################
21+
22+
###### Tested with folowing versions:
23+
# pandoc 3.1.8
24+
# hjson v4.3.0
25+
# yq v4.35.2
26+
# grep 3.1
27+
# sed 4.4
28+
# cut 8.28
29+
# bash version 4.4.20
30+
# git version 2.24.0
31+
######
32+
33+
# Green start and green end markers
34+
GS='\033[1;92m'
35+
GE='\033[0;39m'
36+
37+
DIR=archive
38+
DELIMITER="+"
39+
40+
#GIT_OPTS=""
41+
GIT_OPTS="--depth=1"
42+
43+
FILE_MD=README.md
44+
FILE_URL=README.url
45+
46+
#MD2URL="pandoc -f markdown -t json ${FILE_MD} | hjson -j | yq eval -p json -o yaml --prettyPrint | grep -iv idoka | grep \'github.com\' | sed \'s/^[ \t]*//\' | cut -d\' \' -f3 > ${FILE_URL}"
47+
48+
# checking file existence (Markdown)
49+
if [[ ! -f ${FILE_MD} ]]
50+
then
51+
echo -e "${GS}${FILE_MD} doesn't exists. Exit...${GE}"
52+
exit 1
53+
else
54+
echo -e "${GS}${FILE_MD} exists. Great!${GE}"
55+
fi
56+
57+
## Only for contributors: generating file with URLs
58+
# checking file existence (URL)
59+
if [[ -f ${FILE_URL} ]]
60+
then
61+
# checking modification date
62+
DATE_MD=$(date '+%s' -d "@$( stat -c '%Y' "${FILE_MD}"; )")
63+
DATE_URL=$(date '+%s' -d "@$( stat -c '%Y' "${FILE_URL}"; )")
64+
#echo -e "${DATE_MD} \n${DATE_URL}"
65+
if [ "${DATE_MD}" -gt "${DATE_URL}" ]
66+
then
67+
echo -e "${GS}Updating ${FILE_URL}....${GE}"
68+
pandoc -f markdown -t json ${FILE_MD} | \
69+
hjson -j | \
70+
yq eval -p json -o yaml --prettyPrint | \
71+
grep -iv idoka | \
72+
grep 'github.com' | \
73+
sed 's/^[ \t]*//' | \
74+
cut -d' ' -f3 > ${FILE_URL}
75+
else
76+
echo -e "${GS}${FILE_URL} already updated. Skip updating${GE}"
77+
fi
78+
else
79+
echo -e "${GS}Creating ${FILE_URL}....${GE}"
80+
pandoc -f markdown -t json ${FILE_MD} | \
81+
hjson -j | \
82+
yq eval -p json -o yaml --prettyPrint | \
83+
grep -iv idoka | \
84+
grep 'github.com' | \
85+
sed 's/^[ \t]*//' | \
86+
cut -d' ' -f3 > ${FILE_URL}
87+
#pandoc -f markdown -t json ${FILE_MD} | hjson -j | yq eval -p json -o yaml --prettyPrint | grep -iv idoka | grep 'github.com' | sed 's/^[ \t]*//' | cut -d' ' -f3 > ${FILE_URL}
88+
fi
89+
90+
91+
# creation archive folder
92+
mkdir -p ${DIR}
93+
94+
### main cycle; cloning repo if not existed, otherwise pulling changes
95+
for url in $(cat ${FILE_URL})
96+
do
97+
USER=$(echo "${url}" | cut -d'/' -f4)
98+
REPO=$(echo "${url}" | cut -d'/' -f5)
99+
if [[ -d "${DIR}/${USER}${DELIMITER}${REPO}" ]]
100+
then
101+
echo -e "${GS}The repository ${url} already cloned. Checking for updates...${GE}"
102+
cd "${DIR}/${USER}${DELIMITER}${REPO}"
103+
git pull ${url}
104+
# FIXME: replace ../.. to more versatile variant
105+
cd ../..
106+
else
107+
echo -e "${GS}Cloning the repository ${url}...${GE}"
108+
git clone ${GIT_OPTS} "${url}" "${DIR}/${USER}${DELIMITER}${REPO}"
109+
fi
110+
done
111+
112+
echo -e "${GS}Finished!${GE}"
113+

0 commit comments

Comments
 (0)