๐ง Arti: ํ ๋ฅด์ ๋ฌ์คํธ ์ฌ์์ฑ, ์ฌ์ ํ ๊ธฐ๋๋ฅผ ๋ชจ์ผ๋ ์ด์ ์ ์์ผ๋ก์ ๊ณผ์
์ถ์ฒ: Dev.to
์๊ฐ
ํ๋ผ์ด๋ฒ์ ๋ถ์ผ์ ์ค๋ ๋ชธ๋ด์ ์๋ค๋ฉด, ๋ ๊ฑฐ์ C Tor ํด๋ผ์ด์ธํธ๋ฅผ ํตํฉํ๊ณ ์ ์ง๋ณด์ํ๋ ๊ณ ํต์ ํ ๋ฒ์ฏค์ ๊ฒช์์ ๊ฒ์ ๋๋ค. ์ฝ๋๋ฒ ์ด์ค ์์ฒด๊ฐ ๊ฑฐ๋ํ ํฑํฌ์๋ ๊ฐ๊ณ , ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ผ์ ๋ฃ๋ ์ผ์ ๋ง์น ๊ณฐ๊ณผ ์จ๋ฆํ๋ ๋๋์ด์ฃ .
Tor Project๊ฐ ArtiโTor๋ฅผ ์ฒ์๋ถํฐ Rust๋ก ๋ค์ ๋ง๋ ํ๋ก์ ํธโ๋ฅผ ๋ฐํํ์ ๋, ์ปค๋ฎค๋ํฐ๋ ๊ธฐ๋์ ๋์์ ์กฐ์ฌ์ค๋ฌ์ ์ต๋๋ค. ๋ฐฉ๋ํ ๋ณด์โ์ค์ ๋คํธ์ํฌ ๋ฐ๋ชฌ์ ๋ค์ ์ฐ๋ ์ผ์ ๊ฒฐ์ฝ ๊ฐ๋ฒผ์ด ์์ ์ด ์๋๋๊น์.
์ด์ 2026๋ ์ด ๋ ํ์ฌ, Arti๋ ๊ธฐ๋ณธ ํด๋ผ์ด์ธํธ ๋๋ฑ์ฑ์ ๋์ด ์ ์ฒด ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ํ๊ณ ๋์ฒด์ ๋ก ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์์ต๋๋ค. ์๋์์๋ Arti๊ฐ ๋น๋๋ ๋ถ๋ถ, ์์ง ๋จ์ ์๋ ๊ณผ์ , ๊ทธ๋ฆฌ๊ณ ์ค๋ ๋ฐ๋ก ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ต์ ์ํฉ์ ๋ง์ถฐ ์ ๋ฆฌํ์ต๋๋ค.
์ ๋ฌ์คํธ๋ก ์ฌ์์ฑํ๋๊ฐ?
- ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ: ๊ธฐ์กด Tor ๋ฐ๋ชฌ์ ์์ญ๋ง ์ค์ ๋ฌํ๋ C ์ฝ๋๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๊ด๋ฒ์ํ๊ฒ ๊ฐ์ฌ๋ฅผ ๋ฐ์์ง๋ง, ๋จ ํ๋์ useโafterโfree ์ทจ์ฝ์ ๋ง์ผ๋ก๋ ์ฌ์ฉ์ ์ต๋ช ์ฑ์ ์น๋ช ์ ์ธ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ๋ฌ์คํธ์ ์์ ๊ถ ๋ชจ๋ธ์ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ๋ฒ๊ทธ๋ฅผ ์ปดํ์ผ ๋จ๊ณ์์ ์์ ํ ์ฐจ๋จํฉ๋๋ค.
- ์ญ์ฌ์ ๋ฒ๊ทธ: ๋ ๊ฑฐ์ C ํด๋ผ์ด์ธํธ๋ ์๋ ๋์ ์๋ง์ ์ทจ์ฝ์ ์ ํจ์นํด ์์ต๋๋ค. ๋ฌ์คํธ ์ปดํ์ผ๋ฌ๋ผ๋ฉด ์ด๋ฐ ๋ฒ๊ทธ๋ค์ ์ฆ์ ์ก์๋์ ๊ฒ์ ๋๋ค.
- ๋ชจ๋์ฑ: ๊ธฐ์กด Tor๋ ๊ฑฐ๋ํ ๋จ์ผ์ฒด(monolith)์ ๋๋ค. Tor ๋๋ ํฐ๋ฆฌ๋ฅผ ํ์ฑํ๊ฑฐ๋ ํ์ ์ ๊ด๋ฆฌํ๋ ค๋ฉด ์ ์ฒด ๋ฐ๋ชฌ์ ํ๋ก์ ํธ์ ๋์ด์์ผ ํ์ต๋๋ค.
Arti์ ์ํคํ ์ฒ
Arti๋ ๋ชฉ์ ์ ๋ง๊ฒ ๋๋ ํฌ๋ ์ดํธ๋ค๋ก ๊ตฌ์ฑ๋ผ ์์ด, ํ์ํ ๊ตฌ์ฑ ์์๋ง ์ ํ์ ์ผ๋ก ์๋ฒ ๋ํ๊ธฐ ์ฝ์ต๋๋ค:
tor-protoโ ํต์ฌ ํ๋กํ ์ฝ ๊ตฌํtor-netdirโ ๋คํธ์ํฌ ๋๋ ํฐ๋ฆฌ ์ปจ์ผ์์ค ์ฒ๋ฆฌtor-circmgrโ ํ์ ๊ด๋ฆฌarti-clientโ ์์ฝ๊ฒ ์๋ฒ ๋ํ ์ ์๋ ๊ณ ์์ค API
Rust ์ ํ๋ฆฌ์ผ์ด์ ์ Arti ์๋ฒ ๋ฉํ๊ธฐ
arti-client๋ฅผ Rust CLI ๋๊ตฌ์ ์๋ฒ ๋ํ๋ ๋ฐ๋ ๋ช ๋ถ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. ์๋ ์์๋ Tor ํด๋ผ์ด์ธํธ๋ฅผ ๋ถํ
ํ๊ณ ์ฐ๊ฒฐ์ ํ์ธํ๋ ์ต์ ์ค์ ์ ๋ณด์ฌ์ค๋๋ค:
use arti_client::{TorClient, TorClientConfig};
use tor_rtcompat::PreferredRuntime;
#[tokio::main]
async fn main() -> Result> {
let config = TorClientConfig::default();
let tor_client = TorClient::create_bootstrapped(config).await?;
// Boom. You're ready to route traffic over Tor.
println!("Successfully connected to the Tor network!");
Ok(())
}
์ด ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด Tor ํ์ ์ด ๋ถํธ์คํธ๋ฉ๋๊ณ , ์ฐ๊ฒฐ์ด ์ฑ๋ฆฝ๋๋ฉด ํ์ธ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ถํฐ tor_client๋ฅผ ์ด์ฉํด HTTP ์์ฒญ, DNS ์กฐํ, ํน์ Tor ์์์ ์ํํ ์ ์๋ ๋ชจ๋ ๋คํธ์ํฌ ์์
์ ์์ ๋กญ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.