Compare commits

..

23 Commits

Author SHA1 Message Date
coja 4b3f853072 [Slide] 3D print 2025-10-29 00:18:13 +01:00
andonome 6e5d19ecfa write ansible 2025-10-14 19:02:36 +02:00
andonome a4c3780719 remove unicode from joyous bash
Unicode breaks the pandoc compiler (because LaTeX is shit).
2025-10-14 19:01:48 +02:00
coja 4f2c59ee37 [Slide] Selfhosting 2025-10-12 20:18:33 +02:00
coja c227dbbad0 [Slide] Kombucha 2025-10-12 20:14:59 +02:00
coja 1d7bb032f3 [Slide] DeGoogle 2025-10-12 20:09:43 +02:00
coja 05c6becee4 [Slide] rss 2025-10-11 13:20:32 +02:00
andonome c74b861442 add joyous bash 2025-08-26 23:03:07 +02:00
andonome 599ccd2881 refactor makefile 2025-02-14 16:23:28 +01:00
andonome b191a9e5d4 note speedy compiles 2024-12-09 01:39:47 +01:00
andonome e98d4ffbac place arch install instructions 2024-12-09 01:27:18 +01:00
andonome f067b0200b fix robocop 2024-12-09 00:30:18 +01:00
wingaxe e2814b08e1 Added dependencies for Debian in README 2024-12-08 00:13:18 -05:00
andonome 2f33669330 update readme 2024-12-08 22:13:46 +01:00
andonome cee27356f6 reconfigure makefile 2024-12-06 09:18:40 +01:00
andonome f358103f79 dependency ladder example 2024-11-25 14:28:59 +01:00
andonome 4c51ade750 PS: more Makefiles 2024-11-18 18:03:49 +01:00
andonome 0d2d466dac typo 2024-11-17 14:19:28 +01:00
andonome 8cc2a71235 note python makefile 2024-11-17 14:19:28 +01:00
andonome fa026b7eda ending notes 2024-11-13 16:40:30 +01:00
andonome 7bc84ab8a3 finish examples 2024-11-13 16:06:46 +01:00
andonome e59538a3bd place example makefiles 2024-11-13 14:23:44 +01:00
andonome a9f7fd7f75 add basic makefile examples 2024-11-12 03:58:47 +01:00
34 changed files with 0 additions and 558 deletions
-4
View File
@@ -7,14 +7,10 @@ help: ## Print the help message
# Search should not include slides separated by '***', as those are for mdp, not pandoc. # Search should not include slides separated by '***', as those are for mdp, not pandoc.
markdown != find slides/ -maxdepth 2 -type f -name "*.md" -exec grep -LF '***' '{}' ';' markdown != find slides/ -maxdepth 2 -type f -name "*.md" -exec grep -LF '***' '{}' ';'
pdfs = $(patsubst %.md, %.pdf, $(markdown)) pdfs = $(patsubst %.md, %.pdf, $(markdown))
handouts = $(patsubst %.md, %_handout.pdf, $(markdown))
$(pdfs): %.pdf: %.md $(pdfs): %.pdf: %.md
pandoc -t beamer -V theme:Warsaw -i $< -o $@ pandoc -t beamer -V theme:Warsaw -i $< -o $@
$(handouts): %_handout.pdf: %.md
pandoc -t beamer -V handout -V theme:Warsaw -i $< -o $@
.PHONY: pdfs .PHONY: pdfs
pdfs: $(pdfs) ## Generate all pdfs (try `make -j pdfs`) pdfs: $(pdfs) ## Generate all pdfs (try `make -j pdfs`)
-40
View File
@@ -1,40 +0,0 @@
## init
```sh
go mod tidy
go mod init hello
```
## Build
```sh
go build .
go tool dist list ## list arch
```
## Types
int32,ing64,
int -> depends on arch
rune -> utf char
string -> array of runes
### Other
```sh
ldd ./hello
ls -lah
strip hello
```
[online compiler](https://godbolt.org)
### Notes
- standard lib is huge
- [beginer go](https://gobyexample.com/)
- [advanced go](https://go.dev/ref/spec)
-5
View File
@@ -1,5 +0,0 @@
module hello
go 1.24.3
require github.com/radovskyb/watcher v1.0.7 // indirect
BIN
View File
Binary file not shown.
-62
View File
@@ -1,62 +0,0 @@
package main
import (
"net/http"
)
type Point struct {
x int
y int
}
type Boja int
const (
plava = iota //asc
zuta
crvena
)
const (
plava = iota << 1
zuta // 010
crvena // 100
)
type Vektor2d struct {
x int
y int
}
type Vektor3d struct {
x ,y, z int
}
type(p Point) D
type Vektor interface {
Duzina() float32
}
func main() {
p:= Vektor2d[
x:1,
y:1
]
fmt.Println(p.)
// web server
http.HandleFunc("/", a )
http.ListenAndServe(":8080", nil)
}
func a(w http.ResponseWriter, r *http.Request){
w.Write([]byte("Hello Web"))
}
-45
View File
@@ -1,45 +0,0 @@
//go:build exclude
package main
import "fmt"
func main() {
var a int
var s string = "hello world " + "!!!"
var c = 5
a = a + 1
b := 1
b := []byte(a)
c := string(b)
_ = b
_ = c
fmt.Println("Hello Wordl", "qwe")
fmt.Println(s)
{
d = d
}
d := 5
f(d)
fmt.Println(a, "1")
// std lib
a : = []byte{1,2,3,4}
fmt.Println(hex.EncodeToString(a))
crypto.MD5.New()
}
func f(str *int) {
a=1
}
-20
View File
@@ -1,20 +0,0 @@
//go:build exclude
package main
import (
"net/http"
)
func main() {
// web server
http.HandleFunc("/", a )
http.ListenAndServe(":8080", nil)
}
func a(w http.ResponseWriter, r *http.Request){
w.Write([]byte("Hello Web"))
}
Binary file not shown.
-3
View File
@@ -1,3 +0,0 @@
module dmz
go 1.25.1
-100
View File
@@ -1,100 +0,0 @@
package main
import (
"encoding/json"
"html/template"
"fmt"
"net/http"
// "github.com/radovskyb/watcher"
)
func main(){
// w := watcher.New()
port := ":8080"
http.HandleFunc("/{$}", HtmlContentMiddleware(HomeHandler))
http.HandleFunc("/about", HtmlContentMiddleware(AboutHandler))
http.HandleFunc("GET /api", HtmlContentMiddleware(ApiHandler))
http.HandleFunc("POST /api", HtmlContentMiddleware(ApiHandler))
http.HandleFunc("/", NotFoundHandler)
fmt.Println("http://localhost"+port)
http.ListenAndServe(port, nil)
}
type handleFunc func(w http.ResponseWriter, r *http.Request)
func HtmlContentMiddleware(f handleFunc) handleFunc {
return func(w http.ResponseWriter, r *http.Request){
w.Header().Add("Content-Type", "text/html")
f(w,r)
}
}
func HomeHandler(w http.ResponseWriter, r *http.Request){
// data := struct{
// Name string
// }{
// Name: "Coja",
// }
temp := template.New("home")
temp.Parse(baseTemplate)
temp.Execute(w,messages)
// home := "<html><body><i>Hello world</i></body></html>"
// w.Header().Add("Content-Type", "text/html")
w.Write(temp)
}
func AboutHandler(w http.ResponseWriter, r *http.Request){
// w.Header().Add("Content-Type", "text/html")
w.Write([]byte("about"))
}
func NotFoundHandler(w http.ResponseWriter, r *http.Request){
// w.Header().Add("Content-Type", "text/html")
w.WriteHeader(http.StatusNotFound)
w.Write([]byte("404 Not Found"))
}
func ApiHandler(w http.ResponseWriter, r *http.Request){
w.Header().Add("Content-Type", "application/json")
w.WriteHeader(http.StatusNotFound)
// w.Write([]byte("[1,2,3]"))
var filteredMessages []Message
userParam := r.URL.Query().Get("user")
if userParam != ""{
for _ ,m:=range messages {
if userParam == m.User{
filteredMessages = append(filteredMessages, m)
}
}
} else{
filteredMessages = messages
}
json.NewEncoder(w).Encode(filteredMessages)
}
func NewMessageHandler(w http.ResponseWriter, r *http.Request){
var message Message
err := json.NewDecoder(r.Body).Decode(&message)
userParam := r.URL.Query().Get("user")
if err != nil{
w.WriteHeader(http.StatusBadRequest)
return
}
if userParam != ""{
w.WriteHeader(http.StatusBadRequest)
return
}
// messages.append(messages, message)
}
-25
View File
@@ -1,25 +0,0 @@
package main
type Message struct {
Content string
User string
}
var messages []Message = []Message {
{
Content: "hi",
User: "dmz",
},
{
Content: "hello",
User: "admin",
},
{
Content: "sup?",
User: "dmz",
},
{
Content: "s3nd nud3s",
User: "admin",
},
}
-20
View File
@@ -1,20 +0,0 @@
package main
var baseTemplate =`
<html>
<head>
<title>Home</title>
<style>
p {
background-color: #f4f4f4;
border-radius: 5px;
}
</syle>
</head>
<body>
{{range .}}
<p>{{.Content}} {{.Name}}</p>
{{end}}
</body>
</html>
`
-8
View File
@@ -1,8 +0,0 @@
.PHONY: build run
build:
presenterm privacy-presenterm.md -e
run:
presenterm privacy-presenterm.md
-2
View File
@@ -1,2 +0,0 @@
Next sunday, on [date], we will have a lecture about Digital privacy and security in Serbia, hosted by local activists from Decentrala, a hackerspace with expertise in such local issues. This will be a great opportunity for anyone who moved to Serbia to learn about the local survailance, laws and ways to defend yourselves. This talk can be exceptionally usefull to any activists or anyone worried about their digital security.
Lecture will start at [time] and later we will have a Q&A session to address all of your concerns.
-5
View File
@@ -1,5 +0,0 @@
Title: Digital privacy and security in Serbia
Lecturers: fram3d and coja form Decentrala
Descrition: We will analyze the current state of digital privacy in Serbia and the relationship between the government and private sector in the survaliance industry. This talk will go over best tools and practices for personal and collective information security as of 2026 to get the audiance prepared as possible for the constantly growing treat in this area from both government and private actors.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 KiB

-172
View File
@@ -1,172 +0,0 @@
---
title: Digital Privacy
author: Decentrala
theme:
terminal_font_size: 28
margin:
percent: 8
override:
footer:
style: template
center: '**Digital Privacy** | decentrala.org'
right: "{current_slide} / {total_slides}"
height: 1
---
<!-- alignment: center -->
# 1. Introduction
- dmz.rs
- xecut
- talks and workshops
- services (forum, xmpp)
- direct democracy
<!-- end_slide -->
<!-- alignment: center -->
# 2. Police
- SIM cards need ID now
- VTK
- Relationship with social media companies
- Hard to enforce without your cooperation
![image:width:35%](img/welltrained.png)
<!-- end_slide -->
<!-- alignment: center -->
# 3. Survaliance infrastruture
- Cameras (Goverment, public transport, private)
- Mobile Towers
- Spy vans
- Facial recognition
- Data collection
- Data trading
![image:width:20%](img/camera.jpg)
<!-- end_slide -->
<!-- alignment: center -->
# 4. Comunication Apps
- Viber, Whatsup
- Telegram, Signal
All need phone numbers!
- XMPP (Conversations, Gajim,..)
- Matrix, Briar, Jami,..
<!-- end_slide -->
<!-- alignment: center -->
# 5. Digital safeguard
![image:width:50%](img/digital-clone.jpg)
- Privacy vs. Anonymity
- Digital fingerprinting
- Profiling
- Digital clone
<!-- end_slide -->
<!-- alignment: center -->
## 5.1. PC
- MacOS
- Windows
- Linux (Mint, CachyOS, Debian)
![image:width:25%](img/linux-family.png)
<!-- end_slide -->
<!-- alignment: center -->
## 5.2. Sugested practices
- Block adds
- uOriginBlock
- Network block (piHole, Adguard,..)
- Privacy browsers
- Firefox forks like Librewolf
- Ungoogled chromium
- Tor
- Alternative search engine
- DuckDuckGo
- SearXNG
- many more
- Avoid [big tech] companies
- Fediverse alternatives
- Alternative clients
- Avoid auth
- Beware of LLMs
- Self-hosting
<!-- end_slide -->
<!-- alignment: center -->
## 5.3. Mobile
- iOS
- Android
- CustomROM
- Linux
<!-- end_slide -->
<!-- alignment: center -->
## 5.4. Degoogling
![image:width:12%](img/degoogle.jpg)
- Hunt for free and open source alternatives
- Aurora store
- Obtanium
- F-Droid
- Reviewed and flagged with antifeatures
- EU is opting out
<!-- end_slide -->
<!-- alignment: center -->
## 5.5. CustomROM
- Google blocking the sideloading
![image:width:25%](img/sideload.jpeg)
- AOSP
- Unlock the bootloader
- LinageOS and forks
- GrapheneOS (soon Motorola)
- A lot more, depends on model
- Linux phone (PostmakertOS, Droidian,...)
<!-- end_slide -->
<!-- alignment: center -->
# 6. Networks
- Speed vs Privacy
- Logging all conetections: (ISPs, Servers)
- Law will not let you be anonymous
- Connection to the Internet
<!-- end_slide -->
<!-- alignment: center -->
# 6.1. Server vs P2P
![image:width:100%](img/p2p.png)
<!-- end_slide -->
<!-- alignment: center -->
# 6.2 Torrent
![image:width:100%](img/piratebay.jpg)
<!-- end_slide -->
<!-- alignment: center -->
# 6.3 ISP and VPNs
![image:width:90%](img/vpn.png)
<!-- end_slide -->
<!-- alignment: center -->
# 6.4 Tor and I2P
![image:width:40%](img/tor.png)
![image:width:40%](img/i2p.png)
-47
View File
@@ -1,47 +0,0 @@
# DIGITAL PRIVACY
![Image](slides/privacy/1.jpeg)
# Introduction
- dmz.rs
- xecut
- talks and workshops
- direct democracy
# Police
- SIM cards need ID now
- VTK
- Relationship with social media companies
- Hard to enforce without your cooperation
# Survaliance infrastruture
- Cameras (Goverment, public transport, private)
- Mobile Towers
- Spy vans
# Apps
- Viber, Whatsup
- Telegram, Signal
- All need phone numbers!
- Conversations
# Systems
- Andorid
- IOS
- Windows
- MacOS
- Linux
# Networks
- Server vs P2P
- Torrent
- ISP and VPNs
- Tor and I2P